The Cheapest Claude Rank Tracking API for Developers

The sources behind a Claude answer, where your domain sits among them, and a score you can chart. From $1.00/1K.

Try for Free View Documentation
From $1.00/1K queries Free to start Cited URLs and positions No monthly plan

Call GET /api/ai/rank/claude with a keyword and, optionally, a target domain. The response carries the same keys as every other engine in the catalog.

Run a live Claude rank check

One real call, no signup and no key. The citation list and the raw JSON come back side by side.

Claude Citations, Billed Per Call

One call is one Claude-labeled answer and the sources cited in it. The rate never moves with citation count, prompt style or a domain check.

GET /api/ai/rank

All four engines

from $2.00
/1K queries (Scale tier)
  • Claude, ChatGPT, Gemini and Perplexity in one request
  • Half the price of four separate single-engine calls
  • A single blended visibility score
  • $10.00 an engine at Default, $0.50 an engine at Scale
Default$40.00/1K queries
Growth$4.00/1K queries
Scale$2.00/1K queries
Compare engines →

Both discounts are unlocked by a single deposit — $100 for Growth, $500 for Scale — which is permanent and never downgrades. There is no monthly minimum anywhere in this pricing, and every account starts with free API calls.

A Claude Rank Check in One Request

The endpoint takes a question, an optional domain and an optional prompt style. There is no region or language setting to get wrong.

cURL — Claude rank check
# The Claude answer for a keyword, plus every source cited in it
curl "https://apiserpent.com/api/ai/rank/claude?q=best+project+management+software" \
  -H "X-API-Key: YOUR_API_KEY"

# Track a domain: match type, position and the score come back filled in
curl -G "https://apiserpent.com/api/ai/rank/claude" \
  --data-urlencode "q=best project management software" \
  -d "domain=asana.com" -d "prompt_type=deep" \
  -H "X-API-Key: YOUR_API_KEY"
Python — requests
# pip install requests
import requests

resp = requests.get(
    "https://apiserpent.com/api/ai/rank/claude",
    params={"q": "best project management software", "domain": "asana.com"},
    headers={"X-API-Key": "YOUR_API_KEY"},
    timeout=60,
)
data = resp.json()
claude = data["results"]["claude"]

print("cited:", claude["target_found"], "at", claude["target_position"])
print("domains:", data["aggregate"]["all_domains_cited"])
Node.js — fetch
// Node 18+ — fetch is built in. Allow a generous timeout.
const qs = new URLSearchParams({
  q: 'best project management software',
  domain: 'asana.com'
});

const res = await fetch('https://apiserpent.com/api/ai/rank/claude?' + qs, {
  headers: { 'X-API-Key': process.env.SERPENT_KEY },
  signal: AbortSignal.timeout(60000)
});
const { results, aggregate } = await res.json();

const claude = results.claude;
console.log(claude.target_match_type, claude.target_position, claude.total_citations);
console.log(aggregate.all_domains_cited.join(', '));
JSON Response (partial)
{
  "success": true,
  "run_id": "7c1f2a90-3b4d-4c19-9d2e-1f8a6b0c4471",
  "keyword": "best project management software",
  "target_domain": "asana.com",
  "results": {
    "claude": {
      "llm": "claude",
      "model": "claude-sonnet-4-6",
      "citations": [
        {
          "position": 1,
          "url": "https://example.com/pm-tools-compared",
          "title": "14 Project Management Tools, Compared on Price",
          "cited_text": "...teams of 10 to 50 tend to outgrow a board-only tool [1]",
          "url_normalized": "example.com/pm-tools-compared",
          "domain": "example.com"
        },
        {
          "position": 2,
          "url": "https://asana.com/product",
          "title": "Asana Product Overview",
          "cited_text": "...timeline and workload views on the paid tiers [2]",
          "url_normalized": "asana.com/product",
          "domain": "asana.com"
        }
      ],
      "target_found": true,
      "target_position": 2,
      "target_match_type": "exact",
      "target_matched_domain": "asana.com",
      "total_citations": 11,
      "response_text": "The right choice depends mostly on team size...",
      "error": null
    }
  },
  "aggregate": {
    "visibility_score": 13,
    "found_in": ["claude"],
    "best_position": { "engine": "claude", "position": 2 },
    "all_domains_cited": ["asana.com", "example.com"],
    "total_latency_ms": 14210
  },
  "meta": { "elapsed": "14240ms", "timestamp": "2026-09-08T10:00:00.000Z" }
}

The score reads 13 rather than 100 on purpose: visibility_score is weighted per engine and blended across whatever the response holds, and Claude carries the smallest weight of the four, so a Claude-only call tops out at 15. For a single engine, target_position is the number to chart; for the full 0–100 blend, call /api/ai/rank.

Every Field a Claude Call Returns

Typed JSON, not an answer you have to run a regular expression over. Every key is present on every response, whatever the answer happened to contain.

Cited source fields

  • citations[].position
  • citations[].url
  • citations[].title
  • citations[].cited_text
  • citations[].url_normalized
  • citations[].domain
  • total_citations

