RankSharkDocs
Businesses

Add a business

RankShark TrackScopetrack:write

POST
/v1/track/clients

Up to 500 per workspace.

Scope: track:write.

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

Request Body

application/json
  1. body

A business (called a client in the API)

name*string

Business name

Lengthlength <= 120
website?string

Business website

Lengthlength <= 300
color?string

#rrggbb

Match^#[0-9a-fA-F]{6}$
emails?array<>

Report recipients (up to 10): scheduled reports for this business go to these addresses, unless a report names its own

Itemsitems <= 10
notes?string
Lengthlength <= 1000
displayName?string

The name white-label reports show (default: name). Only changed when sent

Lengthlength <= 120
logoDataUrl?string

The business logo on white-label report covers: a data URL of a PNG, JPEG, WebP or SVG up to 300 KB (an SVG is sanitised and stored as a PNG where the server can render it); "" removes it. Only changed when sent

Response Body

OK

application/json
  1. response
id*string

tc_…

name*string
website?string|null
color?string|null
emails?array<string>
notes?string|null
campaigns?integer
folders?array<string>
solv?|

Average SoLV of its campaigns' latest results

solvPrev?number|null
arp?number|null
aiMention?|

Average AI mention rate

lastRunAt?|
Formatdate-time
createdAt?|
Formatdate-time
displayName?string|null
logoVersion?|

Changes when the logo does (GET /v1/track/clients/{id}/logo); null: no logo

Example Request
curl -X POST 'https://panel.rankshark.io/v1/track/clients' \  -H 'Content-Type: application/json' \  -d '{  "name": "Harbor Dental",  "website": "https://harbordental.example",  "color": "#0e7490",  "emails": [    "[email protected]"  ],  "notes": "Two locations; South Congress is the main one."}'
Example Response
{  "id": "tc_5Rw8Jn3Ys2QeLk",  "name": "Harbor Dental",  "website": "https://harbordental.example",  "color": "#0e7490",  "emails": [    "[email protected]"  ],  "notes": "Two locations; South Congress is the main one.",  "campaigns": 2,  "folders": [    "Austin"  ],  "solv": 55.1,  "solvPrev": 42.86,  "arp": 4.18,  "aiMention": 44.44,  "lastRunAt": "2026-11-02T15:00:04.000Z",  "createdAt": "2026-09-14T18:20:00.000Z",  "displayName": null,  "logoVersion": null}