Misar Docs
MisarMailMisar.BlogMisarReachMisarPostMisar.DevMisar PlatformMisar IdentityMisar Posts API

Rank Tracking

Create, update, and delete rank-tracker configs and their tracked keywords.

Rank-tracker configs pair a domain with a location, language, device set, and check schedule. Reads return latest keyword positions; writes manage configs and their keyword lists. All endpoints are workspace-scoped via SSO.

Read positions

GET https://api.misar.io/seo/rank-tracking/keywords?projectId=...&trackerId=...

Without trackerId: lists trackers in the project. With trackerId: returns the config plus the latest position snapshot per keyword. Free — charges no credits.

Create a config

POST https://api.misar.io/seo/rank-tracking/configs
FieldTypeNotes
projectIdstring (uuid)Required.
domainstringDomain to track.
serpDepthnumber10–100.
locationCodenumberDataForSEO location (default 2840 = US).
languageCodestringDefault en.
devicesdesktop | mobile | bothDefault both.
scheduleIntervaldaily | weekly | manualDefault weekly.

Returns { "configId": "..." } with HTTP 201.

Update a config

PATCH https://api.misar.io/seo/rank-tracking/configs

Body: { projectId, configId, ...partial fields } (any of domain, serpDepth, locationCode, languageCode, devices, scheduleInterval, isActive). Returns { "success": true }.

Delete a config

DELETE https://api.misar.io/seo/rank-tracking/configs

Body: { projectId, configId }. Returns { "success": true }.

Deleting a config cascades to its tracked keywords, check runs, and position snapshots. This cannot be undone.

Add keywords

POST https://api.misar.io/seo/rank-tracking/keywords

Body: { projectId, configId, keywords: string[] }. Returns { "added": n, "addedIds": [...] } with HTTP 201.

Remove keywords

DELETE https://api.misar.io/seo/rank-tracking/keywords

Body: { projectId, configId, keywordIds: string[] }. Returns { "removed": n }.