Listing Management
Jump to Create LocationCreate Location
Create a location.
To verify a request without applying changes, use the validate_only parameter.
When set to true, the API validates the data but doesn’t update it nor consume your Local Pro limit.
Jump to EndpointEndpoint
Request Parameters
validate_only
Set to false by default. If set to true, the system validates the data without applying any changes.
Value/Type: boolean
Body parameters
business_nameRequired
Official public name of the business.
Max. length is 125 characters.
Value/Type: string
phone_numberRequired
Primary contact phone number for the business.
International format is required. For example: "+49 351 8629318", "+1 541-754-3010"
Value/Type: string
countryRequired
2-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
The list of supported countries will increase in the future.
Value/Type: string
region
Highest administrative subdivision for postal addresses in a country or region.
For example, a state, province, oblast, or prefecture.
Specifically, for Spain this is the province rather than the autonomous community (for example, "Barcelona" instead of "Catalonia").
Many countries do not use administrative areas in postal addresses.
Required for Canada, Australia, Brazil, India, and US.
Max. length is 200 characters.
Value/Type: string
cityRequired
City or locality name.
Max. length is 64 characters.
Value/Type: string
zip
Postal or ZIP code.
Required for the following countries: 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, 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, EG, MV, UY, KH, LA, MT, PA, PR, TN, DO, MN, GU, VE, ME, MP
Value/Type: string
address_line_1Required
Street address, including house number and street name.
Max. length is 190 characters.
Value/Type: string
address_line_2
Supplemental address information (for example, suite, floor, or building).
Max. length is 64 characters.
Value/Type: string
website_url
URL for the business. Must start with https://. If possible, use a URL specific to this location rather than a generic brand website.
Max. length is 255 characters.
Value/Type: string
description
Detailed description of the business and its services.
Min. length is 10 characters. Max. length is 750 characters.
Value/Type: string
business_hours
Standard weekly operating hours.
Each weekday can contain no more than two time ranges. Ranges must not overlap.
Value/Type: object
special_hours
Exceptions to regular hours, such as holidays or temporary closures. This field can only be set if business hours are specified. These hours override regular business hours.
Max. 30 entries.
Value/Type: array of objects
service_area_places
Areas serviced by the business.
If the suppress_address parameter is set to true, the service areas must be specified.
Value/Type: array of objects
category_idsRequired
List of category identifiers (max. 10) that describe the business and help customers find relevant services.
Identifiers must be retrieved from the Get Categories endpoint.
Value/Type: array of strings
suppress_address
If set to true, the physical address is hidden from public listings and search results. If the address is hidden, service_area_places must be populated to define the business’s geographic reach.
Value/Type: boolean
coordinates
Exact geographic coordinates for the location.
Value/Type: object
featured_message
Promotional message or announcement displayed on the business profile.
Max. length is 50 characters.
Value/Type: string
featured_message_url
Call-to-action URL associated with the featured message.
Example: "https://www.semrush.com/local-business/start/"
Max. length is 255 characters.
Value/Type: string
youtube_video
URL of a YouTube video showcasing the business.
Example: "https://www.youtube.com/watch?v=ndJB4J951_k"
Max. length is 150 characters.
Value/Type: string
instagram_username
Instagram profile handle.
Example: semrush
Max. length is 30 characters.
Value/Type: string
twitter_username
X (formerly Twitter) profile handle.
Example: semrush
Max. length is 15 characters.
Value/Type: string
reopen_date
Date ("YYYY-MM-DD") when a temporarily closed location is scheduled to reopen.
This must be a future date and is only applicable if the location status is set to temporarily closed.
Value/Type: string
location_id
Value/Type: string
business_name
Official public name of the business.
Max. length is 125 characters.
Value/Type: string
phone_number
Primary contact phone number for the business.
International format is required. For example: "+49 351 8629318", "+1 541-754-3010"
Value/Type: string
country
2-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
The list of supported countries will increase in the future.
Value/Type: string
region
Highest administrative subdivision for postal addresses in a country or region. For example, a state, province, oblast, or prefecture.
Specifically, for Spain this is the province rather than the autonomous community (for example, "Barcelona" instead of "Catalonia").
Many countries do not use administrative areas in postal addresses.
Required for Canada, Australia, Brazil, India, and US.
Value/Type: string
city
City or locality name.
Max. length is 64 characters.
Value/Type: string
zip
Postal or ZIP code.
Required for the following countries: 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, 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, EG, MV, UY, KH, LA, MT, PA, PR, TN, DO, MN, GU, VE, ME, MP
Value/Type: string
address_line_1
Street address, including house number and street name.
Max. length is 190 characters.
Value/Type: string
address_line_2
Supplemental address information (for example, suite, floor, or building).
Max. length is 64 characters.
Value/Type: string
website_url
URL for the business. Must start with https://.
If possible, use a URL specific to this location rather than a generic brand website.
Max. length is 255 characters.
Value/Type: string
description
Detailed description of the business and its services.
Min. length is 10 characters. Max. length is 750 characters.
Value/Type: string
business_hours
Standard weekly operating hours.
Each weekday can contain no more than two time ranges. Ranges must not overlap.
Value/Type: object
special_hours
Exceptions to regular hours, such as holidays or temporary closures. This field can only be set if business hours are specified. These hours override regular business hours.
Max. 30 entries.
Value/Type: array of objects
service_area_places
Areas serviced by the business.
If the suppress_address parameter is set to true, the service areas must be specified.
Value/Type: array of objects
category_ids
List of category identifiers (max. 10) that describe the business and help customers find relevant services.
Identifiers must be retrieved from the Get Categories endpoint.
Value/Type: array of strings
suppress_address
If set to true, the physical address is hidden from public listings and search results.
If the address is hidden, service_area_places must be populated to define the business’s geographic reach.
Value/Type: boolean
coordinates
Exact geographic coordinates for the location.
Value/Type: object
featured_message
Promotional message or announcement displayed on the business profile.
Max. length is 50 characters.
Value/Type: string
featured_message_url
Call-to-action URL associated with the featured message.
Example: "https://www.semrush.com/local-business/start/"
Max. length is 255 characters.
Value/Type: string
youtube_video
URL of a YouTube video showcasing the business.
Example: "https://www.youtube.com/watch?v=ndJB4J951_k"
Max. length is 150 characters.
Value/Type: string
instagram_username
Instagram profile handle.
Example: semrush
Max. length is 30 characters.
Value/Type: string
twitter_username
X (formerly Twitter) profile handle.
Example: semrush
Max. length is 15 characters.
Value/Type: string
reopen_date
Date ("YYYY-MM-DD") when a temporarily closed location is scheduled to reopen.
This must be a future date and is only applicable if the location status is set to temporarily closed.
Value/Type: string
location_status
Supported values: "COMPLETED", "PROCESSING", "FAILED".
Current status of the location.
COMPLETED: Location is ready for use. All features and data management are fully accessible.
PROCESSING: Location is currently being initialized. Data editing is unavailable until the process completes.
FAILED: Location could not be created. This status does not consume user limits. You may delete the location and create a new location using your existing limit. Contact Semrush Customer Support if the issue persists.
Value/Type: string
frozen
If true, the location is frozen due to an overdue payment. A frozen location cannot be edited, and management actions cannot be performed on its associated resources (such as images, listings, etc.).
Value/Type: boolean
submit_date
Date and time when the location was first submitted in the "YYYY-MM-DDThh:mm:ss" format (for example, "2026-03-10T17:03:42").
Value/Type: string
errors
Validation results occurring outside the synchronous request-response lifecycle. Use this field to track asynchronous processing errors and system-level validation failures reported via the location service.
Value/Type: array of objects
curl -L 'https://api.semrush.com/apis/v4/local/v1/locations?validate_only=true'
-H 'Authorization: Apikey YOUR_API_KEY'
-H 'Content-Type: application/json'
-d '{
"business_name":"Some business name",
"phone_number":"+1 435 864 3376",
"country":"US",
"region":"UT",
"city":"Delta",
"zip":"84624",
"address_line_1":"Naumburger Str.2",
"address_line_2":"Second floor",
"website_url":"www.test.com",
"description":"Welcome to our Some business name!",
"category_ids":["b871306d44c145a0b781ed2cb3b19bf1","909c2eebd4fb4b338937d8518a3f0d73"],
"coordinates":{"latitude":39.35221240176079,
"longitude":-112.57777149021301},
"featured_message":"Call Today",
"featured_message_url":"www.test.com",
"youtube_video":"https://www.youtube.com/watch?v=nYykbUPQ9eo",
"instagram_username":"some_instagram_username",
"twitter_username":"some_x_username"
}'{
"meta": {
"success": true,
"status_code": 200,
"request_id": "182d587194adf5096d1b6d5b309f164f",
"validate_only": true
},
"data": {
"business_name": "Some business name",
"phone_number": "+1 435 864 3376",
"country": "US",
"region": "UT",
"city": "Delta",
"zip": "84624",
"address_line_1": "Naumburger Str.2",
"address_line_2": "Second floor",
"website_url": "www.test.com",
"description": "Welcome to our Some business name!",
"special_hours": [],
"service_area_places": [],
"category_ids": [
"b871306d44c145a0b781ed2cb3b19bf1",
"909c2eebd4fb4b338937d8518a3f0d73"
],
"suppress_address": false,
"coordinates": {
"latitude": 39.35221240176079,
"longitude": -112.57777149021301
},
"featured_message": "Call Today",
"featured_message_url": "www.test.com",
"youtube_video": "https://www.youtube.com/watch?v=nYykbUPQ9eo",
"instagram_username": "some_instagram_username",
"twitter_username": "some_x_username",
"location_id": "1d21ceab55d740709311ec9b8a12c01e",
"location_status": "PROCESSING",
"frozen": false,
"submit_date": "2026-03-10T17:03:42.691",
"errors": []
}
}Jump to Update LocationUpdate Location
Update a single location by its ID.
You must provide a non-empty update_mask parameter.
To update a field with a specific value, include the field in both the update_mask and the request body.
If you want to verify the request without applying changes, use the validate_only parameter.
When set to true, the API validates the data but doesn’t update it.
Jump to EndpointEndpoint
Request Parameters
update_maskRequired
Supported values: business_name, address_line_1, address_line_2, city, zip, phone_number, category_ids, region, featured_message, featured_message_url, website_url, description, instagram_username, twitter_username, business_hours, special_hours, service_area_places, suppress_address, coordinates, youtube_video, reopen_date, payment_options, more_hours
Specify each field you want to update as a value of the update_mask parameter.
For example: update_mask=business_name,address_line_1.
Value/Type: array of strings
validate_only
Set to false by default. If set to true, the system validates the data without applying any changes.
Value/Type: boolean
Body Parameters
business_name
Official public name of the business.
Max. length is 125 characters.
Value/Type: string
phone_number
Primary contact phone number for the business.
International format is required. For example: "+49 351 8629318", "+1 541-754-3010".
Value/Type: string
region
Highest administrative subdivision for postal addresses in a country or region.
For example, a state, province, oblast, or prefecture.
Specifically, for Spain this is the province rather than the autonomous community (for example, "Barcelona" instead of "Catalonia").
Many countries do not use administrative areas in postal addresses.
Required for Canada, Australia, Brazil, India, and US.
Value/Type: string
city
City or locality name.
Max. length is 64 characters.
Value/Type: string
zip
Postal or ZIP code.
Required for the following countries: 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, 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, EG, MV, UY, KH, LA, MT, PA, PR, TN, DO, MN, GU, VE, ME, MP
Value/Type: string
address_line_1
Street address, including house number and street name.
Max. length is 190 characters.
Value/Type: string
address_line_2
Supplemental address information (for example, suite, floor, or building).
Max. length is 64 characters.
Value/Type: string
website_url
URL for the business. Must start with https://.
If possible, use a URL specific to this location rather than a generic brand website.
Max. length is 255 characters.
Value/Type: string
description
Detailed description of the business and its services.
Min. length is 10 characters. Max. length is 750 characters.
Value/Type: string
business_hours
Standard weekly operating hours.
Each weekday can contain no more than two time ranges. Ranges must not overlap.
Value/Type: object
special_hours
Exceptions to regular hours, such as holidays or temporary closures. This field can only be set if business hours are specified. These hours override regular business hours.
Max. 30 entries.
Value/Type: array of objects
more_hours
Additional business hours for specific service types (for example, delivery or pickup). Synchronized with Google Business Profile (GBP). Requires a linked GBP account.
Value/Type: array of objects
service_area_places
Areas serviced by the business.
If the suppress_address parameter is set to true, the service areas must be specified.
Value/Type: array of objects
category_ids
List of category identifiers (max. 10) that describe the business and help customers find relevant services.
Identifiers must be retrieved from the Get Categories endpoint.
Value/Type: array of strings
suppress_address
If set to true, the physical address is hidden from public listings and search results.
If the address is hidden, service_area_places must be populated to define the business’s geographic reach.
Value/Type: boolean
coordinates
Exact geographic coordinates for the location.
Value/Type: object
featured_message
Promotional message or announcement displayed on the business profile.
Max. length is 50 characters.
Value/Type: string
featured_message_url
Call-to-action URL associated with the featured message.
Example: "https://www.semrush.com/local-business/start/"
Max. length is 255 characters.
Value/Type: string
youtube_video
URL of a YouTube video showcasing the business.
Example: "https://www.youtube.com/watch?v=ndJB4J951_k"
Max. length is 150 characters.
Value/Type: string
instagram_username
Instagram profile handle.
Example: semrush
Max. length is 30 characters.
Value/Type: string
twitter_username
X (formerly Twitter) profile handle.
Example: semrush
Max. length is 15 characters.
Value/Type: string
reopen_date
Date ("YYYY-MM-DD") when a temporarily closed location is scheduled to reopen.
This must be a future date and is only applicable if the location status is set to temporarily closed.
Value/Type: string
payment_options
Supported payment methods for the business.
Identifiers must be retrieved from the Get Payment Options endpoint.
Value/Type: array of strings
location_id
Value/Type: string
business_name
Official public name of the business.
Max. length is 125 characters.
Value/Type: string
phone_number
Primary contact phone number for the business.
International format is required. For example: "+49 351 8629318", "+1 541-754-3010".
Value/Type: string
country
2-letter country code where the business is located, as defined by the ISO 3166-1 code reference (column Alpha-2 code).
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
The list of supported countries will increase in the future.
Value/Type: string
region
Highest administrative subdivision for postal addresses in a country or region.
For example, a state, province, oblast, or prefecture. Specifically, for Spain this is the province rather than the autonomous community (for example, "Barcelona" instead of "Catalonia").
Many countries do not use administrative areas in postal addresses.
Required for Canada, Australia, Brazil, India, and US.
Value/Type: string
city
City or locality name.
Max. length is 64 characters.
Value/Type: string
zip
Postal or ZIP code.
Required for the following countries: 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, 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, EG, MV, UY, KH, LA, MT, PA, PR, TN, DO, MN, GU, VE, ME, MP
Value/Type: string
address_line_1
Street address, including house number and street name.
Max. length is 190 characters.
Value/Type: string
address_line_2
Supplemental address information (for example, suite, floor, or building).
Max. length is 64 characters.
Value/Type: string
website_url
URL for the business. Must start with https://.
If possible, use a URL specific to this location rather than a generic brand website.
Max. length is 255 characters.
Value/Type: string
description
Detailed description of the business and its services.
Min. length is 10 characters. Max. length is 750 characters.
Value/Type: string
business_hours
Standard weekly operating hours.
Each weekday can contain no more than two time ranges. Ranges must not overlap.
Value/Type: object
special_hours
Exceptions to regular hours, such as holidays or temporary closures. This field can only be set if business hours are specified. These hours override regular business hours.
Max. 30 entries.
Value/Type: array of objects
more_hours
Additional business hours for specific service types (for example, delivery or pickup). Synchronized with Google Business Profile (GBP). Requires a linked GBP account.
Value/Type: array of objects
service_area_places
Areas serviced by the business.
If the suppress_address parameter is set to true, the service areas must be specified.
Value/Type: array of objects
category_ids
List of category identifiers (max. 10) that describe the business and help customers find relevant services.
Identifiers must be retrieved from the Get Categories endpoint.
Value/Type: array of strings
suppress_address
If set to true, the physical address is hidden from public listings and search results.
If the address is hidden, service_area_places must be populated to define the business’s geographic reach.
Value/Type: boolean
coordinates
Exact geographic coordinates for the location.
Value/Type: object
featured_message
Promotional message or announcement displayed on the business profile.
Max. length is 50 characters.
Value/Type: string
featured_message_url
Call-to-action URL associated with the featured message.
Example: "https://www.semrush.com/local-business/start/"
Max. length is 255 characters.
Value/Type: string
youtube_video
URL of a YouTube video showcasing the business.
Example: "https://www.youtube.com/watch?v=ndJB4J951_k"
Max. length is 150 characters.
Value/Type: string
instagram_username
Instagram profile handle.
Example: semrush
Max. length is 30 characters.
Value/Type: string
twitter_username
X (formerly Twitter) profile handle.
Example: semrush
Max. length is 15 characters.
Value/Type: string
reopen_date
Date ("YYYY-MM-DD") when a temporarily closed location is scheduled to reopen.
This must be a future date and is only applicable if the location status is set to temporarily closed.
Value/Type: string
payment_options
Supported payment methods for the business.
Identifiers must be retrieved from the Get Payment Options endpoint.
Value/Type: array of strings
frozen
If true, the location is frozen due to an overdue payment.
A frozen location cannot be edited, and management actions cannot be performed on its associated resources (such as images, listings, etc.).
Value/Type: boolean
location_status
Supported values: "COMPLETED", "PROCESSING", "FAILED".
Current status of the location.
COMPLETED: Location is ready for use. All features and data management are fully accessible.
PROCESSING: Location is currently being initialized. Data editing is unavailable until the process completes.
FAILED: Location could not be created. This status does not consume user limits. You may delete the location and create a new location using your existing limit. Contact Semrush Customer Support if the issue persists.
Value/Type: string
submit_date
Date and time when the location was first submitted in "YYYY-MM-DDThh:mm:ss" format (for example, "2026-03-10T17:03:42").
Value/Type: string
errors
Validation results occurring outside the synchronous request-response lifecycle. Use this field to track asynchronous processing errors and system-level validation failures reported via the location service.
Value/Type: array of objects
curl -L -X PATCH 'https://api.semrush.com/apis/v4/local/v1/locations/04f447bda9f845d691fb4cc37daba031?update_mask=address_line_1,business_name,address_line_2'
-H 'Content-Type: application/json'
-H 'Authorization: Apikey YOUR_API_KEY'
-d '{
"business_name":"Updated business name",
"address_line_1":"Naumburger Str."
}'{
"meta": {
"success": true,
"status_code": 200,
"request_id": "9d55854e927ecaea7d80707cc8282189",
"update_mask": ["address_line_1", "business_name", "address_line_2"]
},
"data": {
"business_name": "Updated business name",
"phone_number": "+1 222-666-1111",
"country": "US",
"region": "CA",
"city": "New Brettmouth",
"zip": "08527",
"address_line_1": "Naumburger Str.",
"website_url": "www.test.com",
"description": "Some description here",
"special_hours": [],
"service_area_places": [
{
"name": "17763",
"place_id": "DJYLLjkCOgvNiWDFEeiPIhXcAFpKRCJSGjsFdeV"
},
{
"name": "North Many",
"place_id": "AJfjhjLYkPiHljnHruSOntPsMLvsNthJqycYbSX"
},
{
"name": "West Bradley",
"place_id": "nYUkPeFsrTzygxnKapBRoBolALdaBxnqLyVhBRe"
}
],
"category_ids": [
"42e91d12d5dd45029c709f223545abd5"
],
"suppress_address": false,
"coordinates": {
"latitude": -6.761864717379694,
"longitude": 13.537953520639036
},
"instagram_username": "some_user",
"twitter_username": "some_user",
"location_id": "04f447bda9f845d691fb4cc37daba031",
"location_status": "COMPLETED",
"submit_date": "2026-03-03T11:44:43.19",
"errors": []
}
}Jump to Get LocationGet Location
Get a single location by its ID.
Jump to EndpointEndpoint
Path parameters
location_idRequired
Value/Type: string
location_id
Value/Type: string
business_name
Official public name of the business.
Max. length is 125 characters.
Value/Type: string
phone_number
Primary contact phone number for the business.
International format is required. For example: "+49 351 8629318", "+1 541-754-3010".
Value/Type: string
country
2-letter country code where the business is located, as defined by ISO 3166-1 code reference (column Alpha-2 code).
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
The list of supported countries will increase in the future.
Value/Type: string
region
Highest administrative subdivision for postal addresses in a country or region.
For example, a state, province, oblast, or prefecture.
Specifically, for Spain this is the province rather than the autonomous community (for example, "Barcelona" instead of "Catalonia").
Many countries do not use administrative areas in postal addresses.
Required for Canada, Australia, Brazil, India, and US.
Value/Type: string
city
City or locality name.
Max. length is 64 characters.
Value/Type: string
zip
Postal or ZIP code.
Required for the following countries: 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, 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, EG, MV, UY, KH, LA, MT, PA, PR, TN, DO, MN, GU, VE, ME, MP
Value/Type: string
address_line_1
Street address, including house number and street name.
Max. length is 190 characters.
Value/Type: string
address_line_2
Supplemental address information (for example, suite, floor, or building).
Max. length is 64 characters.
Value/Type: string
website_url
URL for the business. Must start with https://.
If possible, use a URL specific to this location rather than a generic brand website.
Max. length is 255 characters.
Value/Type: string
description
Detailed description of the business and its services.
Min. length is 10 characters. Max. length is 750 characters.
Value/Type: string
business_hours
Standard weekly operating hours.
Each weekday can contain no more than two time ranges. Ranges must not overlap.
Value/Type: object
special_hours
Exceptions to regular hours, such as holidays or temporary closures. This field can only be set if business hours are specified. These hours override regular business hours.
Max. 30 entries.
Value/Type: array of objects
more_hours
Additional business hours for specific service types (for example, delivery or pickup). Synchronized with Google Business Profile (GBP). Requires a linked GBP account.
Value/Type: array of objects
service_area_places
Areas serviced by the business.
If the suppress_address parameter is set to true, the service areas must be specified.
Value/Type: array of objects
category_ids
List of category identifiers (max. 10) that describe the business and help customers find relevant services.
Identifiers must be retrieved from the Get Categories endpoint.
Value/Type: array of strings
suppress_address
If set to true, the physical address is hidden from public listings and search results.
If the address is hidden, service_area_places must be populated to define the business’s geographic reach.
Value/Type: boolean
coordinates
Exact geographic coordinates for the location.
Value/Type: object
featured_message
Promotional message or announcement displayed on the business profile.
Max. length is 50 characters.
Value/Type: string
featured_message_url
Call-to-action URL associated with the featured message.
Example: "https://www.semrush.com/local-business/start/"
Max. length is 255 characters.
Value/Type: string
youtube_video
URL of a YouTube video showcasing the business.
Example: "https://www.youtube.com/watch?v=ndJB4J951_k"
Max. length is 150 characters.
Value/Type: string
instagram_username
Instagram profile handle.
Example: semrush
Max. length is 30 characters.
Value/Type: string
twitter_username
X (formerly Twitter) profile handle.
Example: semrush
Max. length is 15 characters.
Value/Type: string
reopen_date
Date ("YYYY-MM-DD") when a temporarily closed location is scheduled to reopen.
This must be a future date and is only applicable if the location status is set to temporarily closed.
Value/Type: string
payment_options
Supported payment methods for the business.
Identifiers must be retrieved from the Get Payment Options endpoint.
Value/Type: array of strings
frozen
If true, the location is frozen due to an overdue payment.
A frozen location cannot be edited, and management actions cannot be performed on its associated resources (such as images, listings, etc.).
Value/Type: boolean
location_status
Supported values: "COMPLETED", "PROCESSING", "FAILED".
Current status of the location.
COMPLETED: Location is ready for use. All features and data management are fully accessible.
PROCESSING: Location is currently being initialized. Data editing is unavailable until the process completes.
FAILED: Location could not be created. This status does not consume user limits. You may delete the location and create a new location using your existing limit. Contact Semrush Customer Support if the issue persists.
Value/Type: string
submit_date
Date and time when the location was first submitted in "YYYY-MM-DDThh:mm:ss" format (for example, "2026-03-10T17:03:42").
Value/Type: string
errors
Validation results occurring outside the synchronous request-response lifecycle. Use this field to track asynchronous processing errors and system-level validation failures reported via the location service.
Value/Type: array of objects
curl -L 'https://api.semrush.com/apis/v4/local/v1/locations/3e8d046f62fe4b73802112e138a78532'
-H 'Authorization: Apikey YOUR_API_KEY'{
"meta": {
"success": true,
"status_code": 200,
"request_id": "fc8e2dd369a9ed46f93ebffd9660afa0"
},
"data": {
"business_name": "Delta Manor Apartments",
"phone_number": "+1 435 864 3376",
"country": "US",
"region": "UT",
"city": "Delta",
"zip": "84624",
"address_line_1": "111 W Main St, Delta, UT 84624, United States",
"address_line_2": "Second floor",
"website_url": "www.test.com",
"description": "Welcome to our Some business name!",
"business_hours": {
"monday_hours": [
{
"from": "08:00",
"to": "12:00"
},
{
"from": "14:00",
"to": "18:00"
}
],
"tuesday_hours": [
{
"from": "08:00",
"to": "12:00"
},
{
"from": "14:00",
"to": "18:00"
}
],
"wednesday_hours": [
{
"from": "08:00",
"to": "12:00"
},
{
"from": "14:00",
"to": "18:00"
}
],
"thursday_hours": [
{
"from": "08:00",
"to": "12:00"
},
{
"from": "14:00",
"to": "18:00"
}
],
"friday_hours": [
{
"from": "08:00",
"to": "12:00"
},
{
"from": "14:00",
"to": "18:00"
}
],
"saturday_hours": [
{
"from": "08:00",
"to": "14:00"
}
],
"sunday_hours": []
},
"special_hours": [
{
"type": "CLOSED",
"day": "2026-05-01",
"times": []
},
{
"type": "OPENED_ALL_DAY",
"day": "2026-12-24",
"times": []
},
{
"type": "RANGE",
"day": "2026-03-11",
"times": [
{
"from": "14:00",
"to": "18:00"
}
]
}
],
"service_area_places": [
{
"name": "Delta, UT, USA",
"place_id": "ChIJQRRb_PG0TIcRwoI8h4xTvTM"
},
{
"name": "UT, USA",
"place_id": "ChIJzfkTj8drTIcRP0bXbKVK370"
}
],
"category_ids": [
"b871306d44c145a0b781ed2cb3b19bf1",
"909c2eebd4fb4b338937d8518a3f0d73"
],
"suppress_address": true,
"coordinates": {
"latitude": 39.35221240176079,
"longitude": -112.57777149021301
},
"featured_message": "Call Today",
"featured_message_url": "www.test.com",
"youtube_video": "https://www.youtube.com/watch?v=nYykbUPQ9eo",
"instagram_username": "some_instagram_username",
"twitter_username": "some_x_username",
"location_id": "6d6ac5e772284c569c6ca109008b4c4f",
"location_status": "COMPLETED",
"submit_date": "2025-08-14T15:57:56.414",
"errors": []
}
}Jump to Get LocationsGet Locations
Get a paginated list of all locations.
Jump to EndpointEndpoint
Request Parameters
location_statuses
Supported values: "COMPLETED", "PROCESSING", "FAILED"
Filter locations by status.
Value/Type: array of strings
limit
Mximum number of locations to be returned in a single paginated response.
Default is 50. Max. is 50.
Value/Type: integer
offset
Starting point for the subset of records to be returned.
Default is 0.
Value/Type: integer
frozen
Filters locations by their frozen status. If true, returns only frozen locations.
If false, returns only non-frozen locations. If omitted, returns all locations regardless of frozen status.
Value/Type: boolean
location_id
Value/Type: string
business_name
Official public name of the business.
Max. length is 125 characters.
Value/Type: string
phone_number
Primary contact phone number for the business.
International format is required. For example: "+49 351 8629318", "+1 541-754-3010".
Value/Type: string
country
2-letter country code where the business is located, as defined by the ISO 3166-1 code reference (column Alpha-2 code).
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
The list of supported countries will increase in the future.
Value/Type: string
region
Highest administrative subdivision for postal addresses in a country or region.
For example, a state, province, oblast, or prefecture.
Specifically, for Spain this is the province rather than the autonomous community (for example, "Barcelona" instead of "Catalonia").
Many countries do not use administrative areas in postal addresses.
Required for Canada, Australia, Brazil, India, and US.
Value/Type: string
city
City or locality name.
Max. length is 64 characters.
Value/Type: string
zip
Postal or ZIP code.
Required for the following countries: 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, 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, EG, MV, UY, KH, LA, MT, PA, PR, TN, DO, MN, GU, VE, ME, MP
Value/Type: string
address_line_1
Street address, including house number and street name.
Max. length is 190 characters.
Value/Type: string
address_line_2
Supplemental address information (for example, suite, floor, or building).
Max. length is 64 characters.
Value/Type: string
website_url
URL for the business. Must start with https://.
If possible, use a URL specific to this location rather than a generic brand website.
Max. length is 255 characters.
Value/Type: string
description
Detailed description of the business and its services.
Min. length is 10 characters. Max. length is 750 characters.
Value/Type: string
business_hours
Standard weekly operating hours.
Each weekday can contain no more than two time ranges. Ranges must not overlap.
Value/Type: object
special_hours
Exceptions to regular hours, such as holidays or temporary closures. This field can only be set if business hours are specified. These hours override regular business hours.
Max. 30 entries.
Value/Type: array of objects
more_hours
Additional business hours for specific service types (for example, delivery or pickup). Synchronized with Google Business Profile (GBP). Requires a linked GBP account.
Value/Type: array of objects
service_area_places
Areas serviced by the business.
If the suppress_address parameter is set to true, the service areas must be specified.
Value/Type: array of objects
category_ids
List of category identifiers (max. 10) that describe the business and help customers find relevant services.
Identifiers must be retrieved from the Get Categories endpoint.
Value/Type: array of strings
suppress_address
If set to true, the physical address is hidden from public listings and search results.
If the address is hidden, service_area_places must be populated to define the business’s geographic reach.
Value/Type: boolean
coordinates
Exact geographic coordinates for the location.
Value/Type: object
featured_message
Promotional message or announcement displayed on the business profile.
Max. length is 50 characters.
Value/Type: string
featured_message_url
Call-to-action URL associated with the featured message.
Example: "https://www.semrush.com/local-business/start/"
Max. length is 255 characters.
Value/Type: string
youtube_video
URL of a YouTube video showcasing the business.
Example: "https://www.youtube.com/watch?v=ndJB4J951_k"
Max. length is 150 characters.
Value/Type: string
instagram_username
Instagram profile handle.
Example: semrush
Max. length is 30 characters.
Value/Type: string
twitter_username
X (formerly Twitter) profile handle.
Example: semrush
Max. length is 15 characters.
Value/Type: string
reopen_date
Date ("YYYY-MM-DD") when a temporarily closed location is scheduled to reopen.
This must be a future date and is only applicable if the location status is set to temporarily closed.
Value/Type: string
payment_options
Supported payment methods for the business.
Identifiers must be retrieved from the Get Payment Options endpoint.
Value/Type: array of strings
frozen
If true, the location is frozen due to an overdue payment.
A frozen location cannot be edited, and management actions cannot be performed on its associated resources (such as images, listings, etc.).
Value/Type: boolean
location_statuses
Supported values: "COMPLETED", "PROCESSING", "FAILED".
Current status of the location.
COMPLETED: Location is ready for use. All features and data management are fully accessible.
PROCESSING: Location is currently being initialized. Data editing is unavailable until the process completes.
FAILED: Location could not be created. This status does not consume user limits. You may delete the location and create a new location using your existing limit. Contact Semrush Customer Support if the issue persists.
For example: location_statuses=COMPLETED,PROCESSING
Value/Type: array of string
submit_date
Date and time when the location was first submitted in the "YYYY-MM-DDThh:mm:ss" format (for example, "2026-03-10T17:03:42").
Value/Type: string
errors
Validation results occurring outside the synchronous request-response lifecycle. Use this field to track asynchronous processing errors and system-level validation failures reported via the location service.
Value/Type: array of objects
curl -L 'https://api.semrush.com/apis/v4/local/v1/locations?location_statuses=COMPLETED,FAILED&limit=10&offset=10'
-H 'Authorization: Apikey YOUR_API_KEY'{
"meta": {
"success": true,
"status_code": 200,
"request_id": "94ea05c2c3f903450236cd4f36023631"
},
"data": [
{
"business_name": "Some business name",
"phone_number": "+1 112-330-1303",
"country": "US",
"region": "TX",
"city": "Austin",
"zip": "78731",
"address_line_1": "3305 Northland",
"special_hours": [],
"service_area_places": [],
"category_ids": [
"c8124a0c01554493a645a58bb1fd9247",
"ee5ecf6d8dc14797b750e97f75b03e4f",
"79ece4794d46492f8e936516001abace"
],
"suppress_address": false,
"coordinates": {
"latitude": 30.334286,
"longitude": -97.7568222
},
"featured_message": "Call Today",
"instagram_username": "some_username",
"twitter_username": "some_username",
"location_id": "b326158fb2a24777a76575b1883923e6",
"location_status": "COMPLETED",
"submit_date": "2026-02-16T14:38:14.57",
"errors": []
},
{
"business_name": "Another business name",
"phone_number": "+357 16 932379",
"country": "CY",
"city": "Paphos",
"zip": "8040",
"address_line_1": "Apostolou Pavlou Avenue 99",
"website_url": "https://some-website.com/",
"description": "Established in 1954, Another Business Name remains a cornerstone of the domestic ball-bearing and gasket distribution industry.",
"business_hours": {
"monday_hours": [
{
"from": "09:00",
"to": "17:00"
}
],
"tuesday_hours": [],
"wednesday_hours": [],
"thursday_hours": [],
"friday_hours": [],
"saturday_hours": [],
"sunday_hours": []
},
"special_hours": [],
"service_area_places": [],
"category_ids": [
"3e25b0338cf94ad8bd1c7d5a28140b65"
],
"suppress_address": false,
"coordinates": {
"latitude": 34.7851347,
"longitude": 32.4174674
},
"location_id": "15b4a2871cc14dda9fc448aed4060171",
"location_status": "COMPLETED",
"submit_date": "2026-02-03T12:03:05.301",
"errors": []
}
]
}Jump to Delete LocationDelete Location
Permanently removes a location by its ID.
Jump to EndpointEndpoint
Path parameters
location_idRequired
Unique identifier of the location to delete.
Value/Type: string
curl -X DELETE "https://api.semrush.com/apis/v4/local/v1/locations/3e8d046f62fe4b73802112e138a78532" \
-H "Authorization: Apikey YOUR_API_KEY"{
"meta": {
"request_id": "4fb1773ec2a8d61a0407f464599f897c",
"status_code": 200,
"success": true
},
"data": {}
}Jump to Get ListingsGet Listings
Returns the listings associated with a specific location.
Use the optional listing_statuses filter to narrow results by connection state.
Jump to EndpointEndpoint
Path parameters
location_idRequired
Unique identifier of the location for which you want to retrieve the listings.
Value/Type: string
Query parameters
listing_statuses
Filters the results to listings with the specified statuses. Multiple values can be provided.
Supported values: CONNECTED, SUBMITTED, UNAVAILABLE, DISCONNECTED, PROCESSING.
Value/Type: array of strings
listings
List of listings matching the request filters.
Value/Type: array of objects
curl -X GET "https://api.semrush.com/apis/v4/local/v1/locations/1d21ceab55d740709311ec9b8a12c01e/listings?listing_statuses=CONNECTED&listing_statuses=PROCESSING" \
-H "Authorization: Apikey YOUR_API_KEY"{
"meta": {
"request_id": "4fb1773ec2a8d61a0407f464599f897c",
"status_code": 200,
"success": true
},
"data": [
{
"id": "gbp-1d21ceab55d740709311ec9b8a12c01e",
"name": "Google Business Profile",
"status": "CONNECTED",
"controllable": false,
"url": "https://maps.google.com/?cid=7451928374651234567",
"parent_id": ""
},
{
"id": "apple-1d21ceab55d740709311ec9b8a12c01e",
"name": "Apple Maps",
"status": "CONNECTED",
"controllable": true,
"url": "https://maps.apple.com/?q=Some+Business+Name&ll=39.3522,-112.5778",
"parent_id": ""
},
{
"id": "yelp-child-1d21ceab55d740709311ec9b8a12c01e",
"name": "Yelp",
"status": "PROCESSING",
"controllable": true,
"url": "",
"parent_id": "yelp-1d21ceab55d740709311ec9b8a12c01e"
}
]
}Jump to Disable ListingDisable Listing
Disables a location listing.
To be disabled, a listing must be controllable and have one of the following statuses: CONNECTED, SUBMITTED, or UNAVAILABLE.
You can check if a listing is controllable by using the Get Listings endpoint and looking at the controllable field in the response.
Jump to EndpointEndpoint
Path parameters
listing_idRequired
Unique identifier of the listing to disable.
Value/Type: string
curl -X POST "https://api.semrush.com/apis/v4/local/v1/listings/b1c2d3e4f5a64789abcdef0123456789/disable" \
-H "Authorization: Apikey YOUR_API_KEY" \
-H "Content-Type: application/json"{
"meta": {
"request_id": "a3f7c1e2d4b56789012345678abcdef0",
"status_code": 200,
"success": true
},
"data": {}
}Jump to Enable ListingEnable Listing
Enables a location listing.
To be enabled, a listing must be controllable and have a status of DISCONNECTED.
You can check if a listing is controllable by using the Get Listings endpoint and looking at the controllable field in the response.
Jump to EndpointEndpoint
Path parameters
listing_idRequired
Unique identifier of the listing to enable.
Value/Type: string
curl -X POST "https://api.semrush.com/apis/v4/local/v1/listings/a3f1c2e4b5d6789012345678abcdef01/enable" \
-H "Authorization: Apikey YOUR_API_KEY"{
"meta": {
"request_id": "7c3a91e0f2b84d5e6a1092bdc3874f12",
"status_code": 200,
"success": true
},
"data": {}
}Jump to Create ImageCreate Image
Upload an image to a location’s profile.
Jump to EndpointEndpoint
Path parameters
location_idRequired
Unique identifier of the location to attach the image to.
Value/Type: string
Body parameters
contentRequired
Base64-encoded image data. Supported formats: JPEG, JPG, PNG.
Max. size: 4MB.
Value/Type: string
typeRequired
Intended use of the image. Supported values: PHOTO, PROFILE, COVER.
Dimension constraints:
COVER: 480x270 px (min) to 2120x1192 px (max)PHOTO: 270x270 px (min) to 5000x5000 px (max)PROFILE: 250x250 px (min) to 5000x5000 px (max)
Value/Type: string
description
Caption describing the image content.
Value/Type: string
id
Unique identifier for the image.
Value/Type: string
type
Image category. Possible values: PHOTO, PROFILE, COVER.
Value/Type: string
url
Public URL where the image can be accessed or downloaded.
Value/Type: string
description
Caption describing the image content.
Value/Type: string
create_date
Timestamp when the image was created, in the ISO 8601 format (YYYY-MM-DDThh:mm:ss).
Value/Type: string
curl -X POST "https://api.semrush.com/apis/v4/local/v1/locations/3e8d046f62fe4b73802112e138a78532/images" \
-H "Authorization: Apikey YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"content": "/9j/4AAQSkZJRgABAQEASABIAAD...",
"type": "PHOTO",
"description": "Front entrance of the store"
}'{
"meta": {
"request_id": "4fb1773ec2a8d61a0407f464599f897c",
"status_code": 200,
"success": true
},
"data": {
"id": "a1b2c3d4e5f64a7b8c9d0e1f2a3b4c5d",
"type": "PHOTO",
"url": "https://images.semrush.com/local/a1b2c3d4e5f64a7b8c9d0e1f2a3b4c5d.jpg",
"description": "Front entrance of the store",
"create_date": "2024-05-11T00:28:38"
}
}Jump to Get ImagesGet Images
Returns a paginated list of images associated with a location.
Jump to EndpointEndpoint
Path parameters
location_idRequired
ID of the location for which you need to get the images.
Value/Type: string
Query parameters
image_types
Filters results to one or more image types. Supported values: PHOTO, PROFILE, COVER.
Value/Type: []string
offset
Zero-based starting position for the results page. Default is 0.
Value/Type: integer
limit
Maximum number of images to return in a single response. Default is 50. Max. is 50.
Value/Type: integer
images
List of location images for the current page.
Value/Type: []object
curl -X GET "https://api.semrush.com/apis/v4/local/v1/locations/3e8d046f62fe4b73802112e138a78532/images?image_types=PHOTO&offset=0&limit=10" \
-H "Authorization: Apikey YOUR_API_KEY"{
"meta": {
"limit": 10,
"offset": 0,
"request_id": "4fb1773ec2a8d61a0407f464599f897c",
"status_code": 200,
"success": true,
"total": 42
},
"data": [
{
"id": "a1b2c3d4e5f64a7b8c9d0e1f2a3b4c5d",
"type": "PHOTO",
"url": "https://lh3.googleusercontent.com/p/AF1QipN3xZkL8mVqT2oWpBkD1YnRcEeJvSs6k4fHg=s1024",
"description": "Exterior view of the main entrance",
"create_date": "2024-05-11T00:28:38"
},
{
"id": "b7c8d9e0f1a24b3c4d5e6f7a8b9c0d1e",
"type": "COVER",
"url": "https://lh3.googleusercontent.com/p/BG2RjqOM4yZkP9nVuT3pXqCkE2ZsRfFkWTt7m5gIh=s1024",
"description": "Interior seating area with natural lighting",
"create_date": "2024-07-22T14:15:00"
}
]
}Jump to Update ImageUpdate Image
Updates the metadata of an existing location image, such as its caption.
Jump to EndpointEndpoint
Path parameters
image_idRequired
Unique identifier of the image to update.
Value/Type: string
Body parameters
description
Caption describing the image content. Max. length is 255 characters.
Value/Type: string
id
Unique identifier of the image.
Value/Type: string
type
Image type. Possible values: PHOTO, PROFILE, COVER.
Value/Type: string
url
Public URL where the image file can be accessed or downloaded.
Value/Type: string
description
Caption describing the image content.
Value/Type: string
create_date
Timestamp when the image was created, in the "YYYY-MM-DDThh:mm:ss" format. For example, 2024-05-11T00:28:38.
Value/Type: string
curl -X PUT "https://api.semrush.com/apis/v4/local/v1/images/a1b2c3d4e5f64789abcdef0123456789" \
-H "Authorization: Apikey YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"description": "Front entrance of our downtown location"
}'{
"meta": {
"request_id": "4fb1773ec2a8d61a0407f464599f897c",
"status_code": 200,
"success": true
},
"data": {
"id": "a1b2c3d4e5f64789abcdef0123456789",
"type": "PHOTO",
"url": "https://images.semrush.com/local/a1b2c3d4e5f64789abcdef0123456789.jpg",
"description": "Front entrance of our downtown location",
"create_date": "2024-05-11T00:28:38"
}
}Jump to Delete ImageDelete Image
Permanently removes an image from a location’s profile.
Jump to EndpointEndpoint
Path parameters
image_idRequired
Unique identifier of the image to delete.
Value/Type: string
curl -X DELETE "https://api.semrush.com/apis/v4/local/v1/images/a1b2c3d4e5f64789abcdef0123456789" \
-H "Authorization: Apikey YOUR_API_KEY"{
"meta": {
"request_id": "4fb1773ec2a8d61a0407f464599f897c",
"status_code": 200,
"success": true
},
"data": {}
}Jump to Get CategoriesGet Categories
Get a paginated list of business categories for a specific country.
Jump to EndpointEndpoint
Request Parameters
countryRequired
Value/Type: string
limit
Maximum number of categories to be returned in a single paginated response.
Default is 1000. Max. is 1000.
Value/Type: integer
offset
Starting point for the subset of records to be returned.
Default is 0.
Value/Type: integer
id
Value/Type: string
name
Value/Type: string
full_name
"Books > Comic book store").Value/Type: string
parent_id
null for top-level categories.Value/Type: string
curl -L 'https://api.semrush.com/apis/v4/local/v1/categories?country=CZ&limit=1000&offset=1000'
-H 'Authorization: Apikey YOUR_API_KEY'{
"meta": {
"success": true,
"status_code": 200,
"request_id": "c2ad517a4e341f07b543f0f68477e9fa"
},
"data": [
{
"id": "46e6afbab7cd408bae8d392184a5627e",
"name": "Marble supplier",
"full_name": "Businesses and Services > Supplier > Marble supplier",
"parent_id": "12898ed82f5849b1abb684887b82b464"
},
{
"id": "836dca5e11c546c49eb8802e9efe2d54",
"name": "Metal industry suppliers",
"full_name": "Businesses and Services > Supplier > Metal industry suppliers",
"parent_id": "12898ed82f5849b1abb684887b82b464"
},
{
"id": "90d3ba25b03f4e13bb1ef77d9097a025",
"name": "Metal detecting equipment supplier",
"full_name": "Businesses and Services > Supplier > Metal detecting equipment supplier",
"parent_id": "12898ed82f5849b1abb684887b82b464"
}
]
}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
Path parameters
location_idRequired
Unique identifier of the location.
Value/Type: string
more_hour_types
Hour types available for the location. For example: "SENIOR_HOURS", "PRAYER_GENERAL", "DELIVERY".
Value/Type: array of strings
curl -X GET "https://api.semrush.com/apis/v4/local/v1/locations/3e8d046f62fe4b73802112e138a78532/more-hour-types" \
-H "Authorization: Apikey YOUR_API_KEY"{
"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"
]
}
}Jump to Get Payment OptionsGet Payment Options
Returns the list of payment option identifiers available for a specific location.
Use the returned values to populate the payment_options field when updating a location.
Jump to EndpointEndpoint
Path parameters
location_idRequired
Unique identifier of the location for which you want to retrieve payment options.
Value/Type: string
payment_options
Payment option identifiers available for the location. For example: "CASH", "CREDIT_CARD", "DEBIT_CARD", "NFC_MOBILE_PAYMENTS".
Value/Type: array of strings
curl -X GET "https://api.semrush.com/apis/v4/local/v1/locations/3e8d046f62fe4b73802112e138a78532/payment-options" \
-H "Authorization: Apikey YOUR_API_KEY"{
"meta": {
"request_id": "4fb1773ec2a8d61a0407f464599f897c",
"status_code": 200,
"success": true
},
"data": {
"payment_options": [
"CASH",
"CREDIT_CARD",
"DEBIT_CARD",
"NFC_MOBILE_PAYMENTS"
]
}
}Last updated: May 29, 2026