Public API

Developers

Public API

Read your sites, reports, rankings, and keywords over a simple key-authenticated API. Agency feature.

Public API

The public API gives you read-only access to the data RankMeFast already holds for your account — sites, the latest audit report, rank history, and tracked keywords. It is an Agency feature (see Plans, limits & credits). The API never triggers new vendor work — it only reads what your audits and rank checks have already produced.

Authentication

Create a key under Account → API keys (/profile?tab=api-keys). The full key is shown exactly once — copy it right away; afterwards only its prefix is visible. You can hold up to ten active keys and revoke any of them at any time. A revoked key stops working immediately.

Send the key as a bearer token on every request:

Authorization: Bearer rmf_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Replace https://your-rankme-host in the examples below with your api origin (the SERVER_URL of your install).

Endpoints

List your sites

curl -H "Authorization: Bearer rmf_..." \
  https://your-rankme-host/api/v1/sites

Returns { "sites": [{ "id", "domain", "url", "createdAt" }] }.

Latest audit report for a site

curl -H "Authorization: Bearer rmf_..." \
  https://your-rankme-host/api/v1/sites/<siteId>/report/latest

Returns the most recent succeeded audit as { "runId", "report" } — the same findings, buckets, and localized copy the dashboard shows. Responds 404 when the site has no finished audit yet.

Rank history for a site

curl -H "Authorization: Bearer rmf_..." \
  "https://your-rankme-host/api/v1/sites/<siteId>/rank-history?from=2026-06-01&to=2026-07-01"

Returns { "keywords": [{ "id", "phrase", "series": [...] }] }. Each series point carries the position, the URL that ranked, and the Google AI Overview signals (aiOverviewPresent, aiCited, aiCitedUrl). from and to are optional ISO dates.

All tracked keywords

curl -H "Authorization: Bearer rmf_..." \
  https://your-rankme-host/api/v1/keywords

Returns every tracked keyword across your sites with its latest position, delta, and AI Overview fields.

Compatibility

This release exposes exactly four read-only routes:

  • GET /api/v1/sites
  • GET /api/v1/sites/:siteId/report/latest
  • GET /api/v1/sites/:siteId/rank-history
  • GET /api/v1/keywords

Brand Radar, Review Intelligence, Link Intelligence, Traffic Insights, Keyword Trends, and the SERP Sensor do not add routes under /api/v1. The five paid surfaces remain authenticated dashboard features; the public sensor remains under /api/volatility. Existing response fields keep their meaning, and clients should ignore additive fields they do not recognize.

<!-- public-api-routes: GET /api/v1/sites; GET /api/v1/sites/:siteId/report/latest; GET /api/v1/sites/:siteId/rank-history; GET /api/v1/keywords -->

Rate limits

By default each key may make 120 requests per minute. Above that the API answers 429 until the window resets.

Errors

Errors use the shape { "error": { "message": "...", "details": ... } }, localized by your Accept-Language header:

  • 401 — the key is missing, malformed, revoked, or unknown.
  • 402 — your plan does not include the API.
  • 404 — the site or report does not exist on your account.
  • 429 — rate limit exceeded (body: { "error": "..." }).

Back to the docs index