documentation
API reference
111 read-only endpoints across 11 services, $0.002 – $0.005 per call in USDC on Base, Polygon, Arbitrum, Monad or Solana. No account, no OAuth, no subscription — you pay per call, starting at $0.002.
https://fetcher.shGET · JSON responseQuick start
Two ways to pay, same endpoints and prices. Prepaid credits are simplest for code; x402 is for agents that hold a wallet.
curl -H 'Authorization: Bearer bby_live_...' \
'https://fetcher.sh/api/twitter/search?query=x402'Get a key at /topup — your first top-up creates it (minimum $1, shown once).
# call without payment to inspect the 402 challenge
curl -i 'https://fetcher.sh/api/twitter/search?query=x402'
# HTTP/1.1 402 Payment Required
# payment-required: <base64 payment requirements>Sign the requirements from the payment-required header and retry with the signed payload. Libraries such as @x402/fetch do the whole loop automatically — see /skill.md.
Authentication
There are no accounts. Either a signed payment or an API key authenticates the request.
Credits API key
Send Authorization: Bearer bby_live_…. Each call debits your balance. Keys are stored hashed and shown once — a lost key can only be rotated, at /topup.
x402 payment
No key at all. The signed USDC authorization in X-Payment is the credential. Every 402 lists one option per chain, so pay from whichever you already hold. Gas is sponsored, so no native token is needed.
Check a balance any time with GET /api/credits/balance and the same Bearer header.
Response format
Every endpoint returns the same envelope, and the HTTP status mirrors the status field. Upstream payloads arrive untouched in data.
{
"status": 200,
"message": "ok",
"data": { }
}Errors
400A parameter is missing or invalid. The message names it.401Unknown or revoked API key.402Payment required — either the x402 challenge, or message topup_required when a prepaid balance is exhausted.404The path is not a priced endpoint.502The upstream source failed or was unreachable.Limits & refunds
There are no rate limits and no quotas — your balance, or your wallet, is the only ceiling. Payment settles before delivery, so a failed upstream call is not refunded; at these prices a lost call costs a fraction of a cent, and the same trade-off applies to both payment methods.
MCP server
Using Claude Desktop, Cursor, or another MCP client? Add the remote server and your agent can search the catalog for free and pay only when it fetches.
{
"mcpServers": {
"fetcher": {
"url": "https://fetcher.sh/mcp",
"headers": { "Authorization": "Bearer bby_live_..." }
}
}
}Drop the header to pay per call with x402 instead. All 16 tools are listed on the home page.
Endpoint reference
Click any endpoint to see its parameters and try it — the console builds the URL and opens the payment page, or calls it directly when you paste an API key. Path parameters are shown as :name.