Credits
How RankParse credits work, what every endpoint costs, when you are refunded, and how to buy credits, set a spend cap and auto recharge.
RankParse is prepaid. Each billable API call deducts credits from your workspace balance, and there is no subscription. New accounts start with 100 free credits and no card. Credits never expire.
How billing works
- One balance per workspace. Everyone in a workspace, and every API key it owns, spends from the same balance. See Shared credits.
- Charged before the work. The credit is deducted in a single atomic step before the query runs, so parallel requests cannot spend the same credit twice.
- Cache hits cost the same as misses. Caching only makes the answer faster. See Response format.
- Failures are refunded automatically in the cases listed under Refunds.
- Every response tells you what happened.
credits_usedis the amount billed for that call (after any refund) andcredits_remainingis your balance afterwards.
{
"data": { "score": 94 },
"domain": "github.com",
"credits_used": 1,
"credits_remaining": 99
}Check your balance
GET /v1/credits is free and returns the balance:
curl "https://api.rankparse.com/v1/credits" \
-H "X-API-Key: rp_your_key"import os
import requests
resp = requests.get(
"https://api.rankparse.com/v1/credits",
headers={"X-API-Key": os.environ["RANKPARSE_API_KEY"]},
)
print(resp.json()["credits"])const resp = await fetch("https://api.rankparse.com/v1/credits", {
headers: { "X-API-Key": process.env.RANKPARSE_API_KEY },
});
const { credits } = await resp.json();
console.log(credits);{ "credits": 842 }You can also read credits_remaining from any billable response, or open Billing, Credits in the dashboard.
Cost per endpoint
Billed endpoints
| Endpoint | Credits | Notes |
|---|---|---|
GET /v1/domain-authority | 1 | Refunded when the score is unavailable. |
GET /v1/platform-trends | 1 | |
GET /v1/platform-domains | 1 per domain returned | Charged after the query. Zero rows, zero cost. |
GET /v1/backlinks | 2 | 3 with score=true. |
GET /v1/referring-domains | 2 | 3 with score=true. |
GET /v1/outbound-links | 2 | |
GET /v1/domain-rank | 2 | |
GET /v1/anchor-text | 2 | |
GET /v1/top-pages | 2 | |
GET /v1/tech-stack | 2 | Live fetch. |
GET /v1/site-health | 2 | Live fetch. |
GET /v1/sitemap | 2 | Refunded in full when no sitemap is found. |
GET /v1/crawl-history | 2 | Wayback Machine. |
GET /v1/schema-markup | 2 | Live fetch. |
GET /v1/page-seo | 3 | Live fetch. |
GET /v1/page-performance | 3 | Charged only after Google returns a result. |
GET /v1/domain-overlap | 5 | |
GET /v1/link-intersect | 5 | |
GET /v1/similar-domains | 5 | |
GET /v1/competitor-gap | 5 | |
GET /v1/link-audit | 8 | |
GET /v1/site-explorer | 10 | Bundles backlinks, authority, top pages and anchor text. |
POST /v1/batch | 2 per successful domain | Charged after the queries, for the domains that succeeded. |
POST /v1/indexnow | 1 | Refunded when the submission fails. |
The backlink and authority endpoints are documented under API reference.
Free endpoints (0 credits)
| Endpoint group | Notes |
|---|---|
GET /v1/credits, GET /v1/me, GET /v1/usage, GET /v1/pricing, /v1/keys | Account and billing information. See Account. |
POST /v1/indexnow/key | Provisioning an IndexNow key is free. |
/v1/rank-tracking/* | Stored keyword rankings. See Rank tracking. |
/v1/gsc/* | Your Google Search Console data. See Search Console. |
/v1/google-ads/* | Keyword research. No credits, but a daily cap applies. See Rate limiting. |
/v1/proposals, /v1/websites, /v1/activity, /v1/agent-tasks, /v1/client-report | The approval inbox for agents. See Approval inbox. |
/v1/outreach/* | Campaign management and Gmail sending. See Outreach. |
link-velocity, new-links, lost-links, internal-links | Return not_yet_available. See Not yet available. |
/v1/tools/* | Free website tools, limited by a daily allowance. See Free tools. |
A free route still consumes your per-minute request budget. See Rate limiting.
Variable-cost endpoints
| Endpoint | How the cost is decided |
|---|---|
backlinks, referring-domains | 2 credits, or 3 when you pass score=true to add from_domain_score. |
batch | 2 credits for each domain that returns successfully. Domains that fail are free. Invalid domains are dropped before the lookup. |
platform-domains | 1 credit for each domain in the response, so limit controls the maximum cost. |
sitemap | 2 credits, or 0 if no sitemap exists for the domain. |
domain-authority | 1 credit, or 0 if the authority score could not be read (partial: true). |
Refunds
| Situation | Result |
|---|---|
The data store times out or errors (503 query_timeout, upstream_error, deterministic_timeout) | Full refund, automatic. |
A live fetch fails (page-seo, tech-stack, site-health, sitemap, schema-markup) | Full refund. An invalid URL or domain is rejected before any charge. |
sitemap finds no sitemap (a 200 with source: "none") | Full refund. credits_used is 0. |
domain-authority cannot read the score (partial: true, score: null) | Full refund. |
page-performance quota or Google errors | Never charged. |
indexnow submission fails | Full refund. |
| A refunded call | Also reduces your month-to-date spend, so it does not count toward the spend cap. |
Not refunded:
- Empty results. A domain with no data returns
200withdata: []and is billed normally. - Partial results, except the
domain-authoritycase above.
Buying credits
Credits are sold as one-time purchases. Buy any amount from 100 to 500,000 credits in the dashboard. The price per credit depends on the size of the purchase:
| Credits in one purchase | Price per credit | Example |
|---|---|---|
| 100 to 9,999 | $0.010 | 1,000 credits for $10 |
| 10,000 to 99,999 | $0.008 | 10,000 credits for $80 |
| 100,000 or more | $0.006 | 100,000 credits for $600 |
Buy from the pricing page or Billing, Credits in the dashboard. The live tiers are also available from the public, free GET /v1/pricing, which is the source of truth if prices change:
curl "https://api.rankparse.com/v1/pricing"{
"tiers": [
{ "min": 0, "price_per_credit": 0.01 },
{ "min": 10000, "price_per_credit": 0.008 },
{ "min": 100000, "price_per_credit": 0.006 }
]
}Vouchers can be redeemed on the same page. Only workspace owners and admins can buy credits.
Auto recharge
Auto recharge buys credits for you when your balance runs low, so calls never fail on an empty account. Configure it under Billing, Credits:
| Setting | Rules |
|---|---|
| Threshold | When the balance falls below this many credits, a top-up starts. At least 100. |
| Top-up amount | Credits to buy. Between 1,000 and 500,000. Must be larger than the threshold. Priced with the same tiers as a manual purchase. |
Defaults when you first save a card: threshold 500 credits, top-up 5,000 credits.
- Turning it on sends you to Stripe to save a card. Nothing is charged at that point.
- A top-up is checked after each successful charge, and runs in the background without slowing the response.
- At most one recharge runs at a time, with at least five minutes between recharges.
- If a payment is declined, auto recharge turns itself off and the dashboard shows why. Add a card to turn it back on. One decline is enough to disable it.
- Auto recharge never overrides your spend cap. A recharge that would exceed the cap does not run.
- Free routes never trigger a recharge, because they spend no credits.
Spend cap
A spend cap limits the credits a workspace can spend per calendar month (UTC). Set it under Billing, Credits, or leave it blank for unlimited.
- When a call would take you past the cap, it fails with
402and codespend_cap_reached. - Refunded calls do not count toward the cap.
- It is a soft limit. The check happens before the charge, so requests running at the same moment can take spend slightly past it.
- The month-to-date figure in the dashboard is the same counter the cap is enforced against.
- Only the workspace owner can change the cap.
Shared credits in a team workspace
Everyone in a workspace spends from the same balance and the same monthly cap.
| Role | Spend credits | Buy credits | Auto recharge, spend cap, saved card |
|---|---|---|---|
| Owner | Yes | Yes | Yes |
| Admin | Yes | Yes | No |
| Member | Yes | No | No |
| Client | No | No | No |
When auto recharge is on, a teammate's usage can trigger a recharge on the owner's saved card. Members create their own API keys, and owners and admins can manage all of them.
Low balance alerts
RankParse emails the workspace owner once a week when the balance drops under 1,000 credits, and when credits run out.
Insufficient credits
When the balance cannot cover a call, the API answers 402 and does not run the request:
{
"error": "Payment Required",
"code": "insufficient_credits",
"message": "Add credits at https://rankparse.com/pricing"
}No credits are deducted for the failed call.