Capture a URL and return its structured content (title, headings, text, links, i
Capture a URL and return its structured content (title, headings, text, links, images) as JSON
Answeringour last check, 2026-09-24
1 of 1checks answered this week
633 msmedian answer time
$0.01listed price per call
$0.01price it asked us
Paid test badge: not yet. The checks above are free: we call the tool without paying and read the payment request it sends back. The Verified badge needs paid calls whose answers match the promised output, and nobody can buy a badge.
Endpoint
POST https://nickname-trident-driveway.ngrok-free.dev/v1/x402/extract
| Category | Image and media |
|---|---|
| Provider host | nickname-trident-driveway.ngrok-free.dev |
| Networks | eip155:8453 |
| Payment schemes | exact |
| Self-reported calls, 30 days | 2 from 2 payers (the provider's figure, not ours) |
Our checks, last 30 days
| Day | Result | HTTP | Asked | Time |
|---|---|---|---|---|
| 2026-09-24 | valid payment request | 402 | $0.01 | 633 ms |
Example input (from the provider)
{
"body": {
"url": "https://example.com"
},
"bodyType": "json",
"method": "POST",
"type": "http"
}
Promised output schema (from the provider)
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"input": {
"additionalProperties": false,
"properties": {
"body": {
"properties": {
"options": {
"additionalProperties": false,
"description": "Capture options forwarded to the capture pipeline (proxy/waitFor/actions/viewport)",
"properties": {
"actions": {
"description": "Post-load actions: click/type/wait objects (1 to 5)",
"items": {
"properties": {
"selector": {
"description": "CSS selector (click/type)",
"type": "string"
},
"text": {
"description": "Text to type (type only)",
"type": "string"
},
"timeoutMs": {
"description": "Wait duration in milliseconds (wait only, capped at 10000)",
"type": "integer"
},
"type": {
"description": "Action kind",
"enum": [
"click",
"type",
"wait"
],
"type": "string"
}
},
"type": "object"
},
"maxItems": 5,
"minItems": 1,
"type": "array"
},
"deviceScaleFactor": {
"description": "Device pixel ratio (clamped to at most 3)",
"type": "number"
},
"fullPage": {
"description": "Capture the full scrollable page",
"type": "boolean"
},
"isMobile": {
"description": "Render with a mobile viewport",
"type": "boolean"
},
"proxy": {
"description": "Proxy: \"auto\", \"stealth\", or an http(s) proxy URL string",
"type": "string"
},
"timeoutMs": {
"description": "Page load timeout in milliseconds",
"type": "integer"
},
"userAgent": {
"description": "Custom user agent string",
"type": "string"
},
"viewport": {
"description": "Capture viewport in CSS pixels (clamped to 320-3840 wide, 320-2160 tall)",
"properties": {
"height": {
"description": "Viewport height in CSS pixels",
"type": "integer"
},
"width": {
"description": "Viewport width in CSS pixels",
"type": "integer"
}
},
"type": "object"
},
"waitFor": {
"description": "Wait for a selector before capture (timeoutMs capped at 10000)",
"properties": {
"selector": {
"description": "CSS selector to wait for",
"type": "string"
},
"timeoutMs": {
"description": "Wait timeout in milliseconds (capped at 10000)",
"type": "integer"
}
},
"type": "object"
}
},
"type": "object"
},
"schema": {
"description": "Optional natural-language description of the JSON to extract via a model",
"type": "string"
},
"url": {
"description": "A single page to extract",
"type": "string"
},
"urls": {
"description": "Batch of pages for one payment (at most 50)",
"items": {
"type": "string"
},
"maxItems": 50,
"type": "array"
}
},
"type": "object"
},
"bodyType": {
"enum": [
"json",
"form-data",
"text"
],
"type": "string"
},
"method": {
"enum": [
"POST"
],
"type": "string"
},
"type": {
"const": "http",
"type": "string"
}
},
"required": [
"type",
"method",
"bodyType",
"body"
],
"type": "object"
},
"output": {
"properties": {
"example": {
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"type"
],
"type": "object"
}
},
"required": [
"input"
],
"type": "object"
}