RankSharkDocs
Scans

Get a scan

RankShark TrackScopetrack:read

GET
/v1/track/scans/{id}

Every grid point (rank, organic rank, the listings seen in order), the listings, the metrics, the competitors and, for AI scans, aiMetrics and brands. Live while the scan runs.

Scope: track:read.

Authorization

headerAuthorizationBearer <rstk_… API key or OAuth access token>

A Track API key (rstk_…, Settings → API & MCP) or an OAuth access token issued for this API

Path Parameters

id*string

Scan id (gs_…). A malformed id is 404 not_found.

Match^gs_[A-Za-z0-9]{10,40}$

Response Body

OK

application/json
  1. response
id*string

gs_…

keyword*string
engine*string

The scan's engine: maps, search (the Google results page: local pack and web results), bing_maps, bing_search, or an AI engine

mode?string

website: a website campaign's scan, or a web search at the campaign's location (one point)

Value in"grid""website"
status*string
Value in"queued""waiting""running""done""failed""cancelled"
trigger?string
Value in"manual""schedule"
createdAt?|
Formatdate-time
startedAt?|

null until the first point

Formatdate-time
finishedAt?|

null until finished

Formatdate-time
progress?
metrics?|null
organicMetrics?|

Search engines: the website's organic rank

aiMetrics?|

AI scans (without sources here)

error*|

Why the scan failed, in plain words (null: it did not)

note?|

What the scan is waiting for (null: nothing)

grid?|null
suspect*boolean

Results may be unreliable (part of the scan's results were not for the grid points' locations): left out of trends, comparisons and reports

warning?|

Suspect scans: what to tell the reader

wait?
campaignId?|

The campaign (gt_…)

trackerId?|

The campaign (gt_…; same as campaignId)

center?|null
zoom?integer|null
location?|

Website scans: the location

language?string
country?string
ipArea?|

Where the searches came from

target?|null
points*array<>
places*

The listings seen, by key

competitors*array<>
brands?array<>

AI scans

