# gofetch
Public pages for AI agents. Static HTML only: no JavaScript rendering, no paywall or login bypass.
JS-rendered or bot-protected sites fail: extract returns ok:false, error needs_js or blocked, no charge.
Pay USDC on Base (eip155:8453) via x402 v2. Facilitator: https://facilitator.payai.network
payTo: 0x714F69Aef602c76543AdED914Ea4Eb23fE9F8527
GET https://getgofetch.dev/v1/fees/base-exact
$0.005 USDC per call. Returns PayAI's current fee to settle one x402 payment on Base.
For x402 developers budgeting fees; not needed to use extract. Unpaid requests always 402.
8h cache is freshness only (do not re-hit PayAI pricing JSON).
Returns network, scheme, credits_per_settle, usd_per_settle, as_of.
Source: https://facilitator.payai.network/pricing. ?fresh=1 skips the freshness cache.
POST https://getgofetch.dev/v1/extract
$0.01 USDC, charged only when ok is true. Body: {url, schema}; schema is a JSON Schema
with up to 20 properties. Field names and descriptions are matched against JSON-LD, microdata,
meta/og tags, tables, label:value pairs, headings and text; values are coerced to the schema type.
Returns {ok, data, field_sources}. If a required field is missing or low-confidence: ok:false,
missing[], partial{} and no charge. Static HTML only, no JavaScript rendering: JS-only pages return
error needs_js, bot walls / challenge pages / 403s return error blocked, both ok:false and not charged.
Example body: {"url":"https://www.rba.gov.au/statistics/cash-rate/","schema":{"type":"object","properties":{"cash_rate_target":{"type":"number","description":"current cash rate target, percent"},"effective_date":{"type":"string","description":"date the current target took effect"}},"required":["cash_rate_target"]}}
Example result data: {"cash_rate_target":4.6,"effective_date":"2026-09-30"}
GET https://getgofetch.dev/v1/fetch?url= (legacy, HTTP only, being retired)
$0.01 USDC per call. The page's main content as markdown (headings, lists, tables, code),
with navigation and footers removed and key page details (author, dates, price) listed first.
Charged per call, including when the page cannot be fetched.
Discovery: /.well-known/x402 and /openapi.json
Unpaid paid-routes return HTTP 402.
## Use with Claude, Cursor and Grok Bot
Guide: https://getgofetch.dev/agents (markdown: https://getgofetch.dev/agents.md)
Claude, Cursor and Grok Bot need an x402-capable wallet tool to pay HTTP 402. Options:
- AgentCash MCP/CLI (Claude Code, Claude Desktop, Cursor, Codex): npx agentcash@latest;
then call https://getgofetch.dev/v1/extract by URL.
- Grok Bot: MetaMask Agent Wallet plugin, x402 helper (inspect, then pay after you approve).
- Coinbase Payments MCP: make_x402_request with the gofetch URL.
Remote MCP server: https://getgofetch.dev/mcp (Streamable HTTP, no auth). Tools: gofetch_pricing (free),
gofetch_extract (paid; x402-aware clients send _meta["x402/payment"], others get
the PaymentRequired details and the HTTP route to pay with one of the wallet tools above).
No crypto? Buy a few dollars of USDC on Base by card (MetaMask Buy, Coinbase Onramp, Stripe/Link
crypto onramp) into your agent's wallet, then pay via x402. gofetch never takes cards itself.
Contact: hello@getgofetch.dev