Skip to content

Pricing and quotas

Usage is counted in credits. One credit is one search: a GET /v1/query costs one, and a POST /v1/bulk costs one per query row inside it. A result served from cache still costs one. A request rejected for a bad parameter costs nothing; a search the upstream engine failed to answer is charged, because the search was run.

Every new account is granted 100 free requests at signup. No card. The grant is one per email address, so an account created again with an email that has already had it starts with zero.

Those 100 requests are a lifetime allowance, not a monthly one. They never reset, which means a trial account has no quota period and no reset date: X-Quota-Reset is absent from its responses and the 402 body carries "resets_at": null. Once they are spent, every call answers 402 quota_exceeded until the account takes a plan.

Prices are per month and the same on both channels. Buying direct and subscribing on RapidAPI cost the same.

Plan Per month Requests per month Credit packs per 1,000 Concurrency
Starter $9 5,000 $1.50 2 concurrent requests
Growth $49 75,000 $0.80 5 concurrent requests
Business $99 200,000 $0.60 10 concurrent requests
Custom Contact us — — —

Custom is a contract plan. Write to [email protected] with the volume, the concurrency and any invoicing terms you need and we price it.

Every plan stops at its quota. The rate in that column is what a credit pack costs once the quota is gone: it is priced per credit and quoted per 1,000, so Starter’s $1.50 per 1,000 is $0.0015 a credit. Packs are paid for up front, and no usage is ever billed to you afterwards. Credit packs covers the sizes and the rules.

Concurrency is enforced as a rolling per-minute limit of 60 requests for each concurrent request: 2 concurrent requests is 120 requests a minute, 5 is 300, 10 is 600. The trial is 1 concurrent request, 60 a minute. Rate limits covers that side, including the headers and the 429 response.

The concurrency and the quota are separate counters: one caps how fast you may call, the other how much you may call in a billing period.

On a paid plan the period is your billing cycle. It runs from the day you subscribed and renews monthly on that same day, so a plan taken on the 14th resets on the 14th, not on the 1st. Every credit spent in that window counts against the plan’s quota, whichever key spent it: the quota is per account, not per key.

The counter resets when the next cycle begins, and X-Quota-Reset on every response gives that exact moment. Unused requests do not carry over; credits from a pack do, because they sit outside the period.

An account that has no subscription billing cycle of its own is measured on the calendar month in UTC instead, starting on the 1st at 00:00:00Z. That covers a plan held through the RapidAPI marketplace and a plan we set by hand under a custom contract.

The trial has no period at all. Its 100 requests are counted from the day the account was created and never reset.

Every quota is a hard limit, on the trial and on every paid plan alike.

On the trial the 100 requests never reset, so once they are spent every call answers 402 quota_exceeded until the account takes a plan.

On a paid plan, a spent quota falls through to the account’s credit balance. While that balance lasts, searches keep running and come out of it. With the quota gone and the balance at zero, calls answer 402 until the next cycle begins or a pack is bought.

A refused request is not logged as a query and costs nothing.

A credit pack is paid for up front. Buy one from the billing page of the dashboard, which opens a Polar checkout; the credits land on your credit balance as soon as the payment clears.

Pack Starter Growth Business
10,000 credits $15 $8 $6
50,000 credits $75 $40 $30
100,000 credits $150 $80 $60

The rate is the plan’s own: $1.50 per 1,000 on Starter, $0.80 on Growth, $0.60 on Business. Custom plans price pack credits in the contract.

The rules, in full:

  • Buying a pack needs an active paid subscription. The trial cannot buy one: its 100 requests are the whole allowance.
  • Credits never expire. They are not tied to a period and do not reset with one.
  • Each cycle spends the plan’s monthly quota first. The balance is touched only once the quota is gone.
  • The balance survives a renewal, an upgrade, a downgrade and a cancellation, and stays spendable after the subscription ends.
  • X-Credits-Balance on every response reports what is left of it.
  • With no quota and no balance, a request answers 402 quota_exceeded.
  • Payments are final; there are no refunds on plans or credit packs. Cancel any time to stop renewal.