Domain tracking fields

  • target_domain
  • target_found
  • target_position
  • target_match_type
  • target_matched_domain
  • aggregate.found_in
  • aggregate.best_position

Answer and run fields

  • run_id
  • keyword
  • llm
  • model
  • response_text
  • aggregate.visibility_score
  • aggregate.all_domains_cited
  • aggregate.total_latency_ms
  • meta.elapsed

Request parameters

  • q (the question, required)
  • keyword (alias for q)
  • domain (optional target)
  • prompt_type=standard (default)
  • prompt_type=deep (up to 15 citations)
  • prompt_type=brand (comparison form)
  • X-API-Key (request header)

What Claude citation data is, and why it is hard to buy

Claude is the engine most vendors skip. That makes it the cheapest gap in a competitor’s reporting, and the most expensive one to fill anywhere else.

The engine most vendors do not sell

Bright Data’s Claude scraper page returns an HTTP 404. Oxylabs lists ChatGPT, Gemini and Perplexity targets and no Claude — the matching Claude URL is a 404. DataForSEO’s own LLM Scraper page says in writing that only ChatGPT and Gemini are supported. SearchApi.io, cloro.dev, SerpApi and HasData carry no Claude engine on any pricing page.

Every one of those is a single click to verify, which is the point. The four linked above were re-checked on 2026-09-10. This is not a claim about quality; it is a statement about what is on sale.

The one lookalike is a different product

ScrapingBee does publish a Claude scraper. What it reads is publicly shared claude.ai conversation pages, so it cannot tell you whether your domain is cited for a keyword you care about — there is no keyword in the transaction at all.

Worth knowing before the two get compared on price, because they are not the same purchase.

Where a per-response price does exist

Athena’s $295 a month works out at $81.94 per 1,000 responses. Otterly sells Claude as a paid add-on at $29, $109 or $439 a month on top of a $29, $189 or $489 plan. DataForSEO’s LLM Responses product does list Claude, but prices it as a base task fee of $0.0006 plus whatever the model API charges, so no all-in total is published at all.

Against the one figure that can be computed — Athena’s $81.94 — this endpoint is roughly 4 times cheaper on Default, 41 times on Growth and 82 times on Scale.

One shape, four engines, one parser

Swap claude for chatgpt, gemini or perplexity in the path and every key stays where it was. The combined endpoint nests the same object under each engine name, so adding Claude to an existing integration is a change to the URL and nothing else.

Subdomain matches are resolved for you. Ask for example.com, get docs.example.com cited, and target_match_type comes back as subdomain with the matched host beside it.

Who Actually Sells a Claude Answer

A price column is only useful where a product exists, so this table starts with whether the vendor sells a Claude answer at all.

Provider Cost per 1,000 Sells a Claude answer? What it requires
Serpent (ours)$1.00Yes, per callOne-time $500 deposit, permanent. Free to start
Anthropic (own API)$10.00 plus tokensAn answer, with no citation analysisToken costs on top, so no per-answer total is published
Athena$81.94Subscription only$295 a month
DataForSEO LLM ResponsesNot publishedYesA base task fee of $0.0006 plus the model API’s own charge
DataForSEO LLM ScraperNoIts page states that only ChatGPT and Gemini are supported
OtterlyNot publishedPaid add-on$29, $109 or $439 a month on top of a $29, $189 or $489 plan
ScrapingBeeNo, a different productIts Claude scraper reads publicly shared claude.ai pages
Bright DataNoIts Claude scraper page returns an HTTP 404
OxylabsNoChatGPT, Gemini and Perplexity targets only
SearchApi.io, cloro.dev, SerpApi, HasDataNoNo Claude engine on any of their pricing pages

The Bright Data, Oxylabs and DataForSEO rows were re-checked against those vendors’ own live pages on 2026-09-10; the rest were checked on 2026-09-08 and are unchanged. A dash means the vendor does not sell the product, not that it is expensive. Peec and Scrunch are left out because neither publishes a rate we could read on their own pricing page.

No vendor on this table publishes a flat per-call rate for a Claude answer. That is the finding, and it takes a few minutes to check: three of them say so on their own pages, one returns a 404, and the rest have no Claude engine to price.

So the honest comparison here is not a margin. It is $1.00 per 1,000 on Scale, $2.00 on Growth and $20.00 on Default, against a $295 monthly subscription, a paid add-on stacked on a plan, or a total the vendor does not publish.

Anthropic’s own API is the closest first-party option here. It charges $10.00 per 1,000 searches plus standard token costs, so the all-in price moves with answer length — and what comes back is prose, not a citation list with positions, a domain match and a score.

What Teams Use Claude Rank Checks For

Four jobs this endpoint gets bought for, and the field each one reads.

Covering the engine a rival cannot report on

When a competitor’s AI visibility report has no Claude column, it is usually because their tool has no Claude engine. One call per keyword closes that gap at a rate you can state in a proposal.

Store target_found and target_position per keyword per week. Two columns and a date is enough to show movement to a client.

