GETapi.synup.com/api/v4/location-connections
List location connections
This API returns a paginated list of your locations paired with each publisher (source), along with whether that location is connected, not connected, or has a connection issue for that publisher. It is the direct API equivalent of the Location Connections page.
Features:
- Pagination support – retrieve results in batches for efficient processing.
- Filtering options – filter location connections by:
- Source / publisher (
source) - Location id (
locationId) - Location name / address / phone (
locationName) - Connection status (
status) - Sorting – order by location info, publisher account email, or publisher type.
Requires an API key. Send it as
Authorization: API <your-key> — see Getting started.Parameters
Query
| Name | Type | Required | Description |
|---|---|---|---|
source | string | optional | Publisher (source) to filter by. Accepted values
|
locationId | string | optional | Filter by one or more location ids. Accepts a raw numeric location id (e.g. 279169) or a comma-separated list (e.g. 279169,279170). Base64-encoded ids (Location:<id>) are also accepted. |
locationName | string | optional | Free-text search across the location name, address, and phone number. |
status | string | optional | Connection status to filter by.
|
sortField | string | optional | Field to sort the results by.
|
sortOrder | string | optional | Sort order. Only applied when
|
page | integer | optional | Page number for pagination |
perPage | integer | optional | Number of records per page |
Request
Request
curl -X GET 'https://api.synup.com/api/v4/location-connections?source=&locationId=&locationName=&status=&sortField=&sortOrder=&page=&perPage=' \
-H 'Authorization: API YOUR_API_KEY' \
-H 'Content-Type: application/json'const res = await fetch('https://api.synup.com/api/v4/location-connections?source=&locationId=&locationName=&status=&sortField=&sortOrder=&page=&perPage=', {
method: 'GET',
headers: {
Authorization: 'API YOUR_API_KEY',
'Content-Type': 'application/json',
},
});
const data = await res.json();import requests
res = requests.get(
"https://api.synup.com/api/v4/location-connections?source=&locationId=&locationName=&status=&sortField=&sortOrder=&page=&perPage=",
headers={
"Authorization": "API YOUR_API_KEY",
"Content-Type": "application/json",
},
)
data = res.json()req, _ := http.NewRequest("GET", "https://api.synup.com/api/v4/location-connections?source=&locationId=&locationName=&status=&sortField=&sortOrder=&page=&perPage=", nil)
req.Header.Set("Authorization", "API YOUR_API_KEY")
req.Header.Set("Content-Type", "application/json")
res, err := http.DefaultClient.Do(req)Responses
| Status | Description |
|---|---|
200 | Successfully retrieved location connections |
401 | Unauthorized - Invalid or missing API key |
403 | Forbidden - Insufficient permissions |
Example response (generated from the schema)
{
"data": {
"locationsConnectInfo": {
"pageInfo": {
"hasNextPage": true,
"hasPreviousPage": true,
"totalPages": 0,
"totalRecords": 0
},
"records": [
{
"locationId": "string",
"accountId": "string",
"clientName": "string",
"accountType": "GoogleAccount",
"status": "string",
"connectedAccountId": "string",
"providerId": "string",
"accountMail": "string",
"publisherAccountName": "string",
"publisherAccountId": "string",
"listingSiteId": 0,
"locationInfo": {
"approved": true,
"name": "string",
"street": "string",
"street1": "string",
"city": "string",
"postalCode": "string",
"countryIso": "string",
"storeCode": "string",
"liveLink": "string"
},
"connectedListingInfo": {
"name": "string",
"addressLines": [
null
],
"administrativeArea": "string",
"locality": "string",
"regionCode": "string",
"postalCode": "string",
"phone": "string",
"storeCode": "string",
"gmbAccountNumber": "string",
"gmbGroup": "string",
"suspended": true,
"liveLink": "string"
}
}
]
}
}
}Response body
| Name | Type | Required | Description |
|---|---|---|---|
data | object | optional | |
data.locationsConnectInfo | object | optional | |
data.locationsConnectInfo.pageInfo | object | optional | |
data.locationsConnectInfo.pageInfo.hasNextPage | boolean | optional | Indicates if there are more pages available |
data.locationsConnectInfo.pageInfo.hasPreviousPage | boolean | optional | Indicates if there are previous pages available |
data.locationsConnectInfo.pageInfo.totalPages | integer | optional | Total number of pages available |
data.locationsConnectInfo.pageInfo.totalRecords | integer | optional | Total number of records across all pages |
data.locationsConnectInfo.records | array of object | optional | |
data.locationsConnectInfo.records[].locationId | string | optional | Base64-encoded location id (Location:<id>) |
data.locationsConnectInfo.records[].accountId | string | optional | Account id the location belongs to |
data.locationsConnectInfo.records[].clientName | string | optional | Client / sub-account name |
data.locationsConnectInfo.records[].accountType | string | optional | Source / publisher this record representsGoogleAccountFacebookAccountAppleAccountYelpAccountTripadvisorAccount |
data.locationsConnectInfo.records[].status | string | optional | Raw connection status of the location for this source. Values include CONNECTED, NOT_CONNECTED, CONNECTION_ISSUE, EXPIRED, RENEW, MISSING, SUSPENDED, etc. |
data.locationsConnectInfo.records[].connectedAccountId | string | optional | Id of the connected account, when connected |
data.locationsConnectInfo.records[].providerId | string | optional | Provider-side id of the connected listing, when connected |
data.locationsConnectInfo.records[].accountMail | string | optional | Email of the connected (publisher) account, when connected |
data.locationsConnectInfo.records[].publisherAccountName | string | optional | Display name of the connected publisher account |
data.locationsConnectInfo.records[].publisherAccountId | string | optional | Id of the connected publisher account |
data.locationsConnectInfo.records[].listingSiteId | integer | optional | Site id of the connected listing |
data.locationsConnectInfo.records[].locationInfo | object | optional | |
data.locationsConnectInfo.records[].locationInfo.approved | boolean | optional | Whether the location is approved |
data.locationsConnectInfo.records[].locationInfo.name | string | optional | Location name |
data.locationsConnectInfo.records[].locationInfo.street | string | optional | Street address line 1 |
data.locationsConnectInfo.records[].locationInfo.street1 | string | optional | Street address line 2 |
data.locationsConnectInfo.records[].locationInfo.city | string | optional | City |
data.locationsConnectInfo.records[].locationInfo.postalCode | string | optional | Postal / ZIP code |
data.locationsConnectInfo.records[].locationInfo.countryIso | string | optional | ISO country code (e.g. IN, US) |
data.locationsConnectInfo.records[].locationInfo.storeCode | string | optional | Store code of the location, if set |
data.locationsConnectInfo.records[].locationInfo.liveLink | string | optional | Public live link of the location's listing on the source |
data.locationsConnectInfo.records[].connectedListingInfo | one of | optional | Details of the connected listing on the source. null when the location is not connected. When present, its shape depends on the source. |
data.locationsConnectInfo.records[].connectedListingInfo.name | string | optional | |
data.locationsConnectInfo.records[].connectedListingInfo.addressLines | array of string | optional | |
data.locationsConnectInfo.records[].connectedListingInfo.administrativeArea | string | optional | |
data.locationsConnectInfo.records[].connectedListingInfo.locality | string | optional | |
data.locationsConnectInfo.records[].connectedListingInfo.regionCode | string | optional | |
data.locationsConnectInfo.records[].connectedListingInfo.postalCode | string | optional | |
data.locationsConnectInfo.records[].connectedListingInfo.phone | string | optional | |
data.locationsConnectInfo.records[].connectedListingInfo.storeCode | string | optional | |
data.locationsConnectInfo.records[].connectedListingInfo.gmbAccountNumber | string | optional | |
data.locationsConnectInfo.records[].connectedListingInfo.gmbGroup | string | optional | |
data.locationsConnectInfo.records[].connectedListingInfo.suspended | boolean | optional | |
data.locationsConnectInfo.records[].connectedListingInfo.liveLink | string | optional | |
data.locationsConnectInfo.records[].connectedListingInfo.street | string | optional | |
data.locationsConnectInfo.records[].connectedListingInfo.city | string | optional | |
data.locationsConnectInfo.records[].connectedListingInfo.state | string | optional | |
data.locationsConnectInfo.records[].connectedListingInfo.zip | string | optional | |
data.locationsConnectInfo.records[].connectedListingInfo.country | string | optional | |
data.locationsConnectInfo.records[].connectedListingInfo.parentPageName | string | optional |