RankParse

Quickstart

Create an account, get an API key and make your first RankParse API call in about five minutes.

By the end of this page you will have an API key, a working request in your language of choice, and an understanding of what the response contains. New accounts include 100 free credits and need no card.

Create an account

Sign up at rankparse.com/signup with GitHub, Google or an emailed sign-in link. Your workspace starts with 100 free credits, enough for 100 domain authority lookups or about 50 backlink reports.

Create an API key

Open Dashboard, Keys at rankparse.com/dashboard/keys, click New key, name it and click Create. Copy the key now. It is shown once and starts with rp_.

Store it in an environment variable so it stays out of your code:

export RANKPARSE_API_KEY="rp_your_key"

Never commit a key or ship it in browser code. See Authentication for key safety and rotation.

Make your first request

domain-authority costs 1 credit and returns an authority score, referring domain count and domain age for any domain.

curl "https://api.rankparse.com/v1/domain-authority?domain=github.com" \
  -H "X-API-Key: $RANKPARSE_API_KEY"
import os
import requests

resp = requests.get(
    "https://api.rankparse.com/v1/domain-authority",
    params={"domain": "github.com"},
    headers={"X-API-Key": os.environ["RANKPARSE_API_KEY"]},
    timeout=60,
)
resp.raise_for_status()
body = resp.json()

print(body["data"]["score"])
print(body["credits_remaining"])
const resp = await fetch(
  "https://api.rankparse.com/v1/domain-authority?domain=github.com",
  { headers: { "X-API-Key": process.env.RANKPARSE_API_KEY } },
);
if (!resp.ok) throw new Error(`HTTP ${resp.status}: ${await resp.text()}`);

const body = await resp.json();
console.log(body.data.score);
console.log(body.credits_remaining);

Pass domains as bare hostnames such as github.com, not full URLs.

Read the response

Every billable endpoint wraps its result in the same envelope. The values here are illustrative:

{
  "data": {
    "score": 94,
    "referring_domains": 1203455,
    "total_host_count": 2300112,
    "registered_at": "2007-10-09T18:20:50Z",
    "registrar": "MarkMonitor Inc.",
    "popularity_rank": 31,
    "health_score": 96,
    "risk_flags": []
  },
  "domain": "github.com",
  "credits_used": 1,
  "credits_remaining": 99
}
FieldMeaning
dataThe result. Its shape depends on the endpoint.
domainThe domain you asked about.
credits_usedWhat this call cost.
credits_remainingYour balance after the call.

Row-based endpoints such as backlinks also return total and limit, and some return partial: true when part of an answer timed out. See Response format for every field.

Handle errors

Check the HTTP status and branch on the code in the error body:

{
  "error": "Payment Required",
  "code": "insufficient_credits",
  "message": "Add credits at https://rankparse.com/pricing"
}

The most common first-run problems:

StatusCodeFix
401invalid_api_keyCheck the X-API-Key header and that the key was not revoked.
400invalid_domainSend a bare hostname like github.com.
402insufficient_creditsAdd credits. See Credits.
429rate_limitedMore than 60 requests in a minute. Back off. See Rate limiting.

The full list is in Errors.

Where to go next

Pick a second call to try:

# 2 credits: the top 10 backlinks for a domain
curl "https://api.rankparse.com/v1/backlinks?domain=stripe.com&limit=10" \
  -H "X-API-Key: $RANKPARSE_API_KEY"
import os
import requests

# 2 credits: the top 10 backlinks for a domain
resp = requests.get(
    "https://api.rankparse.com/v1/backlinks",
    params={"domain": "stripe.com", "limit": 10},
    headers={"X-API-Key": os.environ["RANKPARSE_API_KEY"]},
    timeout=60,
)
for link in resp.json()["data"]:
    print(link["from_domain"], link["anchor_text"])
// 2 credits: the top 10 backlinks for a domain
const resp = await fetch(
  "https://api.rankparse.com/v1/backlinks?domain=stripe.com&limit=10",
  { headers: { "X-API-Key": process.env.RANKPARSE_API_KEY } },
);
const { data } = await resp.json();
for (const link of data) console.log(link.from_domain, link.anchor_text);

Use it from an AI agent

RankParse also runs as an MCP server, so Claude, ChatGPT, Claude Code and Cursor can call the same data as tools without any code. Connect with OAuth, or with the same API key you just created. Setup takes a couple of minutes. See MCP server.

On this page