Web Fetch
The web fetch tool allows models to retrieve full content from specified web pages and PDF documents. This enables AI models to access real-time information from the internet and incorporate web content into their responses.
Web Fetch vs Web Search
Web Fetch retrieves the full content from specific web pages that you provide URLs for, while Web Search performs internet searches to find relevant information based on your queries.
| Feature | Web Fetch | Web Search |
|---|---|---|
| Purpose | Retrieve content from specific URLs | Search the internet for information |
| Input | You provide exact URLs to fetch | You provide search queries/questions |
| Output | Full page content from specified URLs | Search results with relevant information |
| Use Cases | - Analyzing specific articles - Comparing content from known websites - Extracting data from particular pages | - Finding current news/events - Researching topics - Getting real-time information |
Example Web Fetch: "Fetch the content from https://example.com/pricing and summarize it" Example Web Search: "What are the latest AI developments this week?"
Supported Providers:
- Anthropic API (
anthropic/)
Supported Tool Types:
web_fetch_20250910- Web content retrieval tool with usage limits, domain filtering, and citation support
Quick Start
Python
from openai import OpenAI
client = OpenAI(
api_key="YOUR_API_KEY",
base_url="https://api.haimaker.ai/v1"
)
# Web fetch tool
tools = [
{
"type": "web_fetch_20250910",
"name": "web_fetch",
"max_uses": 5,
}
]
response = client.chat.completions.create(
model="anthropic/claude-3-5-sonnet-latest",
messages=[
{
"role": "user",
"content": "Please analyze the content at https://example.com/article and summarize the main points"
}
],
tools=tools
)
print(response.choices[0].message.content)
cURL
curl https://api.haimaker.ai/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_KEY" \
-d '{
"model": "anthropic/claude-3-5-sonnet-latest",
"messages": [
{
"role": "user",
"content": "Please fetch and analyze the content from https://news.ycombinator.com and tell me about the top stories"
}
],
"tools": [
{
"type": "web_fetch_20250910",
"name": "web_fetch",
"max_uses": 5
}
]
}'
Supported Models
Web fetch is available on the following Anthropic API models:
claude-opus-4-1-20250805(Claude Opus 4.1)claude-opus-4-20250514(Claude Opus 4)claude-sonnet-4-20250514(Claude Sonnet 4)claude-3-7-sonnet-20250219(Claude Sonnet 3.7)claude-3-5-sonnet-latest(Claude Sonnet 3.5 v2 - deprecated)claude-3-5-haiku-latest(Claude Haiku 3.5)
The web fetch tool currently does not support websites dynamically rendered via JavaScript.
Usage Examples
Basic Web Content Retrieval
from openai import OpenAI
client = OpenAI(
api_key="YOUR_API_KEY",
base_url="https://api.haimaker.ai/v1"
)
tools = [
{
"type": "web_fetch_20250910",
"name": "web_fetch",
"max_uses": 3,
}
]
response = client.chat.completions.create(
model="anthropic/claude-3-5-sonnet-latest",
messages=[
{
"role": "user",
"content": "Fetch the latest news from https://techcrunch.com and summarize the top 3 articles"
}
],
tools=tools
)
print(response.choices[0].message.content)
Content Comparison
from openai import OpenAI
client = OpenAI(
api_key="YOUR_API_KEY",
base_url="https://api.haimaker.ai/v1"
)
tools = [
{
"type": "web_fetch_20250910",
"name": "web_fetch",
"max_uses": 5,
}
]
response = client.chat.completions.create(
model="anthropic/claude-3-5-sonnet-latest",
messages=[
{
"role": "user",
"content": "Compare the pricing information from https://openai.com/pricing and https://anthropic.com/pricing and create a comparison table"
}
],
tools=tools
)
print(response.choices[0].message.content)
Spec
Web Fetch Tool (web_fetch_20250910)
The web fetch tool supports the following parameters:
{
"type": "web_fetch_20250910",
"name": "web_fetch",
// Optional: Limit the number of fetches per request
"max_uses": 10,
// Optional: Only fetch from these domains
"allowed_domains": ["example.com", "docs.example.com"],
// Optional: Never fetch from these domains
"blocked_domains": ["private.example.com"],
// Optional: Enable citations for fetched content
"citations": {
"enabled": true
},
// Optional: Maximum content length in tokens
"max_content_tokens": 100000
}