MisarMisar Docs
MisarMailMisarBlogMisarReachMisarPostMisarDevMisarCoderMisarSEOMisar PlatformMisar SSO
Getting Started

Quickstart

Create an API key, create a project, crawl a site, and read the results — the shortest path through the MisarSEO API.

Everything in MisarSEO hangs off a project. A project owns a domain, and every audit, keyword, tracker, and report is scoped to it.

Base URL: https://api.misar.io/seo.

Create an API key

From your MisarSEO account, create a developer key. The raw mseo_… value is shown once.

export MISARSEO_API_KEY="mseo_live_9f2c…"

See Authentication for the full flow.

Create a project

curl -X POST https://api.misar.io/seo/projects \
  -H "Authorization: Bearer $MISARSEO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "name": "Acme", "domain": "acme.com" }'
{ "project": { "id": "5b1c…", "name": "Acme", "domain": "acme.com" } }

GET /seo/projects auto-creates a first project if you have none, so you can skip this step and just list.

Start a crawl

Crawls are asynchronous. The call returns immediately with a job id.

curl -X POST https://api.misar.io/seo/crawl/start \
  -H "Authorization: Bearer $MISARSEO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "projectId": "5b1c…",
    "startUrl": "https://acme.com",
    "maxPages": 500
  }'
202 Accepted
{ "jobId": "aud_7f3e…", "auditId": "aud_7f3e…" }

Follow progress

Poll the status endpoint, or subscribe to the SSE stream for live updates.

curl "https://api.misar.io/seo/crawl/aud_7f3e…/status?projectId=5b1c…" \
  -H "Authorization: Bearer $MISARSEO_API_KEY"

Research keywords

curl -X POST https://api.misar.io/seo/keywords/research \
  -H "Authorization: Bearer $MISARSEO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "projectId": "5b1c…",
    "keywords": ["seo audit tool", "rank tracker"],
    "locationCode": 2840,
    "languageCode": "en"
  }'

Track rankings

Create a tracking config, then add keywords to it.

curl -X POST https://api.misar.io/seo/rank-tracking/configs \
  -H "Authorization: Bearer $MISARSEO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "projectId": "5b1c…", "domain": "acme.com", "serpDepth": 100 }'
201 Created
{ "configId": "cfg_2a9b…" }

What you can do next

Data providers

Some metrics are provider-gated

MisarSEO runs in one of two data modes. The free mode uses only sources with an honest public origin — PageSpeed Insights, search autocomplete, keyword planners, an open SERP backend, and open domain-authority data. Anything with no honest free source returns null or fails with 501 SEO_DATA_UNAVAILABLE rather than fabricating a number. The paid mode enables the full metric set. Design your integration to tolerate 501 on metric-heavy endpoints.