How to use Rank Tracker API?


The Rank Tracker API lets you pull your keyword ranking data out of Sitechecker and into your own tools, scripts, and reports. Instead of opening the Rank Tracker tool and reading the tables by hand, you can request the exact data you need over HTTP:

  • tracked keyword positions,
  • visibility,
  • competitor distribution,
  • page and group aggregates,
  • SERP snapshots,
  • SERP Opportunities.

This guide explains what the Rank Tracker API is, how authentication and projects work, what each endpoint returns, and the most common ways SEO teams and agencies use it in their day to day work.

For the exact request paths, full field lists, and a live request builder, keep the API reference open next to this article.

What is the Rank Tracker API?

The Rank Tracker API is a module inside the Sitechecker Public REST API. It exposes the same data you see in the Rank Tracker tool, as clean JSON you can automate. It is a read API: it returns ranking data, it does not change your settings.

It is built for agencies and SEO teams who want to automate rank tracking: white label client reports, custom dashboards, competitor tracking, and feeding rankings into AI tools.

Who can use it

Public API access is a plan level entitlement, available on Premium and Enterprise plans. You also need your API key and a project with the Rank Tracker collecting data.

Setup

Authentication and project setup are the same as the rest of the Public API. Follow the getting started guide for your API key and project_id  . In short: send the key as Authorization: Bearer <your_api_key>   and use the base path https://sitechecker.pro/api/v1  . You can only access your own account's projects.

The one Rank Tracker specific thing to grab first is your project's filter values, so you pass valid location, device, and language values instead of guessing:

curl --url 'https://sitechecker.pro/api/v1/rank_tracker_filter_values?project_id=12345' \
  --header 'Authorization: Bearer <your_api_key>'

The endpoints

Endpoint What it returns
rank_tracker_summary   Overview: main domain visibility, ranking distribution, short competitor list.
rank_tracker_filter_values   Valid search engines, devices, locations, and languages for the project.
keywords   Core endpoint: tracked keyword rows with position, volume, ranked URL, changes, and AI Overview flags.
serp_snapshot   Top 100 SERP for one keyword (by tracked_keyword_id  ), on demand.
keyword_daily_positions   Basic daily position history, capped at 21 points.
pages   URL level aggregates: visibility, average position, tracked keyword counts.
groups   Keyword group aggregates, and the source of your group_id   values.
competitor_domains   Competitor visibility and ranking distribution; source of your competitor_id   values.
competitor_keywords   Keyword by competitor position matrix (cap 50 keywords).
serp_opportunities   Monthly snapshot of URLs ranking across your keywords.
serp_opportunity_keywords   Drilldown of keywords behind one opportunity (by opportunity_id  ).

Example, the core keywords call:


bash
curl --url 'https://sitechecker.pro/api/v1/keywords?project_id=12345&date_from=2026-02-22&date_to=2026-05-22&device=desktop&rankings=top_10&limit=50' \
  --header 'Authorization: Bearer <your_api_key>'

Add optional data with fields=   (for example gsc_metrics  , cpc  , ai_overview  , or keyword_refs   on pages  ). Full AI Overview text and citations live in the separate AI Visibility module, not here.

Rules to remember

  • Filters are keyword level everywhere. On pages, groups, and competitors, filters shrink the underlying keyword set first, then the endpoint aggregates.
  • Ranking filters are cumulative, distribution buckets are exclusive. top_10   means positions 1 to 10; the bucket top_4_10   covers only 4 to 10.
  • Movement filters need a window. Use moved_up   / moved_down   with movement_window   (1d, 7d, 30d, 90d, all_time).
  • Visibility is a snapshot for the latest check in your date range (as_of_date  ), with no chart trend points, except keyword_daily_positions  , which is capped at 21 days.
  • SERP Opportunities ignores the date picker; it is a monthly snapshot.
  • Chain IDs (group_id  , competitor_id  , tracked_keyword_id  , opportunity_id  ) into downstream calls. Caps: keywords 50, competitor_keywords 50, serp_snapshot top 100.

Use cases: how agencies use the Rank Tracker API

Here are the patterns SEO agencies and in-house teams get the most value from.

1. Automated white-label client reporting

The most common use case. Instead of logging into a dashboard and rebuilding a report every month, agencies pull ranking data on a schedule and drop it straight into their own branded reports, dashboards, or client portals.

A monthly job hits rank_tracker_summary    for the headline visibility and distribution, keywords    for the movers, competitor_domains    for the competitive context, and pages    for the winning URLs, then formats it under the agency's own brand.

Because Sitechecker does not charge per seat, you can wire the same data into as many client workspaces as you manage without watching your margins shrink per client.

2. Plain ranking commentary with AI

A fast growing pattern is piping the API's JSON into an AI assistant to write the narrative that clients actually read. You pull the raw numbers, then ask a model to summarize what moved, flag notable jumps and drops, and draft client ready commentary.

The screenshot attached to this article shows exactly this: an operator using Claude connected to the Sitechecker Rank Tracker API to interrogate a project's data conversationally.

It turns "here are 400 keyword rows" into "here is what changed and what to do about it," in seconds, at the top of every report.

3. Finding content and outreach gaps with SERP Opportunities

serp_opportunities    is one of the most strategic endpoints for agencies doing content and digital PR. Because it aggregates the top 100 SERPs across a whole keyword universe, it reveals which domains own your client's space and how.

In the attached example, a single call across roughly 3,500 opportunity URLs surfaced that YouTube appeared as an opportunity 572 times, more than eight times the next domain, pointing to video as a wide open channel.

