Skip to content
Resources

Keywords

Tracked keywords with positions, search volume, difficulty, intent, target URL and approval status.

GET/api/v1/keywordsRead key

List keywords

Authentication: Bearer API key in the Authorization header.

Parameters
ParameterInTypeDescription
websiteIdquerystringFilter by website
groupIdquerystringGroup ID or 'none'
positionquerytop3 | top10 | 11-20 | 21-100 | unrankedPosition bucket
movementqueryimproved | declined | new | lostChange since previous collection
statusqueryactive | pending | approved | rejected | pausedApproval status
devicequerydesktop | mobile | tabletDevice
qquerystringKeyword contains
Request
curl "https://rankspire.tech/api/v1/keywords" \
  -H "Authorization: Bearer $RANKSPIRE_KEY"
Response
{
  "data": [{
    "id": "cm1kw…", "websiteId": "cm1site9x0001", "keyword": "best hiking boots",
    "position": 4, "previousPosition": 7, "bestPosition": 3,
    "rankingUrl": "https://example.com/boots", "targetUrl": "https://example.com/boots",
    "searchVolume": 18100, "difficulty": 62, "cpc": 1.84, "intent": "commercial",
    "status": "approved", "device": "desktop", "country": "US"
  }],
  "meta": { "total": 376, "limit": 100, "offset": 0 }
}
POST/api/v1/keywordsRead & write key

Add keywords

Authentication: Bearer API key in the Authorization header.

Parameters
ParameterInTypeDescription
websiteId*bodystringWebsite
keywords*bodystring[]Up to 2,000 per request
groupIdbodystringGroup to assign
devicebodydesktop | mobile | tabletDefault desktop
countrybodystringDefault US
targetUrlbodystringPage that should rank
Request
curl -X POST "https://rankspire.tech/api/v1/keywords" \
  -H "Authorization: Bearer $RANKSPIRE_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "websiteId": "cm1site9x0001", "keywords": ["hiking boots sale", "waterproof hiking boots"], "device": "mobile" }'
Response
{ "data": { "added": 2, "skipped": 0 } }
  • 402 payment_required keyword limit reached
PATCH/api/v1/keywordsRead & write key

Bulk update keywords

Authentication: Bearer API key in the Authorization header.

Parameters
ParameterInTypeDescription
ids*bodystring[]Keyword IDs
patch*bodyobjectgroupId, status, intent and/or targetUrl
Request
curl -X PATCH "https://rankspire.tech/api/v1/keywords" \
  -H "Authorization: Bearer $RANKSPIRE_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "ids": ["cm1kw…"], "patch": { "status": "approved", "groupId": "cm1grp…" } }'
Response
{ "data": { "updated": 1 } }
DELETE/api/v1/keywordsRead & write key

Remove keywords

Authentication: Bearer API key in the Authorization header.

Parameters
ParameterInTypeDescription
ids*bodystring[]Keyword IDs
Request
curl -X DELETE "https://rankspire.tech/api/v1/keywords" \
  -H "Authorization: Bearer $RANKSPIRE_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "ids": ["cm1kw…"] }'
Response
{ "data": { "deleted": 1 } }