GET /v1/query and POST /v1/bulk answer with quota headers on every response, success or error:

Header Meaning
X-Quota-Limit Requests included in the plan for the current period, or 100 on the trial.
X-Quota-Used Credits spent in the current period, this request included.
X-Quota-Remaining limit minus used, never below 0. Sits at 0 while a plan is running on pack credits.
X-Quota-Reset Unix time in seconds at which the current period ends. Absent on the trial, which has no period.
X-Credits-Balance Your credit balance, which sits outside the period. 0 when no pack has been bought.

They accompany the X-RateLimit-* headers, which describe the per-minute window instead. Traffic that arrives through the RapidAPI marketplace carries neither set of quota headers: RapidAPI meters its own subscribers.

Answered when the account has nothing left to spend: a trial with its 100 requests gone, or a paid plan with both its quota and its credit balance at zero. The body below is the trial case.

HTTP/1.1 402 Payment Required
X-Quota-Limit: 100
X-Quota-Used: 100
X-Quota-Remaining: 0
X-Credits-Balance: 0
Content-Type: application/json
{
"error": "quota_exceeded",
"message": "Your 100 free trial requests are used up. Upgrade to keep searching.",
"request_id": "9c2f0f1a-6d3b-4d8e-8f37-2f1a4c9b7e51",
"plan": "trial",
"quota": 100,
"credits_used": 100,
"remaining": 0,
"resets_at": null
}
Field Meaning
error Always quota_exceeded.
message Human-readable and safe to show an end user.
request_id The same value as the X-Request-Id response header.
plan The plan id the account is on: trial, starter, growth, business or enterprise.
quota Requests included in the plan for this period, or 100 on the trial.
credits_used Credits already spent.
remaining Requests left, 0 on a refusal.
resets_at ISO 8601 timestamp at which the period ends and the counter returns to zero. null on the trial, which never resets.

A bulk request is checked before anything is dispatched: a batch of 20 queries with 5 credits left, quota and credit balance together, answers 402 as a whole, runs nothing and charges nothing. Errors lists every other code.

A subscription taken on the marketplace is counted and billed by RapidAPI against the slot you picked there: BASIC for the trial, PRO for Starter, ULTRA for Growth, MEGA for Business, CUSTOM for a custom plan. The price is the one published above, the same as buying direct. The quota and the per-minute limit come from that subscription, RapidAPI enforces them, and RapidAPI invoices you. Credit packs are sold from our dashboard only, so a marketplace subscription cannot buy one. The quota headers and the 402 above belong to direct traffic only. Usage still lands in the same account, so the dashboard’s analytics cover both channels.

Plans and credit packs bought direct are sold through Polar, which is the merchant of record for the sale: Polar sells the subscription or the pack to you, takes the payment, handles the tax that applies to your billing address, issues the invoice and stores the payment method. Card details go to Polar and its payment provider and never reach us.

Take a plan from the billing page of the dashboard. That page opens Polar’s checkout, and the plan is live on your account as soon as the payment clears. The same page sells the credit packs.

Upgrades and downgrades are both done from the same billing page.

  • An upgrade applies immediately. The difference in price is invoiced right away and the larger quota is available from that moment.
  • A downgrade applies at the end of the billing period you have already paid for. Nothing changes before then.
  • Payments are final; there are no refunds on plans or credit packs. Cancel any time to stop renewal.

Manage billing on that page opens the Polar customer portal. Cancelling the subscription, changing the card and downloading invoices all happen there, and every invoice for a direct plan or a credit pack is issued by Polar and kept in that portal. After a cancellation the plan keeps serving until the end of the period you have paid for, and whatever is left of your credit balance stays spendable after that.

Subscribing on the RapidAPI listing stays an alternative, at the same price, billed by RapidAPI instead.