sparkcrawlDocs

One balance, one tariff.

Every organization has a single balance in US dollars. The Playground, the API and the MCP server all draw from it at the same tariff, and you only pay for pages that succeed.

The tariff

partprice
Successful pageUS$0.0005
Searchbilled as one page
Provider cost (proxies, browsers, search and model providers)measured cost × 5
Failed page, or a page that fails your validatorsUS$0

Provider cost is passed through only when it is measured; an unknown cost is not estimated or charged. Each result and job reports what it cost you in customerChargeUsd, and GET /api/v1/pricing returns the live tariff.

Balance and packs

New organizations start with a US$1 welcome balance. Top up at /app/billing — checkout opens inside the page, and the balance is credited after the payment is confirmed. Each step up the ladder adds 10 points of bonus balance; there is no subscription.

packbalance creditedbonus
US$8US$8—
US$50US$55+10%
US$200US$240+20%
US$1,000US$1,300+30%

Only owners and admins can buy. Refunds and disputes take the credited amount back off the balance.

Reservations

Before work starts, the server reserves the most the request could cost, and settles it down to the measured charge when the job ends; the difference returns to the balance. The ceiling is:

ceiling = US$0.0005 × requested pages + maxCostUsd × 5

maxCostUsd is the request's provider budget. On scrape, crawl, map and batch you may pass maxCustomerCostUsd to set your own ceiling — it must be at least the one above. When you omit it, the server reserves exactly that ceiling. If the balance cannot cover it, the request answers 402 before anything runs.

Ceilings at the defaults:

requestmaxCostUsdreserved
scrape0.02≈ US$0.10
search0.1≈ US$0.50
crawl, 20 pages0.15≈ US$0.76
map, 100 pages0.15≈ US$0.80
batch, 10 pages0.15≈ US$0.76
research0.5 (default)≈ US$2.50
research0.05 (minimum)≈ US$0.25
research5 (maximum)≈ US$25.00

Research on a small balance

Scrape, search, crawl, map and batch at their default size fit the US$1 welcome balance. Research reserves about US$2.50 at its default budget, so it needs a top-up first — or pass a smaller maxCostUsd (from 0.05) for a shorter report. Reports and pages settle at what the run actually spent, typically well under the ceiling.

Errors

Every error has the same envelope. Branch on error.code, not on the message.

{ "error": { "code": "insufficient_scraping_balance" } }
statuscodewhat to do
400invalid_requestFix the body; it failed validation (see the reference for bounds).
400customer_cap_below_required_ceilingRaise maxCustomerCostUsd, lower maxCostUsd or pages — or omit the cap.
401unauthorizedSend a valid key that has the operation's scope.
402insufficient_scraping_balanceTop up at /app/billing, or lower the request's ceiling.
402customer_budget_exceededThe job reached its ceiling; remaining pages were not charged.
403organization_requiredFinish onboarding: the account has no organization.
403forbidden · invalid_originOwner/admin role needed, or a cross-origin session call.
404not_foundThe job, key or session is not in this organization.
409idempotency_conflictSame Idempotency-Key with a different body.
429monthly_quota_exceededThe plan's monthly jobs or pages are used up.
429plan_page_limitToo many pages in one job for the plan.
429scraping_capacity_reached20 active jobs per organization; wait for one to finish.
503worker_unavailable · billing_not_configured · …Not configured here or temporarily down; retry with backoff.