TrackSERPs
Log in
Developer Platform

Your rankings, in your tools

A developer-first search ranking platform. Read top-100 positions, batch-upsert keywords, receive signed webhooks, and query rankings with Claude via Model Context Protocol. Reads don't cost credits.

✓ Top-100 Google SERP depth✓ API reads don’t use credits✓ Signed HMAC-SHA256 webhooks✓ Claude MCP stdio server✓ Scoped keys & IP allowlists
REST API

Complete control over projects, keywords, and rank data

Every capability in the TrackSERPs web dashboard is accessible through our JSON REST API. Base URL is https://api.trackserps.com/v1.

Zero credits

What you can read

Read queries never consume credits. They are bounded only by rate limits and monthly call allowances.

  • Latest rankings for projects and keywords with 7d and 30d deltas
  • Historical ranking time-series (up to 400 days) with net change calculations
  • Monthly Google search volume, estimated CPC, and competition index
  • Scan run status, duration, keyword counts, and credits charged
  • Account credit balances, active limits, and API usage statistics
  • Share link status and public report URLs
Idempotent writes

What you can write

Writes support the Idempotency-Key header for safe automatic retries.

  • Batch-upsert up to 500 keywords per call with device & location overrides
  • Soft-archive keywords without losing historical ranking data
  • Trigger manual project scan runs (returns held credits)
  • Dry-run check requests to calculate credit costs prior to execution
  • Enable, disable, and password-protect public share links
  • Register, update, test, and rotate secrets on webhook endpoints
# Fetch latest rankings with 7-day and 30-day delta movements
curl -s "https://api.trackserps.com/v1/projects/prj_01h8x/rankings/latest?device=desktop&limit=50" \
  -H "Authorization: Bearer ts_live_9b8c2d1e_4a7f920bc8194e32a67e10df38c5b901" \
  -H "Accept: application/json"
Real-time delivery

Signed webhooks and rank alert rules

Eliminate polling. Get notified the exact second rankings shift or scans settle. Every webhook is signed with HMAC-SHA256 and retried with backoff.

Webhook Events

Subscribe to any combination of events across your account:

  • run.completed
    Fires when a scan finishes with settled check counts
  • run.failed
    Fires if a scan could not complete due to an upstream fault
  • rankings.updated
    Delivers an array of all keywords whose latest rank changed
  • alert.triggered
    Fires when any keyword meets an alert rule condition
  • credits.low / exhausted
    Notifies your billing team before scans pause

Smart Rank Alert Conditions

Build automated rules that evaluate rankings immediately when scans settle:

  • entered_top_n / left_top_n
    Monitor top 3, 10, 20, or 100 benchmark boundaries
  • moved_by
    Alert when a keyword gains or drops more than N positions
  • not_ranked
    Trigger when a previously ranked keyword leaves the top 100
  • ranking_url_changed
    Detect keyword cannibalization or accidental landing page shifts
Channels: Deliver alerts to team email inboxes, Slack channels via encrypted webhook URLs, or programmatic HTTP endpoints.
AI Assistants

Model Context Protocol (MCP) for Claude

Connect Claude Desktop, Claude Code, or autonomous AI agents directly to your live rank data with our official @trackserps/mcp package.

Built-in MCP Tools

The server runs locally over stdio and translates natural language questions into secure REST API queries using your API key:

  • list_projects— Discover projects, tracked domains, and schedules
  • get_rankings— Inspect current positions and 7d/30d change deltas
  • get_ranking_movement— Find top gainers and biggest losers across dates
  • get_keyword_history— Retrieve full 400-day chronological rank curves
  • get_search_volume— Inspect Google monthly volumes, CPC, and trends
  • run_check— Trigger an on-demand scan run from your AI assistant
claude_desktop_config.jsonstdio transport
{
  "mcpServers": {
    "trackserps": {
      "command": "npx",
      "args": ["-y", "@trackserps/mcp"],
      "env": {
        "TRACKSERPS_API_KEY": "ts_live_9b8c2d1e_4a7f920bc8194e32a67e10df38c5b901"
      }
    }
  }
}
Ecosystem

Integrate with your marketing stack

Turnkey connectors and automated data pipelines designed for SEO teams.

View all integrations
Available

REST API

Full CRUD programmatic access

Available

Webhooks

HMAC-signed HTTPS events

Available

Claude MCP

AI queries in natural language

Available

Make (HTTP)

Visual multi-step scenarios

Coming soon

Google Sheets

Direct workbook synchronization

Coming soon

Looker Studio

Client executive dashboards

Coming soon

Zapier

5,000+ app automation triggers

Available

n8n

Self-hosted workflow orchestration

Enterprise Security

Defense-in-depth API security

Every key is scoped and protected. Keep production systems and test environments cleanly separated.

Granular Scopes

Enforce principle of least privilege with read and write scopes: rankings:read, keywords:write, runs:write, shares:write, and webhooks:write.

Project Isolation

Restrict keys to specific project IDs. Unauthorized project access returns HTTP 404 rather than 403, preventing resource enumeration.

CIDR IP Allowlist

Pin API keys to your office static IPs, VPN ranges, or cloud production clusters. All other requests are denied instantly.

Signed Webhooks & SSRF Defense

Deliveries carry HMAC-SHA256 signatures with 5-minute replay thresholds. Webhook URLs undergo connect-time IP resolution against SSRF attacks.

Test Mode Keys

Generate ts_test_ keys that target synthetic demo projects. Write requests validate schemas and idempotency without touching live data or credits.

Zero-Downtime Rotation

Rotate production keys with configurable grace periods (1 hour, 24 hours, or 7 days) so deployments never drop requests.

Billing Transparency

API reads don't use credits; checks do.

Querying your project rankings, extracting historical keyword curves, checking search volumes, and reading webhook delivery logs consumes zero credits. Credits are spent strictly when Google search checks execute—either on your scheduled project runs or when you trigger an on-demand scan with POST /runs.

StarterRead only
1 API key
60 req/min per key
10,000 calls/mo
0 webhook endpoints
5 rank alert rules
GrowthRead + write
3 API keys
120 req/min per key
100,000 calls/mo
2 webhook endpoints
25 rank alert rules
ProRead + write
10 API keys
300 req/min per key
500,000 calls/mo
5 webhook endpoints
100 rank alert rules
AgencyRead + write
25 API keys
600 req/min per key
2,000,000 calls/mo
20 webhook endpoints
500 rank alert rules

Start building with the TrackSERPs API

Create an account to generate your test keys instantly. Explore the interactive documentation, code examples, and TypeScript SDK.

TrackSERPs API — Your rankings, in your tools · TrackSERPs