Rank Tracking API

Point our Google web search endpoint at a keyword and location, then read back the exact positions, people-also-ask, and related searches as JSON. One credit per check that returns results, empties free.

Positions, PAA, related By query and location 1 credit per check
THE CALL

See a rank check

A rank tracking API is just a loop over keywords that reads Google's organic results and records where each URL sits. On CrustAPI you hit one endpoint, pass the keyword and a location, and get the ranked results back as JSON in about 1 to 1.5 seconds.

One curl call checks one keyword:

curl "https://crustapi.com/v1/search?type=web&q=best+running+shoes&location=Austin,Texas" \ -H "x-api-key: YOUR_KEY"

The organic array comes back position-ordered. Flatten it to one row per result and you have a rank log you can diff day over day:

keyword,position,title,url,domain best running shoes,1,The 12 Best Running Shoes,https://www.runnersworld.com/gear/running-shoes,runnersworld.com best running shoes,2,Best Running Shoes of 2026,https://www.nytimes.com/wirecutter/reviews/best-running-shoes,nytimes.com best running shoes,3,Top Rated Running Shoes,https://www.rei.com/c/running-shoes,rei.com

To read a single site's rank, find its row and take the position. To watch a whole set, store the rows with a timestamp and compare pulls. That loop is the entire tracker.

WHAT YOU GET

What each check returns

Every web search returns the full organic list plus the SERP features you track alongside a ranking. All of it is clean JSON, so there is no HTML parsing on your side.

Organicposition · title · url · domain · snippet SERP featurespeople-also-ask · related searches Knowledge graphreturned where Google shows one Query controlskeyword · location

People-also-ask and related searches are the content-gap signal SEO teams want next to a position. You get both in the same response, so a rank tracking API on CrustAPI doubles as a keyword-idea feed without a second call.

BUILD VS BUY

Versus rolling your own scraper

You can scrape Google yourself. The cost shows up later, in proxies that get blocked and parsers that break every time the SERP layout shifts.

DIY scraperCrustAPI
Proxies and blocksYour problemHandled for you
OutputRaw HTML to parsePosition-ordered JSON
BillingPay for every request1 credit per check, empties free
PAA and relatedParse them separatelyIn the same response
Location targetingBuild it yourselfPass a location string
PRICING

What it costs

One successful rank check costs 1 credit. A check that returns zero results costs nothing, so a keyword that falls off page one never bills you for an empty pull.

Credits are prepaid and never expire. The free tier gives you 3,000 checks a month with no card. Paid packs start at 25,000 credits for $49, about $1.96 per 1,000 checks, and the rate drops to $0.40 per 1,000 on the 250M pack.

Track 500 keywords once a day and that is roughly 15,000 checks a month, well inside the 25k pack with room left over.

Wire up a rank check in one call
Free 3,000 checks a month, no card. 1 credit each after that.
Get started →
THE TRADE-OFFS

When another tool wins

We give you the raw ranked data. We do not draw the charts or send the "you dropped to page two" email.

WHEN THEY WIN

You want a finished dashboard: if you need share-of-voice graphs, alerting, and a client-facing report out of the box, a packaged tracker like Ahrefs or Semrush is the faster path. CrustAPI is the data layer you build one of those on, not the UI.

The fit is SEO SaaS builders and agencies who want to own the tracking stack and pay per successful check instead of per seat.

Related: Google Search API · SERP API · Scrape Google search results

BEFORE YOU ASK

Common questions

WORKS WITH YOUR STACK

Own the data, build the tracker

CrustAPI hands you Google's ranked results as clean JSON by keyword and location, at 1 credit per successful check with empties free. Start on the free 3,000 checks a month and put a rank tracker on top of data you control, not a per-seat tool you rent.

Get 3,000 free credits
No credit card required