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 performs validation but does not persist data updates or consume your 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
business_nameRequired
The official public name of the business.
Max. length is 125 characters.
Value/Type: string
phone_numberRequired
The primary contact phone number for the business.
International format is required. For example: "+49 351 8629318", "+1 541-754-3010"
Value/Type: string
countryRequired
The 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 be increased in the future.
Value/Type: string
region
The 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
cityRequired
The city or locality name.
Max. length is 64 characters.
Value/Type: string
zip
The 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
The URL for the business. Must start with http:// or 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
A 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
Service area businesses provide services at the customer’s location.
Value/Type: array of objects
category_idsRequired
A 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
A promotional message or announcement displayed on the business profile.
Max. length is 50 characters.
Value/Type: string
featured_message_url
A 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
The 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
The official public name of the business.
Max. length is 125 characters.
Value/Type: string
phone_number
The primary contact phone number for the business.
International format is required. For example: "+49 351 8629318", "+1 541-754-3010"
Value/Type: string
country
The 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 be increased in the future.
Value/Type: string
region
The 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
The city or locality name.
Max. length is 64 characters.
Value/Type: string
zip
The 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
The URL for the business. Must start with http:// or 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
A 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
Service area businesses provide services at the customer’s location.
Value/Type: array of objects
category_ids
A 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
A promotional message or announcement displayed on the business profile.
Max. length is 50 characters.
Value/Type: string
featured_message_url
A 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
The 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: The location is ready for use. All features and data management are fully accessible.
PROCESSING: The location is currently being initialized. Data editing is unavailable until the process completes.
FAILED: The 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
The date and time when the location was first submitted ("YYYY-MM-DD").
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'
-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"
},
"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",
"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 clear a field (set it to null), include the field name in the update_mask but omit it from the request body. 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 performs validation but does not persist any data updates.
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
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
business_name
The official public name of the business.
Max. length is 125 characters.
Value/Type: string
phone_number
The primary contact phone number for the business.
International format is required. For example: "+49 351 8629318", "+1 541-754-3010".
Value/Type: string
region
The 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
The city or locality name.
Max. length is 64 characters.
Value/Type: string
zip
The 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
The URL for the business. Must start with http:// or 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
A 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
Service area businesses provide services at the customer’s location.
Value/Type: array of objects
category_ids
A 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
A promotional message or announcement displayed on the business profile.
Max. length is 50 characters.
Value/Type: string
featured_message_url
A 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
The 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
The official public name of the business.
Max. length is 125 characters.
Value/Type: string
phone_number
The primary contact phone number for the business.
International format is required. For example: "+49 351 8629318", "+1 541-754-3010".
Value/Type: string
country
The 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 be increased in the future.
Value/Type: string
region
The 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
The city or locality name.
Max. length is 64 characters.
Value/Type: string
zip
The 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
The URL for the business. Must start with http:// or 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
A 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
Service area businesses provide services at the customer’s location.
Value/Type: array of objects
category_ids
A 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
A promotional message or announcement displayed on the business profile.
Max. length is 50 characters.
Value/Type: string
featured_message_url
A 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
The 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: The location is ready for use. All features and data management are fully accessible.
PROCESSING: The location is currently being initialized. Data editing is unavailable until the process completes.
FAILED: The 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
The date and time when the location was first submitted ("YYYY-MM-DD").
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"
},
"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
Request Parameters
location_idRequired
Value/Type: string
location_id
Value/Type: string
business_name
The official public name of the business.
Max. length is 125 characters.
Value/Type: string
phone_number
The primary contact phone number for the business.
International format is required. For example: "+49 351 8629318", "+1 541-754-3010".
Value/Type: string
country
The 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 be increased in the future.
Value/Type: string
region
The 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
The city or locality name.
Max. length is 64 characters.
Value/Type: string
zip
The 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
The URL for the business. Must start with http:// or 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
A 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
Service area businesses provide services at the customer’s location.
Value/Type: array of objects
category_ids
A 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
A promotional message or announcement displayed on the business profile.
Max. length is 50 characters.
Value/Type: string
featured_message_url
A 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
The 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: The location is ready for use. All features and data management are fully accessible.
PROCESSING: The location is currently being initialized. Data editing is unavailable until the process completes.
FAILED: The 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
The date and time when the location was first submitted ("YYYY-MM-DD").
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
The maximum number of locations to be returned in a single paginated response.
Default is 50. Max. is 50.
Value/Type: integer
offset
The starting point for the subset of records to be returned.
Default is 0.
Value/Type: integer
location_id
Value/Type: string
business_name
The official public name of the business.
Max. length is 125 characters.
Value/Type: string
phone_number
The primary contact phone number for the business.
International format is required. For example: "+49 351 8629318", "+1 541-754-3010".
Value/Type: string
country
The 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 be increased in the future.
Value/Type: string
region
The 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
The city or locality name.
Max. length is 64 characters.
Value/Type: string
zip
The 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
The URL for the business. Must start with http:// or 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
A 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
Service area businesses provide services at the customer’s location.
Value/Type: array of objects
category_ids
A 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
A promotional message or announcement displayed on the business profile.
Max. length is 50 characters.
Value/Type: string
featured_message_url
A 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
The 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_statuses
Supported values: "COMPLETED", "PROCESSING", "FAILED".
Current status of the location.
COMPLETED: The location is ready for use. All features and data management are fully accessible.
PROCESSING: The location is currently being initialized. Data editing is unavailable until the process completes.
FAILED: The 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
The date and time when the location was first submitted ("YYYY-MM-DD").
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 Get CategoriesGet Categories
Get a paginated list of business categories for a specific country.
Jump to EndpointEndpoint
Request Parameters
countryRequired
Value/Type: string
limit
The maximum number of categories to be returned in a single paginated response.
Default is 1000. Max. is 1000.
Value/Type: integer
offset
The 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
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"
}
]
}Last updated: March 26, 2026