API

Local Rankings

Local Rankings API provides endpoints to retrieve tracked keywords, position history by tracking point, and the indexed percent for a location.


Get Local Rankings keyword list

GET https://api.seranking.com/v1/local-marketing/locations/{location_id}/rankings/keywords

Returns the Local Rankings keyword list for a location with current and best positions, tracking point details, and a summary block.

Request parameters

ParameterTypeRequiredDescription
location_idIntegerYesLocation ID (path parameter).
fromStringNoStart date (in YYYY-MM-DD).
toStringNoEnd date (in YYYY-MM-DD).
limitIntegerNoMaximum number of items to return (1–1000). Default is 100.
offsetIntegerNoNumber of items to skip. Default is 0.

Request example

Copy
GET https://api.seranking.com/v1/local-marketing/locations/15/rankings/keywords?from=2026-05-01&to=2026-05-31&limit=100&offset=0

Response parameters

If successful, the server returns the 200 HTTP status code, a summary block, an array of keywords in items, and a pagination object. Returns HTTP 404 if the location is not found.

ParameterTypeDescription
location_idIntegerLocation ID.
summaryObjectSummary across tracked keywords.
summary.keywords_trackedIntegerNumber of tracked keyword × tracking-point pairs.
summary.indexed_keywordsIntegerNumber of indexed keywords.
summary.average_positionFloatAverage position (can be null).
summary.top_3_keywords_countIntegerNumber of keywords in the TOP 3.
summary.top_10_keywords_countIntegerNumber of keywords in the TOP 10.
itemsArrayList of keywords.
keyword_idIntegerKeyword ID.
keywordStringKeyword.
current_positionIntegerCurrent position (can be null).
best_positionIntegerBest position (can be null).
found_atStringDate the keyword was first found (in YYYY-MM-DD, can be null).
key_to_geopoint_idIntegerKeyword-to-geopoint binding ID (can be null).
tracking_point_detailsObjectTracking point details.
tracking_point_details.idIntegerTracking point ID (can be null).
tracking_point_details.typeStringTracking point type: geopoint or grid.
tracking_point_details.labelStringTracking point label (can be null).
tracking_point_details.addressStringTracking point address (can be null).
tracking_point_details.latitudeFloatLatitude (can be null).
tracking_point_details.longitudeFloatLongitude (can be null).
tracking_point_details.key_to_geopoint_idIntegerKeyword-to-geopoint binding ID, duplicated inside the tracking point details (can be null).
paginationObjectPagination info: total, limit, offset.

Response example

Copy
{
"location_id": 15,
"summary": {
"keywords_tracked": 40,
"indexed_keywords": 37,
"average_position": 8.3,
"top_3_keywords_count": 9,
"top_10_keywords_count": 21
},
"items": [
{
"keyword_id": 7001,
"keyword": "italian restaurant holladay",
"current_position": 2,
"best_position": 1,
"found_at": "2026-04-15",
"key_to_geopoint_id": 88,
"tracking_point_details": {
"id": 12,
"type": "geopoint",
"label": "Downtown",
"address": "Holladay, UT",
"latitude": 40.6689,
"longitude": -111.8247,
"key_to_geopoint_id": 88
}
}
],
"pagination": {
"total": 40,
"limit": 100,
"offset": 0
}
}

Get Local Rankings positions

GET https://api.seranking.com/v1/local-marketing/locations/{location_id}/rankings/positions

Returns Local Rankings position history for a location by date and tracking point, with a summary block. Note: both from and to must be supplied — a partial or missing range returns an empty result set rather than the full history.

Request parameters

ParameterTypeRequiredDescription
location_idIntegerYesLocation ID (path parameter).
fromStringNoStart date (in YYYY-MM-DD).
toStringNoEnd date (in YYYY-MM-DD).
limitIntegerNoMaximum number of items to return (1–1000). Default is 100.
offsetIntegerNoNumber of items to skip. Default is 0.

Request example

Copy
GET https://api.seranking.com/v1/local-marketing/locations/15/rankings/positions?from=2026-05-01&to=2026-05-31&limit=100&offset=0

Response parameters

If successful, the server returns the 200 HTTP status code, a summary block, an array of position records in items, and a pagination object. Returns HTTP 404 if the location is not found.

ParameterTypeDescription
location_idIntegerLocation ID.
summaryObjectSummary across the selected period.
summary.average_positionFloatAverage position (can be null).
summary.best_positionIntegerBest position (can be null).
summary.worst_positionIntegerWorst position (can be null).
itemsArrayPosition records.
dateStringCheck date (in YYYY-MM-DD).
keyword_idIntegerKeyword ID.
positionIntegerPosition on the check date (can be null).
tracking_pointStringTracking point (can be null).
key_to_geopoint_idIntegerKeyword-to-geopoint binding ID (can be null).
tracking_point_detailsObjectTracking point details (same structure as in Get Local Rankings keyword list).
paginationObjectPagination info: total, limit, offset.

Response example

Copy
{
"location_id": 15,
"summary": {
"average_position": 8.3,
"best_position": 1,
"worst_position": 34
},
"items": [
{
"date": "2026-05-30",
"keyword_id": 7001,
"position": 2,
"tracking_point": "Downtown",
"key_to_geopoint_id": 88,
"tracking_point_details": {
"id": 12,
"type": "geopoint",
"label": "Downtown",
"address": "Holladay, UT",
"latitude": 40.6689,
"longitude": -111.8247,
"key_to_geopoint_id": 88
}
}
],
"pagination": {
"total": 1875,
"limit": 100,
"offset": 0
}
}

Get rankings indexed percent

GET https://api.seranking.com/v1/local-marketing/locations/{location_id}/rankings/indexed-percent

Returns the percentage of tracked keywords for which the location is indexed.

Request parameters

ParameterTypeRequiredDescription
location_idIntegerYesLocation ID (path parameter).

Request example

Copy
GET https://api.seranking.com/v1/local-marketing/locations/15/rankings/indexed-percent

Response parameters

If successful, the server returns the 200 HTTP status code and the indexed percent value. Returns HTTP 404 if the location is not found.

ParameterTypeDescription
location_idIntegerLocation ID.
indexed_percentFloatPercentage of indexed keywords.

Response example

Copy
{
"location_id": 15,
"indexed_percent": 92.5
}

Learn how SE Ranking’s API can boost your SEO!

Hi! Meet our product experts!

One of them will walk you through the API and show you how to get the most out of it.

  • Enjoy a tailored demo on integrating rich, structured SEO data into your stack.
  • Pin down every tech detail live—auth, endpoints, rate limits, data formats.
  • Compare usage tiers and pricing so you can unlock maximum data value.

Request a free demo to see our tools and integrations in action

By clicking this button, you agree to SE Ranking’s
Terms of Service and Privacy Statement.