Endpoint
X-API-Key header. See Authentication.
Request
Parameters
URLs to fetch and extract. Maximum 10 URLs per request.All URLs must use
http or https. Private IP addresses, localhost, and cloud metadata endpoints are rejected.Output format for the
text field in each result. One of:html— semantic HTMLmarkdown— clean Markdown, recommended for LLMs (default)json— structured document tree
Route the request through a proxy in a specific country. Useful for geo-restricted content.See Proxies for supported country codes.
When
true, include all <a href> URLs found on the page in the links field.When
true, include all <img src> URLs found on the page in the image_links field.Response
results[]
One entry per successfully fetched URL.
The original requested URL.
The URL after any redirects. May differ from
url.Page title from
<title> or og:title meta tag. null if not found.Meta description from
<meta name="description"> or og:description. null if not found.Detected page language (e.g.
"en"). null if undetectable.Author from meta tags.
null if not found.Publication date, if detectable.
null if not found.Extracted page content. Format depends on the
format request parameter:stringwhenformatis"html"or"markdown"object(document tree) whenformatis"json"
All
<a href> URLs on the page, resolved to absolute URLs. Only present when links: true was requested.All
<img src> URLs on the page, resolved to absolute URLs. Only present when image_links: true was requested.Fields that could not be extracted (
title, description, language, author, published_date) are omitted from the response when null rather than returned explicitly as null.errors[]
One entry per URL that could not be fetched. Always present, may be empty. Per-URL failures do not affect the rest of the batch.
The URL that failed.
Description of the failure (e.g.
"fetch timeout", "Invalid or disallowed URL").Error Codes
HTTP-level errors apply to the entire request.| Status | Meaning |
|---|---|
400 | Invalid request — missing urls, too many URLs (max 10), or bad parameter value |
401 | Missing or invalid API key |
429 | Rate limit exceeded |
500 | Internal server error |
errors[] alongside a 200 response. Common failure scenarios:
| Scenario | Example error value |
|---|---|
| Page timed out | "fetch timeout" |
| Anti-bot protection triggered | "bot protection detected" |
| No extractable content | "no extractable content" |
| Disallowed or invalid URL | "Invalid or disallowed URL" |
| Proxy tunnel failed | "proxy tunnel failed" |
Per-URL fetch failures are not HTTP errors. They appear as entries in
errors[] alongside a 200 response.Rate Limits
Limits apply per API key, measured in URLs per minute across all requests.| Plan | URLs / minute |
|---|---|
| Free Trial | 25 |
| Pay As You Go | 50 |
| Starter | 100 |
| Pro | 250 |
HTTP 429. Implement exponential backoff before retrying.
Billing
1 credit = 15 URL fetches. Failed URLs (those that appear inerrors[]) are not charged.
Related
Fetch Overview
First request, response shape, and product routing
Authentication
API key setup and troubleshooting
Proxies
Supported country codes and proxy configuration
Error Codes
Full list of API error codes