Extract LLM-ready markdown from any URL.
$0.001 USDC per request
No account. No API key. No subscription.
// Self-custodied Base wallet; x402 pays and retries automatically import { x402Client } from "@x402/core/client"; import { registerExactEvmScheme } from "@x402/evm/exact/client"; import { wrapFetchWithPayment } from "@x402/fetch"; import { privateKeyToAccount } from "viem/accounts"; const client = new x402Client(); registerExactEvmScheme(client, { signer: privateKeyToAccount(process.env.EVM_PRIVATE_KEY) }); const paidFetch = wrapFetchWithPayment(globalThis.fetch, client); const res = await paidFetch( "https://extract.dkta.dev/v1/extract?url=https://example.com&format=markdown", { headers: { "X-Request-ID": globalThis.crypto.randomUUID() } } ); const { content, title, word_count } = await res.json();
# Verify service health and inspect the payment challenge for free curl "https://extract.dkta.dev/health" curl -i "https://extract.dkta.dev/v1/extract?url=https://example.com" # A compatible x402 v2 client generates the signed payment value curl "https://extract.dkta.dev/v1/extract?url=https://example.com" \ -H "X-Request-ID: <same-uuid>" \ -H "PAYMENT-SIGNATURE: <signed-payment>"
import os from eth_account import Account from x402 import x402ClientSync from x402.http.clients import x402_requests from x402.mechanisms.evm import EthAccountSigner from x402.mechanisms.evm.exact.register import register_exact_evm_client client = x402ClientSync() register_exact_evm_client( client, EthAccountSigner(Account.from_key(os.environ["EVM_PRIVATE_KEY"])) ) with x402_requests(client) as session: res = session.get( "https://extract.dkta.dev/v1/extract", params={"url": "https://example.com"}, ) print(res.json()["content"])
How it works
x402 is an open HTTP payment standard. Your agent pays per request — no billing portal, no invoices, no credit card forms.
Call GET /v1/extract?url=... with your x402-enabled client. The server responds with 402 Payment Required and payment details.
Your x402 client signs a $0.001 USDC payment on Base and retries the request with the payment proof attached. Happens automatically in milliseconds.
The API returns clean, LLM-ready content stripped of nav, ads, and boilerplate. Single-request 4xx/5xx failures are not settled. A batch settles on its 200 response, including any per-URL errors returned inline.
Response
Clean structured JSON. The content field is ready to drop directly into your context window.
GET /v1/extract ?url=https://en.wikipedia.org/wiki/Markdown &format=markdown PAYMENT-SIGNATURE: <x402-proof> Host: extract.dkta.dev
{
"title": "Markdown - Wikipedia",
"byline": null,
"url": "https://en.wikipedia.org/wiki/Markdown",
"content": "# Markdown\n\nMarkdown is a lightweight markup language...",
"length": 4821,
"word_count": 800,
"extraction_method": "crawl4ai",
"lang": "en"
}
Pricing
Pay per request with x402, or buy an optional $10 prepaid API key by card. No account or subscription.
per single request · $0.005 per batch of 1–5 URLs · $1.00 = 1,000 single requests
Agent discovery
Standard discovery endpoints so your LLM, agent framework, or tool orchestrator can find and use this API without human configuration.