/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": "19 east, 5th B cross road, Trinity Enclave Main Rd, Banjara Layout",
"city": "Bengaluru",
"stateIso": "KA",
"postalCode": "560043",
"countryIso": "IN",
"phone": "8073326913",
"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 listingsAPI'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 listingsAPI 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 listingsAPI. 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 listingsAPI 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"