It also flagged a direct competitor winning the exact keyword cluster the client wants, and around 100 Reddit and Quora threads where buyers were actively asking for alternatives, a founder led engagement play rather than a content one.

Filter by content_type    to separate listicles you want to be listed in (listings   ) from review placements (reviews   ) and community threads (ugc   ), then drill into any URL with serp_opportunity_keywords    to get the exact terms to target.

4. Deciding whether to compete or get listed with SERP snapshots

serp_snapshot    answers a practical strategy question for any head term: can we realistically rank, or should we get placed inside the pages that already rank?

The  attached example pulls the top 20 for a competitive head term and shows the client's domain does not appear at all, while the SERP is dominated by big brands and "best of" listicles.

The read is clear: rather than competing head on, the near term play is outreach to get listed inside those listicle pages, or targeting a narrower long tail variant where the client already ranks.

One API call replaces a lot of manual SERP eyeballing, and it scales across every priority keyword.

5. Competitor visibility and keyword gap tracking

competitor_domains    and competitor_keywords    let you track rivals as first class citizens. Agencies use the domain endpoint to monitor share of visibility over time (are we gaining or losing ground on the tracked set), and the keyword matrix to find gaps where a competitor ranks in the top 10 and the client does not.

That gap list becomes the content and optimization roadmap for the next sprint.

6. Local and multi location reporting

For clients with local or multi location audiences, national averages hide the truth.

Because filters are keyword level and location aware, you can pull rankings per configured location and device, then report mobile and desktop positions side by side per city.

Use rank_tracker_filter_values    to get the configured locations, then loop your keywords    or pages    calls per location_id   .

7. Ranking movement alerts

Rather than waiting for the monthly report, teams poll keywords    with rankings=moved_up    or rankings=moved_down    and a movement_window   , then push notable movements into Slack or email.

Clients hear about a big jump or a sudden drop the day it happens, which is exactly the kind of proactive communication that drives retention.

8. AI Overview visibility monitoring

AI Overviews are reshaping the SERP, and clients want to know when they appear and whether the brand is mentioned.

The cheap has_ai_overview    and brand_mentioned    flags on the keywords    endpoint let you track, at scale, how many of a client's keywords trigger an AI Overview and where the brand shows up, without pulling heavy AI payloads. It is an easy, high value line to add to any modern SEO report.

Best practices

  • Discover, then request. Start every integration with projects    and rank_tracker_filter_values    so you pass valid IDs instead of guessing.
  • Request lean, expand with fields=. Keep default responses small and only add gsc_metrics   , ai_overview   , cpc   , keyword_refs   , or page_refs    when you actually need them.
  • Respect the caps and paginate. Loop with offset    or the cursor rather than trying to force a large range into one call.
  • Chain IDs, do not hardcode them. Pull group_id   , competitor_id   , tracked_keyword_id   , and opportunity_id    from their source endpoints and reuse them downstream.
  • Cache the snapshot layer. SERP Opportunities updates monthly, so there is no need to call it more than once per snapshot.

Common errors

The API returns clear error codes so you can handle problems in your integration:

  • INVALID_API_KEY    or REVOKED_API_KEY   : the Bearer token is wrong or has been revoked.
  • MISSING_PUBLIC_API_ACCESS   : the account does not have an active API entitlement. Check your plan.
  • ACCESS_DENIED   : the requested project belongs to another account.
  • PROJECT_NOT_FOUND   : the project_id    does not exist or is not visible to your key.
  • INVALID_DATE_RANGE    or INVALID_FILTER   : a date range or filter value is not valid. Recheck values against rank_tracker_filter_values   .
  • RATE_LIMIT_EXCEEDED   : you are sending requests too quickly. Slow down and retry.
  • KEYWORD_NOT_FOUND   , OPPORTUNITY_NOT_FOUND   , SNAPSHOT_UNAVAILABLE   : the specific ID or snapshot you asked for is not available.

Frequently asked questions

What is the Rank Tracker API used for? It gives you programmatic access to your Sitechecker keyword ranking data: positions, visibility, competitor distribution, page and group aggregates, SERP snapshots, and SERP Opportunities. Teams use it to automate client reports, build custom dashboards, track competitors, and feed rankings into AI tools.

How do I authenticate with the Rank Tracker API? Send your API key as a Bearer token in the Authorization    header on every request. Your key is in your project settings, alongside the Site Audit API key.

Do I need a specific plan to use it? Yes. Public API access is available on Premium and Enterprise plans. Without an active entitlement, requests return MISSING_PUBLIC_API_ACCESS   .

How do I get my project ID? Call GET /api/v1/projects    with your API key. The response lists every project your key can access, each with its project_id   .

Can I track competitor keyword rankings through the API? Yes. Use competitor_domains    for domain level visibility and distribution, and competitor_keywords    for a keyword by competitor position matrix.

Can I see AI Overview data? The Rank Tracker API exposes cheap AI Overview indicators (has_ai_overview   , brand_mentioned   ) on the keywords endpoint. Full AI Overview text, citations, and source analysis are part of the separate AI Visibility module.

Why do the pages and groups endpoints not return keyword details? To keep responses fast and lean. Request fields=keyword_refs    (pages) or fields=page_refs    (groups) for a lightweight reference list, then call the keywords    or pages    endpoint for full metrics.

Need help?

If you have any questions about the Rank Tracker API, you can reach us at support@sitechecker.pro. For the full endpoint reference and a live request builder, see the API documentation. We will be glad to help you out.

Did this answer your question? Thanks for the feedback There was a problem submitting your feedback. Please try again later.

Still need help? Contact Us Contact Us