Datasets API endpoint
Returns stored Starbucks stores within a radius of a point, nearest first, from dataset id `starbucks-stores`. lat, lon, and radius_m are required. Unlike the live /starbucks/stores endpoint (which caps at 50 near a point), this queries the full grid-tiled directory, so it can return every store in the radius. Billing: this endpoint costs 1 credit per record returned, with a minimum of 2 (an empty result costs 2, a full page of 100 costs 100).
/datasets/starbucks-stores/nearbyDataset id enum:
starbucks-storesQuery parameters:
lat: required center latitude, -90 through 90.lon: required center longitude, -180 through 180.radius_m: required search radius in meters, 1 through 50000.country: optional ISO-3166-1 alpha-2 country filter.amenity: optional amenity code filter, e.g. DT.page: 1-based page number, default 1.page_size: default 20, max 100.Notable response behavior:
distance_meters from the query point.schedule means "not published for this market", not "closed".1 credit per record returned, minimum 2. A call that returns 20 records costs 20 credits, a full page of 100 costs 100, and an empty or one-record result costs 2. You are charged for what comes back, not for the page_size you ask for, but your balance must cover the requested page_size for the call to be accepted. The response header x-credit-cost shows what a call was charged.
| Field | Filled in, of 20 checked | Values in the sample |
|---|---|---|
| id | 20 | |
| store_number | 20 | |
| store_id | 20 | |
| name | 20 | |
| phone | 19 | |
| address | 20 | |
| city | 20 | |
| state | 20 | |
| postal_code | 20 | |
| country | 20 | |
| location | 20 | |
| latitude | 20 | |
| longitude | 20 | |
| time_zone | 20 | |
| ownership_type_code | 20 | |
| mobile_ordering_availability | 20 | |
| amenities | 20 | median 7 entries |
| amenity_names | 20 | median 7 entries |
| pick_up_options | 19 | median 1 entry |
| first_seen_at | 20 | 2026-09-25 |
| last_seen_at | 20 | 2026-09-25 |
| crawled_at | 20 | 2026-09-25 |
| schema_version | 20 | |
| distance_meters | 20 | 241.39 to 2,813.03, median 1,102.16 |
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| lat | number | Yes | Center latitude, from -90 through 90 | 40.7484257 | |
| lon | number | Yes | Center longitude, from -180 through 180 | -73.98567 | |
| radius_m | integer | Yes | Search radius in meters, 1 through 50000 | 5000 | |
| country | string | No | ISO-3166-1 alpha-2 country filter | ||
| amenity | string | No | Amenity code filter, e.g. DT | ||
| page | integer | No | 1 | Page number, defaults to 1 | |
| page_size | integer | No | 20 and maxes at 100 | Page size, defaults to 20 and maxes at 100 | |
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/datasets/starbucks-stores/nearby?lat=40.7484257&lon=-73.98567&radius_m=5000&country=us&page=1" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"msg": "OK",
"data": {
"dataset": "starbucks-stores",
"items": [
{
"store_number": "101-54",
"name": "Columbia Center - 4th & Cherry",
"country": "US",
"latitude": 47.60422,
"longitude": -122.33078,
"distance_meters": 220.5
}
],
"page": 1,
"page_size": 20,
"total": 1,
"sort": "distance_asc"
}
}Request schema
No body schema
Response schema
#/definitions/datasets.starbucksStoresSearchResponseDoc
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| code | integer | No | 200 | |||
| data | datasets.StarbucksStoreSearchResponse | No | ||||
| data.dataset | string | No | ||||
| data.items | array | No | ||||
| data.items[].address | string | No | ||||
| data.items[].amenities | array | No | ||||
| data.items[].amenity_names | array | No | ||||
| data.items[].city | string | No | ||||
| data.items[].country | string | No | ||||
| data.items[].crawled_at | string | No | ||||
| data.items[].distance_meters | number | No | ||||
| data.items[].first_seen_at | string | No | ||||
| data.items[].id | string | No | ||||
| data.items[].last_seen_at | string | No | ||||
| data.items[].latitude | number | No | ||||
| data.items[].location | object | No | Location is a geo_point ([lon, lat] order in the GeoPoint helper). | |||
| data.items[].location.lat | number | No | Latitude in decimal degrees. | |||
| data.items[].location.lon | number | No | Longitude in decimal degrees. | |||
| data.items[].longitude | number | No | ||||
| data.items[].market | string | No | Market is crawl provenance (us/ca), not geography -- see the type doc. | |||
| data.items[].mobile_ordering_availability | string | No | ||||
| data.items[].name | string | No | ||||
| data.items[].ownership_type_code | string | No | ||||
| data.items[].phone | string | No | ||||
| data.items[].pick_up_options | array | No | ||||
| data.items[].postal_code | string | No | ||||
| data.items[].run_id | string | No | ||||
| data.items[].schema_version | integer | No | ||||
| data.items[].state | string | No | ||||
| data.items[].store_id | string | No | ||||
| data.items[].store_number | string | No | ||||
| data.items[].time_zone | string | No | ||||
| data.page | integer | No | ||||
| data.page_size | integer | No | ||||
| data.sort | string | No | ||||
| data.total | integer | No | ||||
| msg | string | No | OK |
| Status | Description | Schema |
|---|---|---|
| 400 | Bad Request | #/definitions/app.Response |
| 429 | Too Many Requests | #/definitions/app.Response |
| 500 | Internal Server Error | #/definitions/app.Response |
Use environment variables for secrets and keep Crawlora API keys server-side.
curl -X GET "https://api.crawlora.net/api/v1/datasets/starbucks-stores/nearby?lat=40.7484257&lon=-73.98567&radius_m=5000&country=us&page=1" \
-H "x-api-key: $CRAWLORA_API_KEY"