Comparing Claude against the other three

Run the same keyword through all four engines and compare all_domains_cited. Domains that appear on one engine and nowhere else are where a single page is doing the work — or failing to.

/api/ai/rank does that in one request, and bills less than four separate calls would.

Long-form research questions

prompt_type=deep raises the citation ceiling from 10 to 15 and asks for a fuller treatment, which surfaces sources a short answer never reaches.

Useful when you are auditing a topic rather than a single keyword. Keep the style fixed inside a series so the numbers stay comparable to each other.

Proving a content change worked

Record run_id, the date and the citation list before you publish a change, then run the same keyword again afterwards. The two lists are the before and the after, in your own storage.

cited_text shows the passage each source was referenced for, so you can see which claim was picked up rather than only that the page was named.

Python — Claude citation snapshot
# One row per keyword per run. The citation list is the evidence you keep.
import csv, requests

KEYWORDS = ["best project management software", "cheapest serp api"]

with open("claude-citations.csv", "a", newline="") as fh:
    out = csv.writer(fh)
    for kw in KEYWORDS:
        r = requests.get(
            "https://apiserpent.com/api/ai/rank/claude",
            params={"q": kw, "domain": "example.com"},
            headers={"X-API-Key": "YOUR_API_KEY"},
            timeout=60,
        )
        row = r.json()["results"]["claude"]
        out.writerow([
            kw,
            row["target_position"] or 0,
            row["total_citations"],
            "|".join(c["domain"] for c in row["citations"]),
        ])

Claude Rank Tracking API Questions

Not at a published flat rate, as of 2026-09-10. Bright Data’s Claude scraper page returns an HTTP 404, Oxylabs offers ChatGPT, Gemini and Perplexity targets only, and DataForSEO’s LLM Scraper page states that only ChatGPT and Gemini are supported. SearchApi.io, cloro.dev, SerpApi and HasData list no Claude engine at all. The subscription tools that do cover Claude sell it by the month or as a paid add-on.
A Claude-labeled answer for your keyword, and the list of sources cited in it. Every entry holds a position, the url and its domain, the page title, a normalized URL for matching, and cited_text — the passage in the answer where the reference sits. Around that list sit total_citations, the answer itself in response_text, the public model label and, if you supplied a domain, the four target fields plus a score.
Default is $20.00 per 1,000 queries, Growth is $2.00 and Scale is $1.00. The two discounts are earned by a single deposit — $100 and $500 — which is permanent and never rolls back. Nothing is billed monthly and nothing expires. Every new account also holds free API calls, and AI Ranking is allowed to spend them.
Because visibility_score is weighted per engine and blended across the engines in the response, and Claude carries the smallest weight of the four. A Claude-only call therefore tops out at 15, even when your domain is cited first. The number is describing the blend, not grading your page. For a single engine, chart target_position; for the full 0 to 100 figure, call /api/ai/rank.
Every response carries a model field with the public Claude model label, currently claude-sonnet-4-6. Record it beside each result. When the label changes, a shift in your chart has an explanation sitting in your own data rather than looking like unexplained movement.
The ceiling is 10 on the default prompt style and 15 on prompt_type=deep. Neither is a promise: a narrow question routinely produces fewer, which is why total_citations exists. If nothing was cited at all, citations arrives as an empty array rather than vanishing from the response.
Yes, and it says which kind of match it made. An exact match on the domain you passed sets target_match_type to exact, while a citation of one of its subdomains sets it to subdomain and puts the matched host in target_matched_domain. Exact is always tried first, so a page on your main domain wins when both are cited.
Yes. GET /api/ai/rank covers all four in one request, with the same object nested under each engine name. The combined rate is $40.00 per 1,000 on Default, $4.00 on Growth and $2.00 on Scale — half what four separate single-engine calls would cost. A subset works too, as engines=claude,chatgpt; anything naming more than one engine bills at the combined rate.
Expect 10 to 25 seconds. An answer takes longer to arrive than a search page does, so budget for it and set a client timeout of at least 60 seconds. Where more than one engine is wanted, the combined endpoint costs less than the same engines called on their own.
Yes. Every account starts with free API calls and AI Ranking draws from that shared pool, so a real Claude check costs nothing to try. After the free calls are used the endpoint bills per call at your tier, and there is nothing to cancel afterwards because there is no subscription.

Start tracking Claude citations

free API calls, no card and no subscription. Claude rank checks from $1.00 per 1,000 queries.

Try for Free

Related guides

More on getting named in a Claude answer, and on measuring it.

Claude vs AI OverviewsWhere the two surfaces disagree about who to cite. How Citations Get PickedWhat decides which sources end up in an answer. 14 AI Rank Trackers AuditedWhich tools publish their method, and which do not. Structured Data for CitationsThe markup that makes a page easy to quote. Citation Tracker in PythonA runnable tracker across all four engines. GEO vs AEO vs SEODefinitions, comparison and a 12-step checklist. AI Rank APIAll four engines behind one endpoint and one key. ChatGPT Rank APIThe same response shape for ChatGPT answers.