AgentBIT
← all tools

Web Extract

Extract clean structured content (title, text, markdown, headings, links, metadata) from any public URL.

$0.005
USDC per call · x402
Endpoint
POST /v1/web/extract
MCP name
agentbit.web_extract
Status
active
Latency / uptime (7d)
147 ms · 100%

Call with x402

1. Send the request. 2. Receive 402 with accepts[]. 3. Sign the payment and retry with the X-PAYMENT header.

curl -X POST https://agentbit.app/v1/web/extract \
  -H 'Content-Type: application/json' \
  -d '{"url":"https://example.com","include_links":true}'

Input schema

{
    "type": "object",
    "properties": {
        "url": {
            "type": "string"
        },
        "output_format": {
            "type": "string"
        },
        "render_fallback": {
            "type": "boolean"
        },
        "include_links": {
            "type": "boolean"
        }
    },
    "required": [
        "url"
    ]
}

Output schema

{
    "type": "object",
    "properties": {
        "title": {
            "type": "string"
        },
        "description": {
            "type": "string"
        },
        "markdown": {
            "type": "string"
        },
        "text": {
            "type": "string"
        },
        "headings": {
            "type": "array",
            "items": {
                "type": "object",
                "properties": [],
                "required": []
            }
        },
        "links": {
            "type": "array",
            "items": {
                "type": "object",
                "properties": [],
                "required": []
            }
        },
        "metadata": {
            "type": "object",
            "properties": [],
            "required": []
        }
    },
    "required": []
}

Code examples

// JavaScript (x402-fetch)
import { wrapFetchWithPayment } from "x402-fetch";
const fetchWithPay = wrapFetchWithPayment(fetch, wallet);
const r = await fetchWithPay("https://agentbit.app/v1/web/extract", {
  method: "POST",
  headers: {"Content-Type": "application/json"},
  body: JSON.stringify({"url":"https://example.com","include_links":true})
});
console.log(await r.json());
# Python (x402 client)
from x402.clients.requests import x402_requests
s = x402_requests(account)
r = s.post("https://agentbit.app/v1/web/extract",
  json={"url":"https://example.com","include_links":true})
print(r.json())
// PHP
$r = Http::withHeaders(['X-PAYMENT' => $signedPayment])
  ->post('https://agentbit.app/v1/web/extract',
    array (
  'url' => 'https://example.com',
  'include_links' => true,
));
$data = $r->json();