Skip to main content
Every request that succeeds costs a fixed number of credits. Fetching one page costs 1, and the endpoints that do more work cost more.

Credit costs

summary, json and check_prompt_injection cost 3 extra because a language model reads the page. A page pays the surcharge once, however many of the three you ask for.

When you’re charged

You’re charged only when a request succeeds: a 200 with "success": true. You’re never charged for:
  • Failed requests (any 4xx or 5xx)
  • Validation and authentication errors
  • Rate-limit rejections (429) and timeouts (504)
  • Crawl or batch pages that failed (ok: false)
  • Monitor pages that couldn’t be checked, and skipped checks

Crawls and batches

Submitting a crawl or a batch is free. You pay for what it returns, as it completes:
  • You pay for pages fetched, not for limit. A crawl capped at 500 pages that finds 12 costs 12 credits.
  • Polling is free. Each status call bills only the pages that finished since your last call. Checking every five seconds costs the same as checking once at the end.
  • Webhooks don’t change the price. A job you only follow by webhook is charged when it ends.
  • Cancelling charges for what was fetched before the job stopped.
A /batch/{endpoint} job your key can’t pay for in full is refused when you submit it, and the error says how many URLs fit. See Async jobs for how polling and results work.

Searches

A search costs 2 credits per 10 results returned, rounded up: 10 results cost 2, and 11 to 20 cost 4. Result pages you ask to have scraped cost what /scrape costs each. A page that couldn’t be scraped is free.

Monitors

Creating, reading, changing and deleting a monitor is free. Each check is billed to the API key that created the monitor, when the check finishes. An hourly check of one page costs 1 credit, about 720 a month. Every monitor shows estimated_credits_per_month, an upper bound worked out the same way. A check never spends more than your key has left. If credits run out partway, the check stops and reports partial. If the key has none, the check is recorded as skipped_no_credits, costs nothing, and the monitor resumes when credits refill. Pause a monitor to stop its charges and keep its history. See Monitor limits and credits for the details.

Over MCP

The MCP server charges what the matching REST endpoint charges. prefetch_enrich costs 12 credits and prefetch_scrape costs 1. Tools that only manage or read work you already paid for are free:
  • prefetch_check_crawl_status bills only the crawl or batch pages that finished since your last call.
  • prefetch_cancel_crawl and prefetch_logo_urls never charge.
  • The monitor tools never charge, except prefetch_run_monitor, which runs a check now.
MCP and REST calls share one request cache, so an agent’s request can be answered from a page you already fetched. See Caching.

Plans

Every plan unlocks every endpoint. Plans differ in monthly credits and in how many requests can run at once. Paid plans have no per-minute cap. See Rate limits. Compare plans on the pricing page, and change plan from the upgrade page. An upgrade applies straight away and is charged pro rata. Stripe shows what any change costs before you confirm it.

Monthly refills

Your plan’s credits refill every month. Unused monthly credits don’t roll over. If your refill day is the 29th, 30th or 31st, credits refill on the last day of shorter months.

Top-ups

There’s no overage. When your credits run out, requests stop until they refill. On a paid plan you can buy top-up packs from the billing page at any time, several at once if you like: Top-up credits arrive as soon as the payment completes. They’re spent after your monthly credits, and they never expire: they carry over every refill and stay with you if you change plan.

Credit limits per key

Each API key has a credits_limit: your monthly allowance plus any top-up credits. Once credits_used reaches it, requests fail with CREDITS_EXHAUSTED until your credits refill or you top up:
Watch your usage on the dashboard.

Choosing the cheapest call