Google Business Profile Tool

Jump to Get GBP CategoriesGet GBP Categories

Returns a paginated list of Google Business Profile (GBP) categories supported within a specific country. These categories are used for Google Business Profile management.

Jump to EndpointEndpoint

GEThttps://api.semrush.com/apis/v4/local/v1/gbp/categories

Query parameters

countryRequired

Two-letter country code where the business is located, as defined by the ISO 3166-1 code reference (the Alpha-2 code column).

Supported values: US, AU, FR, DE, GB, CA, IN, ES, IT, NL, BR, AT, BE, DK, FI, NO, PL, SE, CH, JP, MX, IL, NZ, SG, ZA, TR, AE, HK, ID, VN, PK, CO, IE, BD, MY, SA, RO, CL, PH, PT, NG, GR, TH, AR, PE, KE, HU, CZ, RS, NP, LT, UA, BG, EC, CY, HR, EE, LV, IS, SK, SI, AM, AD, PY, GY, EG, MV, UY, SR, KH, BO, LA, MT, PA, PR, TN, DO, MN, GU, VE, ME, MP, AC, AG, AI, AL, AO, AS, AW, AX, AZ, BA, BB, BF, BH, BI, BJ, BL, BM, BN, BQ, BS, BT, BW, BY, BZ, CC, CD, CF, CG, CI, CK, CM, CR, CV, CW, CX, DJ, DM, DZ, EH, ER, ET, FJ, FK, FM, FO, GA, GD, GE, GF, GG, GH, GI, GL, GM, GN, GP, GQ, GT, GW, HN, HT, IM, IO, IQ, JE, JM, JO, KG, KI, KM, KN, KR, KW, KY, KZ, LB, LC, LI, LK, LR, LS, LU, LY, MA, MC, MD, MF, MG, MH, MK, ML, MM, MO, MQ, MR, MS, MU, MW, MZ, NA, NC, NE, NF, NI, NR, NU, OM, PF, PG, PM, PS, PW, QA, RE, RU, RW, SB, SC, SH, SJ, SL, SM, SN, SO, SS, ST, SV, SX, SZ, TC, TD, TG, TJ, TK, TL, TM, TO, TT, TV, TW, TZ, UG, UZ, VA, VC, VG, VI, VU, WF, WS, XK, YE, YT, ZM, ZW.

Value/Type: string

offset

Starting point for the subset of records to be returned.

Default is 0.

Value/Type: integer

limit

Maximum number of categories to be returned in a single paginated response.

Default is 1000. Max. is 1000.

Value/Type: integer

Response Parameters

data

List of Category objects matching the request filters.

Value/Type: array of objects

Request example
curl -H 'Authorization: Apikey YOUR_API_KEY' "https://api.semrush.com/apis/v4/local/v1/gbp/categories?country=US&offset=0&limit=10"
Response example
JSON
{
  "meta": {
      "limit": 10,
      "offset": 0,
      "request_id": "4fb1773ec2a8d61a0407f464599f897c",
      "status_code": 200,
      "success": true,
      "total": 3
  },
  "data": [
      {
          "id": "46e6afbab7cd408bae8d392184a5627e",
          "name": "Book store",
          "full_name": "Books > Book store",
          "parent_id": "12898ed82f5849b1abb684887b82b464"
      },
      {
          "id": "836dca5e11c546c49eb8802e9efe2d54",
          "name": "Comic book store",
          "full_name": "Books > Comic book store",
          "parent_id": "12898ed82f5849b1abb684887b82b464"
      },
      {
          "id": "90d3ba25b03f4e13bb1ef77d9097a025",
          "name": "Antique book store",
          "full_name": "Books > Antique book store",
          "parent_id": "12898ed82f5849b1abb684887b82b464"
      }
  ]
}

Jump to Get GBP AttributesGet GBP Attributes

Returns a list of GBP attributes for a specific category. They are needed to better describe your business.

Jump to EndpointEndpoint

GEThttps://api.semrush.com/apis/v4/local/v1/gbp/categories/:gbp_category_id/attributes

Path parameters

gbp_category_idRequired

Unique identifier of the GBP category for which you want to retrieve attributes. Retrieve it with the Get GBP Categories method.

Value/Type: string

Query parameters

countryRequired

Two-letter country code where the business is located, as defined by the ISO 3166-1 code reference (the Alpha-2 code column).

Value/Type: string

Response Parameters

data

List of Attribute objects available for the specified category.

Value/Type: array of objects

