v1Resources/Locations/postCreate a location
Create a location
Creates a location, under one of your clients (clientId) or on its own, and submits it for publishing. Requires name, countryIso and a category: categoryId, categoryName, or publisherCategories.google.
post
locations:write/api/v1/locationsRequest body
clientIdstringoptional
ID of the client to create this location under. Look it up with GET /api/v1/clients. Optional, like "Without a client" in the app: leave it out and the location is created on its own. A key limited to specific clients must send one.
kindstring (location | website)optional
location (the default) is a physical business listing. website is a website entity — a brand's site tracked for reviews, SEO, AEO and social — created from a name and a website alone. It is not a billable location, and it needs website entities enabled for the workspace (403 otherwise).
namestringrequired
The location's business name.
countryIsostringoptional
ISO country code, e.g. US.
streetstringoptional
Street address.
street1stringoptional
Street address, line 2.
citystringoptional
City.
stateIsostringoptional
State or region code.
postalCodestringoptional
Postal or ZIP code.
phonestringoptional
Phone number.
additionalPhonesarray of stringoptional
Any additional phone numbers beyond the primary one.
websitestringoptional
Website URL.
categoryIdstringoptional
General category id, from GET /api/v1/locations/categories. A location needs a category: send this, categoryName, or publisherCategories.google.
categoryNamestringoptional
General category display name. A location needs a category: send this, categoryId, or publisherCategories.google. A name that doesn't match the catalog is kept as the display category.
publisherCategoriesobjectoptional
Per-publisher categories, one per publisher, each an { id, name } looked up via GET /api/v1/locations/publisher-categories. On create, publisherCategories.google also satisfies the category requirement.
googleobjectoptional
idstringoptional
namestringoptional
facebookobjectoptional
idstringoptional
namestringoptional
appleobjectoptional
idstringoptional
namestringoptional
bingobjectoptional
idstringoptional
namestringoptional
additionalCategoriesarray of objectoptional
Up to 9 extra categories, each an { id?, name }. A bare name is accepted and its id is resolved from the category catalog where one matches. Look up ids yourself with GET /api/v1/locations/categories.
idstringoptional
namestringoptional
descriptionstringoptional
A short description of the business.
tagsarray of stringoptional
Internal tags for your own organization — not shown publicly.
latitudenumberoptional
Latitude, in decimal degrees. Derived automatically from the address if omitted.
longitudenumberoptional
Longitude, in decimal degrees. Derived automatically from the address if omitted.
customFieldsobjectoptional
Custom field values to set on this location, keyed by field id.
serviceAreaobjectoptional
Service-area settings on Master, for a business that serves customers at their location. Set businessType to CUSTOMER_LOCATION_ONLY to hide the street address: no publisher is sent a street it would show, even if one is stored. Send null to clear it. To set it for some publishers only, use publisherServiceAreas or applyToPublishers.
businessTypestring (CUSTOMER_LOCATION_ONLY | CUSTOMER_AND_BUSINESS_LOCATION)required
CUSTOMER_LOCATION_ONLY hides the address (service area only). CUSTOMER_AND_BUSINESS_LOCATION shows the address and the areas served.
placesarray of objectoptional
Areas served, up to 20. Each is { name, placeId?, placeType? }. Google and Bing publish them. Facebook and Apple have no list of service areas, so for them only the hidden street applies.
namestringrequired
placeIdstringoptional
Google Place ID of the area. Google only accepts places that have one, so a place without it is saved but not sent to Google.
placeTypestring (country | administrativeArea | locality | postalCode)optional
publisherServiceAreasobjectoptional
A different service area for Google, Facebook, Apple or Bing, each in the same shape as serviceArea. It is stored as that publisher's own value and returned in publisherOverrides. A publisher you leave out uses serviceArea.
googleobjectoptional
Service-area settings on Master, for a business that serves customers at their location. Set businessType to CUSTOMER_LOCATION_ONLY to hide the street address: no publisher is sent a street it would show, even if one is stored. Send null to clear it. To set it for some publishers only, use publisherServiceAreas or applyToPublishers.
businessTypestring (CUSTOMER_LOCATION_ONLY | CUSTOMER_AND_BUSINESS_LOCATION)required
CUSTOMER_LOCATION_ONLY hides the address (service area only). CUSTOMER_AND_BUSINESS_LOCATION shows the address and the areas served.
placesarray of objectoptional
Areas served, up to 20. Each is { name, placeId?, placeType? }. Google and Bing publish them. Facebook and Apple have no list of service areas, so for them only the hidden street applies.
namestringrequired
placeIdstringoptional
Google Place ID of the area. Google only accepts places that have one, so a place without it is saved but not sent to Google.
placeTypestring (country | administrativeArea | locality | postalCode)optional
facebookobjectoptional
Service-area settings on Master, for a business that serves customers at their location. Set businessType to CUSTOMER_LOCATION_ONLY to hide the street address: no publisher is sent a street it would show, even if one is stored. Send null to clear it. To set it for some publishers only, use publisherServiceAreas or applyToPublishers.
businessTypestring (CUSTOMER_LOCATION_ONLY | CUSTOMER_AND_BUSINESS_LOCATION)required
CUSTOMER_LOCATION_ONLY hides the address (service area only). CUSTOMER_AND_BUSINESS_LOCATION shows the address and the areas served.
placesarray of objectoptional
Areas served, up to 20. Each is { name, placeId?, placeType? }. Google and Bing publish them. Facebook and Apple have no list of service areas, so for them only the hidden street applies.
namestringrequired
placeIdstringoptional
Google Place ID of the area. Google only accepts places that have one, so a place without it is saved but not sent to Google.
placeTypestring (country | administrativeArea | locality | postalCode)optional
appleobjectoptional
Service-area settings on Master, for a business that serves customers at their location. Set businessType to CUSTOMER_LOCATION_ONLY to hide the street address: no publisher is sent a street it would show, even if one is stored. Send null to clear it. To set it for some publishers only, use publisherServiceAreas or applyToPublishers.
businessTypestring (CUSTOMER_LOCATION_ONLY | CUSTOMER_AND_BUSINESS_LOCATION)required
CUSTOMER_LOCATION_ONLY hides the address (service area only). CUSTOMER_AND_BUSINESS_LOCATION shows the address and the areas served.
placesarray of objectoptional
Areas served, up to 20. Each is { name, placeId?, placeType? }. Google and Bing publish them. Facebook and Apple have no list of service areas, so for them only the hidden street applies.
namestringrequired
placeIdstringoptional
Google Place ID of the area. Google only accepts places that have one, so a place without it is saved but not sent to Google.
placeTypestring (country | administrativeArea | locality | postalCode)optional
bingobjectoptional
Service-area settings on Master, for a business that serves customers at their location. Set businessType to CUSTOMER_LOCATION_ONLY to hide the street address: no publisher is sent a street it would show, even if one is stored. Send null to clear it. To set it for some publishers only, use publisherServiceAreas or applyToPublishers.
businessTypestring (CUSTOMER_LOCATION_ONLY | CUSTOMER_AND_BUSINESS_LOCATION)required
CUSTOMER_LOCATION_ONLY hides the address (service area only). CUSTOMER_AND_BUSINESS_LOCATION shows the address and the areas served.
placesarray of objectoptional
Areas served, up to 20. Each is { name, placeId?, placeType? }. Google and Bing publish them. Facebook and Apple have no list of service areas, so for them only the hidden street applies.
namestringrequired
placeIdstringoptional
Google Place ID of the area. Google only accepts places that have one, so a place without it is saved but not sent to Google.
placeTypestring (country | administrativeArea | locality | postalCode)optional
socialLinksobjectoptional
Social profile URLs: facebook, instagram, twitter, linkedin, youtube, tiktok, pinterest. On update only the keys you send change; null clears one. Published to Google as its url_* attributes and to Bing and Apple.
facebookstringoptional
instagramstringoptional
twitterstringoptional
linkedinstringoptional
youtubestringoptional
tiktokstringoptional
pintereststringoptional
paymentMethodsarray of stringoptional
Payment methods accepted, e.g. "Visa", "American Express", "Cash only". Replaces the whole list; an empty list or null clears it. Published to Google as its pay_* attributes and to Apple and Bing.
Response
dataobjectoptional
locationIdstringoptional
ID of the newly created location.
Errors
400The request is missing a required parameter or is otherwise malformed.
401Missing, invalid, expired, or revoked API key.
403The key lacks the required scope, or isn't authorized for this client/location.
404The resource wasn't found, or doesn't belong to your agency.
422The request is missing a required parameter or is otherwise malformed.
429Too many requests. Retry after the number of seconds in the Retry-After header.
post/api/v1/locations
Your API key
Request body*
{
"data": {
"locationId": "loc_456"
}
}Guides that use this endpoint
- What Is a Business Listings API?A business listings API manages a business's name, address, hours and more across many publishers at once, with sync status and duplicate detection built in.
- Business Listings API: Complete Developer GuideHow a business listings API works and how to create, update, sync and monitor locations across Google, Apple, Bing and directories with the Synup API.
- Create a Location with the Synup APICreate a business location in one POST, with or without a client, get back a locationId, and know which fields matter and which can wait.
- How to Build a Reputation Management PlatformArchitecture and API calls for a multi-client reputation management platform on Synup: review ingestion, reply workflows, invites, widgets and reporting.
- How to Add Local Marketing Features to Your SaaSAdd listings management, reviews, Google posts, profile analytics, rank tracking and AI visibility to a SaaS product with the Synup API, tenant by tenant.
- How to Manage Thousands of Business Locations via APIDesign a sync job for thousands of locations on the Synup API with cursor pagination, tags, rate-limit handling, an id map and rollup health checks.
- How to Add Local Marketing Functionality to Vertical SaaSAdd local marketing to a vertical SaaS by mapping existing customers to clients and locations, and shipping only the features your niche needs.