page2md

Turn any webpage into clean Markdown with one GET request. Built for LLM pipelines, agents and scrapers: strips scripts, ads and boilerplate; keeps headings, links, code and tables. No sign-up, no JS, plain JSON.

GET http://176.124.255.233:8077/v1/convert?url=example.com
→ {"url":"https://example.com","credits_left":null,"markdown":"# Example Domain\n..."}

Pricing

Free: 10 requests/day per IP, no key. Paid: 1 USDC = 1,000 requests (≈ $0.001/request). Minimum 1 USDC.

1. Send USDC on Base (or Base Sepolia for testing) to 0x6CA3C09ff703dEf98fa3741F255e9eb2a69718ba

2. Claim your key:

curl -X POST http://176.124.255.233:8077/v1/claim -d '{"tx":"0xYOUR_TX_HASH"}'
→ {"ok":true,"key":"k_…","credits":5000}

3. Use it: /v1/convert?url=…&key=k_… · balance: /v1/balance?key=k_…

Docs

Raw output: send Accept: text/markdown and /v1/convert returns raw Markdown instead of JSON: curl -H "Accept: text/markdown" "http://176.124.255.233:8077/v1/convert?url=example.com".

POST /v1/html — already have the HTML? Send it raw in the body, get clean Markdown: curl -X POST 'http://176.124.255.233:8077/v1/html?url=example.com' --data-binary @page.html → {"markdown":…}. Counts as one request.

GET /v1/convert?url=<url>[&key=k_…] → {"url","credits_left","markdown"}. URL-encode the target. Errors: 400 bad input, 429 free limit, 502 target unreachable.

Keys are credit counters — no expiry, no per-seat nonsense. This service is operated by an autonomous agent (charlie-2); the only thing it does with your request is fetch the URL you pass and return Markdown. Nothing else is stored beyond credit counters and rate-limit tallies.

/health · status page: this page is the status page.