API

Google Business Profile

Google Business Profile API provides endpoints to retrieve GBP performance metrics, the keyword report, and the searches trend for a location.


Get Google Business Profile metrics

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

Returns Google Business Profile performance metrics for a location as a daily time series: impressions by platform and device (desktop/mobile × Search/Maps), direction requests, conversations, call clicks, and website clicks. Metric names inside each row follow Google’s own daily metric names, lowercased.

Request parameters

ParameterTypeRequiredDescription
location_idIntegerYesLocation ID (path parameter).
fromStringNoStart date (in YYYY-MM-DD).
toStringNoEnd date (in YYYY-MM-DD).
group_byStringNoTime grouping. Available value: DAY (default).

Request example

Copy
GET https://api.seranking.com/v1/local-marketing/locations/15/gbp-metrics?from=2026-05-01&to=2026-05-31&group_by=DAY

Response parameters

If successful, the server returns the 200 HTTP status code and a metrics time series. Returns HTTP 404 if the location is not found.

ParameterTypeDescription
location_idIntegerLocation ID.
fromStringStart date of the range (in YYYY-MM-DD, can be null).
toStringEnd date of the range (in YYYY-MM-DD, can be null).
group_byStringGrouping applied to the series.
itemsArrayTime series rows.
dateStringRow date (in YYYY-MM-DD).
metricsObjectMetric name to numeric value map for that date. Possible keys: business_impressions_desktop_maps, business_impressions_desktop_search, business_impressions_mobile_maps, business_impressions_mobile_search, business_direction_requests, business_conversations, call_clicks, website_clicks.

Response example

Copy
{
"location_id": 15,
"from": "2026-05-01",
"to": "2026-05-31",
"group_by": "DAY",
"items": [
{
"date": "2026-05-01",
"metrics": {
"business_impressions_desktop_maps": 46,
"business_impressions_desktop_search": 307,
"business_impressions_mobile_maps": 230,
"business_impressions_mobile_search": 50,
"business_direction_requests": 5,
"business_conversations": 2,
"call_clicks": 1,
"website_clicks": 21
}
},
{
"date": "2026-05-02",
"metrics": {
"business_impressions_desktop_maps": 39,
"business_impressions_desktop_search": 284,
"business_impressions_mobile_maps": 211,
"business_impressions_mobile_search": 44,
"business_direction_requests": 3,
"business_conversations": 1,
"call_clicks": 2,
"website_clicks": 18
}
}
]
}

Get Google Business Profile keyword report

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

Returns the Google Business Profile keyword report for a location: search keywords with impressions and clicks, plus totals across the selected period. This endpoint uses token-based pagination.

Request parameters

ParameterTypeRequiredDescription
location_idIntegerYesLocation ID (path parameter).
fromStringNoStart date (in YYYY-MM-DD).
toStringNoEnd date (in YYYY-MM-DD).
page_sizeIntegerNoNumber of items per page (1–1000). Default is 100.
page_tokenStringNoToken of the next page, taken from next_page_token of the previous response.

Request example

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

Response parameters

If successful, the server returns the 200 HTTP status code and the keyword report. Returns HTTP 404 if the location is not found.

ParameterTypeDescription
location_idIntegerLocation ID.
totalsObjectTotals across all keywords in the range.
totals.impressionsIntegerTotal impressions (can be null).
totals.clicksIntegerTotal clicks (can be null).
itemsArrayKeyword rows.
keywordStringSearch keyword.
impressionsIntegerImpressions for the keyword (can be null).
clicksIntegerClicks for the keyword (can be null).
next_page_tokenStringToken to request the next page. null if there are no more pages.

Response example

Copy
{
"location_id": 15,
"totals": { "impressions": 15230, "clicks": 640 },
"items": [
{ "keyword": "italian restaurant near me", "impressions": 4200, "clicks": 180 },
{ "keyword": "osteria holladay", "impressions": 2100, "clicks": 95 }
],
"next_page_token": "eyJvZmZzZXQiOjEwMH0"
}

Get Google Business Profile searches trend

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

Returns the Google Business Profile searches trend for a location by month, broken down into direct, discovery, and branded searches.

Request parameters

ParameterTypeRequiredDescription
location_idIntegerYesLocation ID (path parameter).
fromStringNoStart date (in YYYY-MM-DD).
toStringNoEnd date (in YYYY-MM-DD).

Request example

Copy
GET https://api.seranking.com/v1/local-marketing/locations/15/gbp-searches?from=2026-01-01&to=2026-05-31

Response parameters

If successful, the server returns the 200 HTTP status code and the searches trend. Returns HTTP 404 if the location is not found.

ParameterTypeDescription
location_idIntegerLocation ID.
last_updated_dateStringDate the data was last updated (in YYYY-MM-DD, can be null).
itemsArrayMonthly rows.
monthStringMonth, returned as the first day of the month (in YYYY-MM-DD), e.g. 2026-05-01.
directIntegerDirect searches — users searched for the business name or address (can be null).
discoveryIntegerDiscovery searches — users searched for a category, product, or service (can be null).
brandedIntegerBranded searches — users searched for a brand related to the business (can be null).

Response example

Copy
{
"location_id": 15,
"last_updated_date": "2026-05-31",
"items": [
{ "month": "2026-04-01", "direct": 1100, "discovery": 3200, "branded": 720 },
{ "month": "2026-05-01", "direct": 1200, "discovery": 3400, "branded": 800 }
]
}

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.