Web scraper to Markdown
Web scraper to Markdown: fetches a URL and returns its main article content as clean Markdown
Answeringour last check, 2026-10-10
1 of 1checks answered this week
905 msmedian answer time
$0.004listed price per call
$0.004price 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://api.17711.xyz/registry/web-scraper/v1/web-scraper/extract_markdown
| Category | Company and compliance |
|---|---|
| Provider host | api.17711.xyz |
| Networks | eip155:8453 |
| Payment schemes | exact |
| Self-reported calls, 30 days | 9 from 1 payers (the provider's figure, not ours) |
Our checks, last 30 days
| Day | Result | HTTP | Asked | Time |
|---|---|---|---|---|
| 2026-10-10 | valid payment request | 402 | $0.004 | 905 ms |
Example input (from the provider)
{
"body": {
"url": "string"
},
"bodyType": "json",
"method": "POST",
"type": "http"
}
Promised output schema (from the provider)
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"input": {
"properties": {
"body": {
"properties": {
"url": {
"description": "The target URL to fetch, e.g. `\"https://example.com/article\"`. Must be `http://` or\n`https://` -- same validation as `web_scraper_scrape_url`, since this tool fetches\nthrough the exact same internal scraper.",
"type": "string"
}
},
"required": [
"url"
],
"title": "ExtractMarkdownRequest",
"type": "object"
},
"bodyType": {
"const": "json"
},
"method": {
"const": "POST"
},
"type": {
"const": "http"
}
},
"required": [
"type",
"method",
"bodyType",
"body"
],
"type": "object"
},
"output": {
"properties": {
"example": {
"properties": {
"content_type": {
"type": [
"string",
"null"
]
},
"final_url": {
"description": "The URL actually reached, after any redirects the target sent.",
"type": "string"
},
"markdown": {
"description": "Boilerplate-stripped main article content, as Markdown -- navigation, ads, and sidebars\nremoved, not the raw page HTML.",
"type": "string"
},
"status": {
"description": "The REAL HTTP status the underlying fetch received.",
"format": "uint16",
"maximum": 65535,
"minimum": 0,
"type": "integer"
},
"title": {
"description": "Article title, if Readability found one.",
"type": [
"string",
"null"
]
},
"truncated": {
"description": "`true` if the underlying fetch's HTML was truncated by web-scraper's own fixed byte\nceiling (see `web_scraper_scrape_url`'s own `truncated` field) -- `markdown` may then\nalso be incomplete.",
"type": "boolean"
},
"url": {
"description": "The URL as requested, verbatim.",
"type": "string"
}
},
"required": [
"url",
"final_url",
"status",
"markdown",
"truncated"
],
"title": "ExtractMarkdownResponse",
"type": "object"
},
"type": {
"const": "json"
}
},
"required": [
"type"
],
"type": "object"
}
},
"required": [
"input"
],
"type": "object"
}