Request example
curl -X GET "https://api.semrush.com/apis/v4/local/v1/gbp/categories/0b72e1aef15b4b2ba01c8e40b4c49b86/attributes?country=US" \
-H "Authorization: Apikey YOUR_API_KEY"
Response example
JSON
{
  "meta": {
      "request_id": "4fb1773ec2a8d61a0407f464599f897c",
      "status_code": 200,
      "success": true
  },
  "data": [
      {
          "id": "has_wheelchair_accessible_entrance",
          "name": "Wheelchair accessible entrance",
          "values": [
              {
                  "option_id": "true",
                  "label": "Wheelchair accessible entrance"
              },
              {
                  "option_id": "false",
                  "label": "No wheelchair accessible entrance"
              }
          ]
      },
      {
          "id": "has_onsite_services",
          "name": "Onsite services",
          "values": [
              {
                  "option_id": "true",
                  "label": "Onsite services"
              },
              {
                  "option_id": "false",
                  "label": "Onsite services not available"
              }
          ]
      }
  ]
}

Jump to Get GBP MetricsGet GBP Metrics

Returns Google Business Profile (GBP) metrics for one or more locations. Returns an error if any of the locations doesn’t have a GBP connection.

If some of the locations are frozen, the data will still be provided. You can check if a location is frozen by checking the frozen field in the Location object. If some of the locations are not connected to GBP, no data will be provided for them.

Jump to EndpointEndpoint

GEThttps://api.semrush.com/apis/v4/local/v1/google-business-profile/metrics

Query parameters

location_idsRequired

List of identifiers of the locations for which you want to retrieve metrics.

Min. is 1. Max. is 5.

Value/Type: array of strings

date_fromRequired

Start date for the metric report. Must be within the last 24 months.

Example: 2024-01-01.

Value/Type: string

date_toRequired

End date for the metric report. Must be within the last 24 months.

Example: 2024-12-01.

Value/Type: string

aggregated_metrics

List of metrics to include in the response, aggregated by the specified aggregation_mode. At least one of aggregated_metrics or total_metrics must be specified.

Supported values: ALL_ACTION, MAPS_VIEWS, SEARCH_VIEWS, TOTAL_VIEWS, BUSINESS_IMPRESSIONS_MOBILE_SEARCH, BUSINESS_IMPRESSIONS_DESKTOP_SEARCH, BUSINESS_IMPRESSIONS_MOBILE_MAPS, BUSINESS_IMPRESSIONS_DESKTOP_MAPS, WEBSITE_CLICKS, BUSINESS_DIRECTION_REQUESTS, CALL_CLICKS.

Value/Type: array of strings

total_metrics

List of metrics to include in the response, calculated as totals for the entire period. At least one of aggregated_metrics or total_metrics must be specified.

Supported values: TOTAL_VIEWS, TOTAL_MAPS_VIEWS, TOTAL_SEARCH_VIEWS, TOTAL_MOBILE_SEARCH_VIEWS, TOTAL_DESKTOP_SEARCH_VIEWS, TOTAL_MOBILE_MAPS_VIEWS, TOTAL_DESKTOP_MAPS_VIEWS, TOTAL_ACTION, TOTAL_WEBSITE_CLICKS_ACTION, TOTAL_BUSINESS_DIRECTION_REQUESTS_ACTION, TOTAL_CALL_CLICKS_ACTION.

Value/Type: array of strings

aggregation_mode

Aggregation period for the metrics.

Supported values: DAILY, WEEKLY, MONTHLY. Default is DAILY.

Value/Type: string

Response Parameters

data

List of metric objects, one for each requested location.

Value/Type: array of objects

Request example
curl -H "Authorization: Apikey YOUR_API_KEY" "https://api.semrush.com/apis/v4/local/v1/google-business-profile/metrics?location_ids=1d21ceab55d740709311ec9b8a12c01e,2c32dfbc66e851820422fd9c9b23d12f&date_from=2024-01-01&date_to=2024-12-01&aggregated_metrics=MAPS_VIEWS,WEBSITE_CLICKS&total_metrics=TOTAL_VIEWS,TOTAL_WEBSITE_CLICKS_ACTION&aggregation_mode=DAILY"
Response example
JSON
{
  "meta": {
      "request_id": "4fb1773ec2a8d61a0407f464599f897c",
      "status_code": 200,
      "success": true
  },
  "data": [
      {
          "location_id": "1d21ceab55d740709311ec9b8a12c01e",
          "review_rating": 4.8,
          "aggregated_metrics": [
              {
                  "report_date": "2024-01-01",
                  "metrics": [
                      {
                          "metric": "MAPS_VIEWS",
                          "value": "45"
                      },
                      {
                          "metric": "WEBSITE_CLICKS",
                          "value": "12"
                      }
                  ]
              },
              {
                  "report_date": "2024-01-02",
                  "metrics": [
                      {
                          "metric": "MAPS_VIEWS",
                          "value": "52"
                      },
                      {
                          "metric": "WEBSITE_CLICKS",
                          "value": "18"
                      }
                  ]
              }
          ]
      },
      {
          "location_id": "2c32dfbc66e851820422fd9c9b23d12f",
          "review_rating": 4.6,
          "aggregated_metrics": [
              {
                  "report_date": "2024-01-01",
                  "metrics": [
                      {
                          "metric": "MAPS_VIEWS",
                          "value": "28"
                      },
                      {
                          "metric": "WEBSITE_CLICKS",
                          "value": "9"
                      }
                  ]
              },
              {
                  "report_date": "2024-01-02",
                  "metrics": [
                      {
                          "metric": "MAPS_VIEWS",
                          "value": "31"
                      },
                      {
                          "metric": "WEBSITE_CLICKS",
                          "value": "11"
                      }
                  ]
              }
          ]
      }
  ]
}

