JSON Response
When format: "json" (the default), the response body is a JSON object with the brand name, region filter, total count, and an array of location objects.
Response body
{
"brand": "Starbucks",
"region": "US, CA",
"count": 3182,
"locations": [
{
"brand": "Starbucks",
"name": "Starbucks",
"address": "1912 Pike Pl, Seattle, WA 98101, US",
"lat": 47.6097,
"lng": -122.3425,
"city": "Seattle",
"state": "WA",
"country": "US",
"postcode": "98101",
"phone": "+1-206-624-0173",
"last_updated": "2026-04-03T17:23:28.022+00:00"
}
]
}Location fields
| Field | Type | Description |
|---|---|---|
brand | string | Canonical brand name as stored in our index |
name | string | Display name of the specific location (often same as brand) |
address | string | Full street address |
lat | number | Latitude |
lng | number | Longitude |
city | string | City name |
state | string | State or province code (ISO 3166-2 short form where applicable) |
country | string | ISO 3166-1 alpha-2 country code |
postcode | string | Zip/postal code (when available) |
phone | string | Contact phone (often blank — best-effort for store-locator use) |
last_updated | string | ISO 8601 timestamp of when this row was last refreshed from source |
Source provenance lives in the X-Attribution and X-Data-Sources response headers, not on each row.
Response headers
All responses
| Header | Type | Description |
|---|---|---|
X-Location-Count | number | Total locations returned |
X-Brand | string | Brand name queried |
X-Region | string | Region filter applied (e.g. "CA, US") or "global" |
X-Credits-Charged | number | Credits deducted for this request |
X-Credits-Remaining | number | Credits remaining on your key |
X-Credits-Low | boolean | Present and true when balance drops below 50 |
Trial keys only
When the requesting key is a trial and the underlying query would exceed the trial's per-request location cap (default 50), the response is truncated and these headers are added:
| Header | Type | Description |
|---|---|---|
X-Trial-Cap-Applied | boolean | Present and true when the response was truncated by the trial cap |
X-Total-Available | number | Total locations the unfiltered query would have returned |
Rate limit headers
| Header | Type | Description |
|---|---|---|
X-RateLimit-Limit | number | Maximum requests per minute for your tier |
X-RateLimit-Remaining | number | Requests remaining in the current window |
X-RateLimit-Reset | number | Unix timestamp when the window resets |
CSV and GeoJSON responses
When format is "csv", the response is a text/csv file with a Content-Disposition header for auto-download. Fields match the JSON location fields.
When format is "geojson", the response is an RFC 7946 GeoJSON FeatureCollection with each location as a Point feature. Properties include all location fields except lat and lng (which are in the geometry).