JSON Response

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

FieldTypeDescription
brandstringCanonical brand name as stored in our index
namestringDisplay name of the specific location (often same as brand)
addressstringFull street address
latnumberLatitude
lngnumberLongitude
citystringCity name
statestringState or province code (ISO 3166-2 short form where applicable)
countrystringISO 3166-1 alpha-2 country code
postcodestringZip/postal code (when available)
phonestringContact phone (often blank — best-effort for store-locator use)
last_updatedstringISO 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

HeaderTypeDescription
X-Location-CountnumberTotal locations returned
X-BrandstringBrand name queried
X-RegionstringRegion filter applied (e.g. "CA, US") or "global"
X-Credits-ChargednumberCredits deducted for this request
X-Credits-RemainingnumberCredits remaining on your key
X-Credits-LowbooleanPresent 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:

HeaderTypeDescription
X-Trial-Cap-AppliedbooleanPresent and true when the response was truncated by the trial cap
X-Total-AvailablenumberTotal locations the unfiltered query would have returned

Rate limit headers

HeaderTypeDescription
X-RateLimit-LimitnumberMaximum requests per minute for your tier
X-RateLimit-RemainingnumberRequests remaining in the current window
X-RateLimit-ResetnumberUnix 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).