Example Request
curl -X GET 'https://panel.rankshark.io/v1/track/scans/gs_3Hq7Vt2NwR8cYp'
Example Response
{  "id": "gs_3Hq7Vt2NwR8cYp",  "keyword": "dentist near me",  "engine": "maps",  "mode": "grid",  "status": "done",  "trigger": "schedule",  "createdAt": "2026-11-02T15:00:04.000Z",  "startedAt": "2026-11-02T15:00:31.000Z",  "finishedAt": "2026-11-02T15:06:12.000Z",  "progress": {    "done": 49,    "failed": 0,    "total": 49  },  "metrics": {    "points": 49,    "total": 49,    "found": 44,    "foundPct": 89.8,    "top3": 27,    "top10": 39,    "arp": 4.18,    "atrp": 5.9,    "solv": 55.1  },  "organicMetrics": null,  "error": null,  "note": null,  "grid": {    "size": 7,    "radiusM": 4828,    "shape": "square",    "unit": "mi"  },  "suspect": false,  "campaignId": "gt_8fK2mQ9xLp3s",  "trackerId": "gt_8fK2mQ9xLp3s",  "center": {    "lat": 30.2509,    "lng": -97.7493  },  "zoom": 13,  "language": "en",  "country": "us",  "ipArea": "austin, texas, US",  "target": {    "name": "Harbor Dental",    "domain": "harbordental.example",    "fid": "0x8644b50a3e3c0b1d:0x6a8d1e2f3c4b5a69",    "pid": "ChIJd8BlQ2BZwokRAFUEcm_qrcA",    "key": "0x6a8d1e2f3c4b5a69",    "phone": "+1 512-555-0142"  },  "points": [    {      "i": 0,      "row": 0,      "col": 0,      "lat": 30.2943,      "lng": -97.7995,      "st": "ok",      "rank": 3,      "ids": [        "0x3b8a1f0c2d9e4a17",        "0x1c2d3e4f5a6b7c8d",        "0x6a8d1e2f3c4b5a69"      ],      "depth": 20    },    {      "i": 1,      "row": 0,      "col": 1,      "lat": 30.2943,      "lng": -97.7828,      "st": "ok",      "rank": 2,      "ids": [        "0x3b8a1f0c2d9e4a17",        "0x6a8d1e2f3c4b5a69",        "0x1c2d3e4f5a6b7c8d"      ],      "depth": 20    },    {      "i": 24,      "row": 3,      "col": 3,      "lat": 30.2509,      "lng": -97.7493,      "st": "ok",      "rank": 1,      "ids": [        "0x6a8d1e2f3c4b5a69",        "0x3b8a1f0c2d9e4a17",        "0x1c2d3e4f5a6b7c8d"      ],      "depth": 20    },    {      "i": 48,      "row": 6,      "col": 6,      "lat": 30.2075,      "lng": -97.6991,      "st": "ok",      "rank": null,      "ids": [        "0x3b8a1f0c2d9e4a17",        "0x1c2d3e4f5a6b7c8d"      ],      "depth": 20    }  ],  "places": {    "0x6a8d1e2f3c4b5a69": {      "name": "Harbor Dental",      "category": "Dentist",      "rating": 4.8,      "reviews": 312,      "address": "1200 S Congress Ave, Austin, TX 78704",      "lat": 30.2509,      "lng": -97.7493,      "fid": "0x8644b50a3e3c0b1d:0x6a8d1e2f3c4b5a69",      "pid": "ChIJd8BlQ2BZwokRAFUEcm_qrcA"    },    "0x3b8a1f0c2d9e4a17": {      "name": "Bluebonnet Family Dentistry",      "category": "Dentist",      "rating": 4.6,      "reviews": 198,      "address": "815 W 6th St, Austin, TX 78703",      "lat": 30.2716,      "lng": -97.7529,      "fid": "0x8644b5a1c2d3e4f5:0x3b8a1f0c2d9e4a17",      "pid": null    },    "0x1c2d3e4f5a6b7c8d": {      "name": "Lakeline Smiles",      "category": "Cosmetic dentist",      "rating": 4.9,      "reviews": 87,      "address": "2300 S Lamar Blvd, Austin, TX 78704",      "lat": 30.2468,      "lng": -97.7801,      "fid": "0x8644b4c3d2e1f0a9:0x1c2d3e4f5a6b7c8d",      "pid": null    }  },  "competitors": [    {      "key": "0x6a8d1e2f3c4b5a69",      "name": "Harbor Dental",      "category": "Dentist",      "rating": 4.8,      "reviews": 312,      "address": "1200 S Congress Ave, Austin, TX 78704",      "lat": 30.2509,      "lng": -97.7493,      "fid": "0x8644b50a3e3c0b1d:0x6a8d1e2f3c4b5a69",      "pid": "ChIJd8BlQ2BZwokRAFUEcm_qrcA",      "appearances": 44,      "arp": 4.18,      "atrp": 5.9,      "solv": 55.1,      "top3": 27,      "best": 1,      "isTarget": true    },    {      "key": "0x3b8a1f0c2d9e4a17",      "name": "Bluebonnet Family Dentistry",      "category": "Dentist",      "rating": 4.6,      "reviews": 198,      "address": "815 W 6th St, Austin, TX 78703",      "lat": 30.2716,      "lng": -97.7529,      "fid": "0x8644b5a1c2d3e4f5:0x3b8a1f0c2d9e4a17",      "pid": null,      "appearances": 46,      "arp": 3.61,      "atrp": 4.67,      "solv": 61.22,      "top3": 30,      "best": 1,      "isTarget": false    },    {      "key": "0x1c2d3e4f5a6b7c8d",      "name": "Lakeline Smiles",      "category": "Cosmetic dentist",      "rating": 4.9,      "reviews": 87,      "address": "2300 S Lamar Blvd, Austin, TX 78704",      "lat": 30.2468,      "lng": -97.7801,      "fid": "0x8644b4c3d2e1f0a9:0x1c2d3e4f5a6b7c8d",      "pid": null,      "appearances": 31,      "arp": 6.4,      "atrp": 11.78,      "solv": 18.37,      "top3": 9,      "best": 2,      "isTarget": false    }  ]}