Web to Markdown API
Web to Markdown API: reads one public web page from the Cloudflare edge (static HTML, robots.txt respected, no JavaScript rendering) and returns clean markdown or plain text of the main content (nav and footer dropped; scope: page keeps all) with title, description, language and links. $0.005 USDC per page; you pay only when the page text is returned - refusals cost nothing. POST JSON {url, format?, links?, scope?}; free example at https://api.aiskills402.com/v1/run/web-to-markdown/example
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.aiskills402.com/v1/run/web-to-markdown
| Category | Code and developer |
|---|---|
| Provider host | api.aiskills402.com |
| Networks | eip155:8453 |
| Payment schemes | exact |
| Self-reported calls, 30 days | 3 from 2 payers (the provider's figure, not ours) |
Our checks, last 30 days
| Day | Result | HTTP | Asked | Time |
|---|---|---|---|---|
| 2026-10-18 | valid payment request | 402 | $0.005 | 41 ms |
Example input (from the provider)
{
"body": {
"format": "markdown",
"links": true,
"scope": "main",
"url": "https://www.iana.org/help/example-domains"
},
"bodyType": "json",
"headers": {
"content-type": "application/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": {
"additionalProperties": false,
"properties": {
"format": {
"default": "markdown",
"description": "markdown keeps headings, lists, links, tables and code; text drops the markup signs.",
"enum": [
"markdown",
"text"
],
"type": "string"
},
"links": {
"default": true,
"description": "true returns the page links (up to 300) and keeps links in the markdown; false returns plain text without links.",
"type": "boolean"
},
"scope": {
"default": "main",
"description": "main returns only the main content of the page (its <main> element, or its single <article>) when it has text, otherwise the whole page; page returns everything, navigation and footer included.",
"enum": [
"main",
"page"
],
"type": "string"
},
"url": {
"description": "Public https address of the page to read (port 443, a DNS name; no IP addresses, no *.workers.dev).",
"maxLength": 2048,
"minLength": 1,
"type": "string"
}
},
"required": [
"url"
],
"type": "object"
},
"bodyType": {
"enum": [
"json"
],
"type": "string"
},
"headers": {
"additionalProperties": {
"type": "string"
},
"type": "object"
},
"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"
}