Base URL: http://localhost:8080 · OpenAPI YAML
| Method | How | Limit |
|---|---|---|
| Free tier | ?free=1 or x-free-tier: 1 | 10 req/day per IP |
| x402 paid | x-usdc-payment: <token> | Unlimited ($0.01 USDC each) |
Extract title, description, and OG/Twitter meta tags from any URL.
curl "http://localhost:8080/v1/metadata?free=1&url=https://example.com"
Response
{
"url": "https://example.com",
"final_url": "https://example.com/",
"title": "Example Domain",
"description": "...",
"og_title": "...", "og_image": "...", "og_type": "website",
"twitter_card": "summary"
}
Extract clean article text using Mozilla Readability (Firefox Reader Mode).
curl -X POST http://localhost:8080/v1/extract \
-H "Content-Type: application/json" \
-H "x-free-tier: 1" \
-d '{"url":"https://techcrunch.com/..."}'
Response fields: url, title, byline, site_name, excerpt, published_time, text, word_count, html
Full OpenGraph + Twitter Card data extraction (same as /v1/metadata but via POST body).
curl -X POST http://localhost:8080/v1/og \
-H "Content-Type: application/json" \
-H "x-free-tier: 1" \
-d '{"url":"https://openai.com"}'
Extract all hyperlinks from a page. Optional: "internal_only": true or "external_only": true.
curl -X POST http://localhost:8080/v1/links \
-H "Content-Type: application/json" \
-H "x-free-tier: 1" \
-d '{"url":"https://news.ycombinator.com","external_only":true}'
Response: { "count": 42, "links": [{"url":"...", "label":"...", "internal": false}] }
| Status | Meaning |
|---|---|
| 400 | Missing or invalid url parameter |
| 402 | Payment required (x402) |
| 422 | Content could not be extracted |
| 429 | Free tier daily limit exceeded |
| 502 | Upstream fetch failed |