Rankings
Get current Google organic rankings for your brand's domain. Always fresh, pulled from DataForSEO on every call.
GET
Returns the current live Google organic rankings for your brand's domain. This is a stateless, on-demand read — it calls DataForSEO every time and does not maintain a history. For time-series deltas, use POST /track/brands/{brand_id}/snapshot + GET /track/brands/{brand_id}/changes.
Query parameters
brand_idstringrequiredThe brand UUID.
limitnumberdefault: 50Maximum keywords to return. Max: 200.
Response
{
"brand_id": "ea502f67-338b-47e4-a245-5c4eea8bd8d2",
"domain": "yourdomain.com",
"pulled_at": "2026-04-07T10:00:00Z",
"total_keywords": 127,
"keywords": [
{
"keyword": "ai marketing tools",
"position": 8,
"url": "/ai-marketing-tools",
"volume": 12000,
"kd": 34
}
],
"cost": 0.003
}
Field notes
| Field | Description |
|---|---|
total_keywords | Total keywords the brand ranks for (may exceed limit) |
keywords[].position | Absolute rank position (1-indexed) |
keywords[].url | Relative URL of the ranking page on your domain |
keywords[].volume | Monthly search volume |
keywords[].kd | Keyword difficulty (0-100) |
cost | DataForSEO API cost for this request in USD |
This endpoint returns a fresh pull every call — no previous_position, no change field, no persistent history. To compute deltas over time, snapshot the response with POST /track/brands/{brand_id}/snapshot and diff two snapshots via GET /track/brands/{brand_id}/changes?since=....
Example
curl -H "X-API-Key: $BM_API_KEY" \
"https://api.boringmarketing.com/track/rankings?brand_id=$BRAND_ID&limit=100"