Auto-detect a page type and extract it by URL
diffbot.x.extract-analyzeAutomatically identifies the type of page being processed and routes it through the relevant Diffbot API
- Price
- $0.001196/callAt provider cost
- Success rate
- 99.9%Last 30 days · 7,365 calls
- Latency p50
- 2.6 sp95 24 s
- Last verified
- Jul 28, 2026Verified working
GEThttps://toolswitch.dev/v1/tools/diffbot.x.extract-analyze?url=https%3A%2F%2Fwww.diffbot.com%2Fproducts%2Fextract%2FPreview- Uses platform quota
- Synchronous response
- Reads public data
Parameters
different HOST than base_url — api.diffbot.com, not kg.diffbot.com
| Parameter | Type | Required | Description | Example |
|---|---|---|---|---|
| Query parameters | ||||
url | string | Required | target URL to extract, URL-encoded | https://www.technologyreview.com/2020/09/04/1008156/knowledge-graph-ai-reads-web-machine-learning-natural-language-processing/ |
mode | string | Optional | restrict extraction to one page type: article, product, discussion, image, video, list, event | |
proxy | string | Optional | custom proxy IP for fetching the target page | |
fields | string | Optional | comma-delimited optional fields: links, extlinks, meta, querystring, breadcrumb | |
scroll | string | Optional | 'slow' or 'fast' — triggers lazy-loaded content | |
timeout | integer | Optional | ms to wait for content retrieval | 30000 |
callback | string | Optional | JSONP callback for cross-domain AJAX | |
fallback | string | Optional | which API to fall back to if page type cannot be determined | |
useProxy | string | Optional | 'default' routes through Diffbot's datacenter proxy (2 credits/page instead of 1); 'none' disables proxies | |
proxyAuth | string | Optional | username:password for the custom proxy | |
discussion | boolean | Optional | pass false to disable automatic comment/review extraction | true |
renderDelay | integer | Optional | extra rendering ms before DOM extraction, max 180000 | |
- Query parameters
urlstringRequiredtarget URL to extract, URL-encoded
Example:
https://www.technologyreview.com/2020/09/04/1008156/knowledge-graph-ai-reads-web-machine-learning-natural-language-processing/modestringOptionalrestrict extraction to one page type: article, product, discussion, image, video, list, event
proxystringOptionalcustom proxy IP for fetching the target page
fieldsstringOptionalcomma-delimited optional fields: links, extlinks, meta, querystring, breadcrumb
scrollstringOptional'slow' or 'fast' — triggers lazy-loaded content
timeoutintegerOptionalms to wait for content retrieval
Example:
30000callbackstringOptionalJSONP callback for cross-domain AJAX
fallbackstringOptionalwhich API to fall back to if page type cannot be determined
useProxystringOptional'default' routes through Diffbot's datacenter proxy (2 credits/page instead of 1); 'none' disables proxies
proxyAuthstringOptionalusername:password for the custom proxy
discussionbooleanOptionalpass false to disable automatic comment/review extraction
Example:
truerenderDelayintegerOptionalextra rendering ms before DOM extraction, max 180000
Code samples
Replace $TOOLSWITCH_KEY with the key you created in the console.
curl -X GET 'https://toolswitch.dev/v1/tools/diffbot.x.extract-analyze?url=https%3A%2F%2Fwww.diffbot.com%2Fproducts%2Fextract%2F' \
-H "X-Toolswitch-Key: $TOOLSWITCH_KEY"import os
import requests
response = requests.request(
"GET",
"https://toolswitch.dev/v1/tools/diffbot.x.extract-analyze?url=https%3A%2F%2Fwww.diffbot.com%2Fproducts%2Fextract%2F",
headers={"X-Toolswitch-Key": os.environ["TOOLSWITCH_KEY"]},
)
response.raise_for_status()
print(response.text)const response = await fetch("https://toolswitch.dev/v1/tools/diffbot.x.extract-analyze?url=https%3A%2F%2Fwww.diffbot.com%2Fproducts%2Fextract%2F", {
method: "GET",
headers: {
"X-Toolswitch-Key": process.env.TOOLSWITCH_KEY ?? "",
},
});
if (!response.ok) throw new Error(`Request failed: ${response.status}`);
console.log(await response.text());This gateway API is in preview; its URL and authentication may change. The example parameters are sample data. Calls are billed at $0.001196/call, including the service fee.