REST API: Pulling SeoMap Data Into Your Own Tools

A read-only API for the rest of the toolkit

SeoMap data rarely stays put — a client dashboard, an internal reporting sheet, or a Zapier workflow that pings Slack when a scan finishes all need those numbers somewhere else. There’s a dedicated, publicly documented REST API for that: read-only access to your own projects, scans, and grid points over HTTP, with self-generated, self-revocable API keys. No marketplace listing, no official Zapier app required — anything with a generic HTTP module (Zapier, n8n, Make, a custom cron script) can connect directly.

What the API exposes

Four endpoints cover the full read path: GET /api/v1/projects lists your projects with location and tags, GET /api/v1/projects/:id/scans lists a project’s scans with status and metrics, GET /api/v1/scans/:id returns a single scan, and GET /api/v1/scans/:id/points returns the full set of grid points with rank. Every response is plain JSON — no login session to work around, no browser required. Those four layers (project → scan → point) mirror how the app itself structures data, so any automation trigger visible in the app maps cleanly onto the API.

Auth over a bearer key

Every request needs an Authorization: Bearer <key> header. An invalid or already-revoked key returns 401. The key itself is stored hashed — once shown in plain text at creation, it can never be viewed again, only revoked and replaced with a new one. Multiple keys can run in parallel (one for Zapier, one for an internal script), each with its own label and its own “last used” timestamp, so separate automations stay easy to tell apart and revoke independently.

What’s deliberately missing

The API is kept intentionally narrow: no write access, no way to trigger a scan or edit a recurring scan schedule through it — that stays in the app, partly because the credit and budget check ahead of every scan lives there. Internal billing data (cost per scan, credit charges, BYOK status) also isn’t served, exactly like public share links. Anything beyond pure read access — triggering scans from an external system, for instance — still needs the app itself for now.

Frequently asked questions

What can I do with the REST API?

Read only: pull your own projects, their scans, and a scan's grid points over HTTP. Starting scans, creating projects, or changing settings isn't possible through the API — the app stays the interface for that.

How do I get an API key?

Generate one in Settings under "REST API." It's shown in plain text once, then only in masked form afterward. Any key can be revoked at any time without affecting the others.

Can a key see another account's data?

No. Every response contains only data owned by the key's owner. An ID belonging to someone else's project or scan returns a plain 404 — not a hint that the ID even exists.

What data is deliberately left out of the API?

Internal billing data — cost per scan, credit charges/refunds, and BYOK status. Same principle as public share links: anything with no business being external simply isn't served.

← Back to Knowledge Base

Lay the map over your service area.

The first scan takes under three minutes. After that you’ll see your visibility the way your customers do.

Run your first scan500 free credits · no credit card