Jump to Get GBP PostsGet GBP Posts

Returns Google Business Profile (GBP) posts for one or more locations. Returns an error if any of the locations does not have a GBP connection.

Jump to EndpointEndpoint

GEThttps://api.semrush.com/apis/v4/local/v1/google-business-profile/posts

Query parameters

location_idsRequired

List of identifiers of the locations for which you want to retrieve posts.

Min. is 1. Max. is 100.

Value/Type: array of strings

status

Filters the results to posts with the specified status.

Supported values: DRAFT, SCHEDULED, TO_SEND, SENDING, PUBLISHED, FAILED.

Value/Type: string

offset

Starting point for the subset of records to be returned.

Default is 0.

Value/Type: integer

limit

Maximum number of posts to be returned in a single paginated response.

Default is 20. Max. is 50.

Value/Type: integer

Response Parameters

data

List of GBP Post objects matching the request filters.

Value/Type: array of objects

Request example
curl -X GET "https://api.semrush.com/apis/v4/local/v1/google-business-profile/posts?location_ids=1d21ceab55d740709311ec9b8a12c01e,2f32dfbc66e851820422fd9c9b23d12f&status=PUBLISHED&offset=0&limit=10" \
-H "Authorization: Apikey YOUR_API_KEY"
Response example
JSON
{
  "meta": {
      "request_id": "4fb1773ec2a8d61a0407f464599f897c",
      "status_code": 200,
      "success": true,
      "limit": 10,
      "offset": 0,
      "total": 2
  },
  "data": [
      {
          "id": "post-001",
          "location_id": "1d21ceab55d740709311ec9b8a12c01e",
          "status": "PUBLISHED",
          "content": "Check out our latest products and special offers!",
          "image_urls": ["https://example.com/image1.jpg"],
          "publication_date": "2024-05-11T10:30:00",
          "scheduled_date": "2024-05-11T10:30:00",
          "call_to_action": {
              "type": "SHOP",
              "url": "https://example.com/shop"
          }
      },
      {
          "id": "post-002",
          "location_id": "2f32dfbc66e851820422fd9c9b23d12f",
          "status": "DRAFT",
          "content": "Visit us today for expert service!",
          "image_urls": ["https://example.com/image2.jpg"],
          "call_to_action": {
              "type": "SHOP",
              "url": "https://example.com/shop"
          }
      }
  ]
}

Jump to Get More Hour TypesGet More Hour Types

Returns the list of hour types available for a specific location. Use the returned type values in the more_hours field when updating a location.

This endpoint is only applicable to locations connected to Google Business Profile (GBP).

Jump to EndpointEndpoint

GEThttps://api.semrush.com/apis/v4/local/v1/locations/:location_id/more-hour-types

Path parameters

location_idRequired

Unique identifier of the location for which you want to retrieve available hour types.

Value/Type: string

Response Parameters

data

Object containing available hour types.

Value/Type: object

Request example
curl -X GET "https://api.semrush.com/apis/v4/local/v1/locations/3e8d046f62fe4b73802112e138a78532/more-hour-types" \
-H "Authorization: Apikey YOUR_API_KEY"
Response example
JSON
{
  "meta": {
      "request_id": "4fb1773ec2a8d61a0407f464599f897c",
      "status_code": 200,
      "success": true
  },
  "data": {
      "more_hour_types": [
          "SENIOR_HOURS",
          "DRIVE_THROUGH",
          "DELIVERY",
          "TAKEOUT",
          "PICKUP",
          "KITCHEN",
          "BREAKFAST",
          "LUNCH",
          "DINNER",
          "BRUNCH",
          "HAPPY_HOUR",
          "PRAYER_GENERAL"
      ]
  }
}

Last updated: September 1, 2026

Was this page helpful?