Skip to content

Pricing & credits

serp.cheap bills in credits. You pre-purchase credits (or subscribe to a monthly plan) and each search debits your balance.

ResultCreditsWhy
Fresh fetch6A live fetch of Google through a residential proxy.
Cache hit3The same query was fetched recently and served from cache.

The maximum cost is reserved up front and the difference is refunded once the actual cost is known — so you’re never overcharged for a cache hit.

Every response carries a stats object (unless your key hides it):

"stats": { "balance": 9994, "cost": 6, "cached": false }
  • cost — credits charged for this search.
  • cached — whether the result came from cache.
  • balance — your remaining credit balance.

How results get cached, and how to force a fresh fetch per request, is covered in Caching & freshness.

Add a scrape option to a search (or call POST /v1/scrape for a single URL) to pull the actual page content — extracted to markdown — for each organic result. Pages are fetched through datacenter proxies; only pages scraped successfully are billed, on top of the search.

ModeCredits / pageWhat you get
Content (HTTP)1Markdown + text of the page, no JavaScript.
Content + render JS3Headless-browser render first, for JS-heavy sites.
+ Screenshot+11920×1080 (or custom, ≤1920) screenshot as a 48h presigned URL (forces a browser render → 4 total).
{ "q": "best running shoes", "scrape": { "render_js": true, "top_n": 5, "screenshot": true } }

Each enriched organic result then carries content, optionally screenshot_url, or scrape_error when a page couldn’t be fetched (not billed). JS-ready detection waits for the DOM to load plus a short settle, with optional wait_for (CSS selector) and wait_ms escape hatches for slower pages.

POST /v1/rank finds where a site or page ranks for a keyword. It scans pages 1..N of Google (pages, 1-10) and reports the absolute rank of the best match. Each scanned page is billed exactly like a search — fresh 6 / cache 3 — using the same hot cache, so repeated checks of a popular keyword cost mostly cache hits.

FieldCredits / pageNotes
SEO Rank6 fresh · 3 cacheBilled per page scanned. A 10-page (top-100) check costs at most 60 credits, less as pages hit cache.
{ "url": "example.com", "q": "best running shoes", "pages": 10, "match_type": "domain" }

match_type is domain (any result on the registrable domain, incl. subdomains/paths) or exact (the identical URL). The response carries found, rank (absolute, 1-based), every matches[] position, and partial/pages_failed if a page couldn’t be fetched. The same tool is exposed over MCP as seo_rank.

$/1k is the effective price per 1,000 fresh searches. Monthly plans lower the per-search price and raise your rate limit.

Tier$ / 1kRate limitMonthlyIncluded
Free$0.001 req/son signup100 searches
Pay as you go$0.7510 req/s—credits valid 12 months
Basic$0.7020 req/s$3550k searches / mo
Medium$0.6540 req/s$130200k searches / mo
Max$0.6060 req/s$300500k searches / mo
Enterprisecustomcustom$3,000+/mocontact us

Buy $500+ in credits and you automatically pay $0.60 / 1k — no subscription needed.