/api/v4/locations-by-store-codesGet locations by store codes
Returns full location details for one or more locations identified by their store codes.
Parameters
Query
| Name | Type | Required | Description | Default |
|---|---|---|---|---|
| storeCodes | string | required | JSON-encoded array of store code strings, e.g. `["ACME01","jio678"]`. URL-encode the value. | — |
Responses
200Array of full location objects matching the provided store codes. Returns `null` when no store codes match.
{
"data": {
"getLocationsByStoreCodes": [
{
"id": "TG9jYXRpb246MTgwMDI4OQ==",
"databaseId": 1800289,
"accountId": 62670,
"storeId": "ACME01",
"name": "Jenny Home",
"archived": false,
"street": "600 Congress Ave, Suite 200",
"city": "Austin",
"stateIso": "TX",
"postalCode": "78701",
"countryIso": "US",
"phone": "5125550142",
"categoryId": 15,
"subCategoryId": 1432,
"subCategoryName": "Restaurants",
"package": "PREMIUM",
"planId": 3797,
"planName": "Launch",
"folderId": "d90630a7-7af0-450f-bdfe-6457eb438b1f",
"folderName": "root",
"tags": ["all"],
"placeActionLinks": [
{
"placeActionType": "FOOD_ORDERING",
"uri": "https://order.example.com",
"isPreferred": true,
"name": "locations/1944.../placeActionLinks/54ada85bc246058a",
"submissionStatus": "success"
}
],
"discoveredPlaceActionLinks": []
}
]
}
}401Unauthenticated, missing or invalid API key.
429Rate limit exceeded. Retry after the `Retry-After` header value.
Resolves store codes to full location records: the inverse of tracking locations by Listings API's internal ID. Use it when your own systems (POS, franchise roster, PIM) key locations by store code and you need to fetch or reconcile the matching Listings API location. Pass the codes as a JSON-encoded array in the storeCodes query parameter and URL-encode it.
Use case: reconcile a franchise roster. Given the store codes from your master list, call ?storeCodes=["ACME01","ACME02","ACME03"] and match each returned object's storeId back to your record to confirm which stores are already onboarded in Listings API. Codes with no match are simply not present in the returned array.
Gotcha: empty vs. missing. When none of the supplied codes match a location in the account, getLocationsByStoreCodes is null (not an empty array), so guard for null before iterating. A location only has a store code if storeId was set at create time or via update; locations without a store code can only be fetched by ID. Batch codes into one call to stay under the rate limit, and honor the Retry-After header on a 429.
Each location returns placeActionLinks (the Google action links Listings API manages) and discoveredPlaceActionLinks (links found directly on the business's Google profile that aren't managed yet). See the Place Action Links guide.
curl -X GET 'https://listingsapi.com/api/v4/locations-by-store-codes?storeCodes=<storeCodes>' \
-H "Authorization: API $LISTINGSAPI_KEY"