Skip to content

New Official SDKs for TypeScript, Python and Go

SerpKite
Get API key
Docs menu / Credits and billing

Credits and billing

SerpKite is prepaid. You buy credit packs that never expire, each call spends a known number of credits, and failed or empty calls are refunded automatically.

View as Markdown

How credits work

A credit is the unit every call is priced in. One credit buys one Google results page (up to 10 organic results) from /v1/search or any core vertical. Other endpoints and options cost more or less, as listed below.

  • Prepaid, no subscription. You buy a pack once and spend it down. There is no monthly fee and nothing renews.
  • Credits never expire. Packs stack: buy a Starter today and a Pro next year, and both balances add up.
  • Decimal amounts. Some calls cost half a credit, so balances and headers are decimal numbers such as 61499.5.
  • You only pay for results. Failed, empty and blocked requests cost nothing.

What each call costs

Endpoint or optionCreditsNotes
/v1/search, /v1/news, /v1/images, /v1/videos, /v1/maps, /v1/places, /v1/shopping, /v1/scholar, /v1/patents, /v1/webpage, /customsearch/v11Per results page (10 results).
num=100 depth bundle7Top 100 results in one call instead of 10 pages.
/v1/reviews1 per 10 reviewsnum up to 50.
/v1/autocomplete0.5
/v1/lens2
include_content=N+1 per fetched pageUp to 5 pages.
POST /v1/batches×0.5Queued, delivered by poll or webhook.
Cache hit (max_age)×0.5Only when a fresh-enough cached result exists.
Failed, empty or blocked request0Reserved credits are refunded automatically.
GET /v1/account, GET /v1/batches/{id}, GET /v1/status0

A few worked examples:

Request Credits
POST /v1/search with q only 1
POST /v1/search with page: 3 1 (each page is a separate call)
POST /v1/search with num: 100 7 (instead of 10 for ten pages)
POST /v1/search with include_content: 3 1 + 3 = 4
One search queued with POST /v1/batches 0.5
POST /v1/search with max_age: 3600, cache hit 0.5
POST /v1/reviews with num: 30, 30 reviews returned 3 (1 per 10 returned; 12 returned costs 2)
POST /v1/autocomplete 0.5

The batch and cache discounts apply to the full price of the call. Half prices are rounded up to the nearest thousandth of a credit, so nothing ever rounds down to free. See Pagination and depth, Caching, Batch requests and Page content for the details of each option.

What is never billed

  • Errors. Any 4xx or 5xx response costs 0 credits, including 503 upstream_error, 503 upstream_blocked and 503 upstream_timeout. See Errors.
  • Empty results. If Google returns no results for your query (meta.parse_quality: "empty"), the call is refunded.
  • Failed page fetches. With include_content, you pay only for the pages we actually fetched. Pages that time out or refuse the fetch are refunded.
  • Bookkeeping endpoints. GET /v1/account, GET /v1/batches/{id} and GET /v1/status are free.

Reservation and refund

When a call starts, SerpKite reserves its maximum possible cost from your balance. When the call finishes, it settles to the real cost and refunds the difference. If the call fails, the whole reservation is refunded. You can see this in two places:

  • The response headers: X-Credits-Used is the final cost (0 for a refunded call) and X-Credits-Remaining is the balance after settlement. See Response headers.
  • The credit ledger in the dashboard (Billing). It is append-only: every purchase, grant, usage and refund is a row, and refunds are separate compensating rows rather than edits. Ledger reasons are grant, purchase, usage and refund. Usage is aggregated per day.

If your balance is lower than the reservation, the call is rejected with 402 insufficient_credits before anything runs.

Free tier

  • 1,000 credits when you sign up and verify your email.
  • 1,500 more the first time you link a GitHub or Google account.
  • 1,000 credits every month after that, for verified accounts.
  • 5 requests per second per key.

No card is required. Free and purchased credits share one balance. A daily cap may apply to free accounts; if you hit it you get 429 daily_limit_reached, and buying any pack removes it.

Credit packs

PackPriceCreditsPer 1,000Rate limit
Free$01,000 on signup, +1,500 for linking GitHub or Google, 1,000 every month5 req/s
Starter$1010,000$1.0020 req/s
Growth$5062,500$0.8050 req/s
Pro$300500,000$0.60100 req/s

Buying a pack also raises the rate limit of all your keys to that pack’s rate. The rate comes from the largest pack you have ever bought, so it doesn’t drop when your balance runs down.

Committed volume above these packs (from $0.18 per 1,000) is available on Enterprise plans.

Paying

Packs are one-time purchases through Paddle, our merchant of record. Paddle handles the checkout, card processing, VAT and sales tax, and issues the invoice. Listed prices include VAT or GST in the EU, UK and most other countries; in the US, Canada and India, sales tax is added on top at checkout.

  1. Open Billing

    In the dashboard, go to Billing and pick a pack.

  2. Check out

    You are taken to the Paddle checkout. Pay by card or any method Paddle offers in your country.

  3. Credits land on your balance

    When Paddle confirms the payment, the credits are added to your balance, usually within seconds. The grant is idempotent: a retried webhook never credits you twice.

Every paid order is listed under Billing → Orders with a link to the invoice PDF hosted by Paddle. Enterprise customers can pay by invoice.

To top up automatically when the balance runs low, see auto-recharge. To cap how much you spend per month, see Spend controls.

Tracking spend

  • Per request: meta.credits_used in the body and the X-Credits-Used, X-Credits-Remaining and X-Cost-USD headers. X-Cost-USD is the dollar value of the credits used, at the per-credit price of the largest pack you have bought (0 on a free account).
  • Per account and key: GET /v1/account returns the balance and this month’s credits and requests; the dashboard’s Usage page breaks usage down by day, endpoint and key and exports CSV.
  • Alerts: email alerts for low balance and for a percentage of your monthly cap. See Spend controls.

Refunds of purchases

Unused credits don’t expire, so there is rarely a reason to refund a pack. If you bought a pack by mistake and haven’t used any of its credits, email [email protected] with the order ID from Billing → Orders within 14 days of purchase and we refund it through Paddle. Refunded credits are removed from your balance.

Free credits and partly used packs are not refundable, except where the law requires it. Unused purchased credits are forfeited when you delete your account, so ask for a refund first. The full rules are in the Refund Policy.

Last updated: 2026-09-29