Kroger API endpoint
Returns one Kroger store's public detail: postal address, geographic coordinates, phone number, displayed opening hours (including any daily break hours), and whether it has a drive-thru. store_id is the same store/location id kroger-products and kroger-suggest accept.
/kroger/storeQuery parameters:
store_id (required) — the Kroger store/location id. This is the same id
accepted as location_id by /kroger/products,
/kroger/suggest and
/kroger/coupons.Notable response behavior:
hours rows use Kroger's own day groupings (e.g. Mon - Fri), not
one row per weekday. break_hours carries any daily closure window
(Kroger publishes these for pharmacy counters).is_today marks the row covering the current day in the store's own
timezone, as Kroger computes it.store_id returns 404.| Field | Filled in, of 3 checked | Values in the sample |
|---|---|---|
| days | 3 | “Sun” and 2 other values |
| hours | 3 | “10:00 AM - 5:00 PM” and 2 other values |
| is_today | 3 | true in 1 of 3 |
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| store_id | string | Yes | Kroger store/location id | 01600531 | |
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/kroger/store?store_id=01600531" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"msg": "OK",
"data": {
"store_id": "01600531",
"name": "Waterville",
"brand": "KROGER",
"phone": "(419) 878-1040",
"open_text": "Open Until 8 PM",
"address": {
"address_lines": [
"8730 Waterville Swanton Rd"
],
"city": "Waterville",
"state": "OH",
"postal_code": "43566",
"country": "US"
},
"location": {
"latitude": 41.509023,
"longitude": -83.75036
},
"hours": [
{
"days": "Sun",
"hours": "10:00 AM - 5:00 PM",
"is_today": false
},
{
"days": "Mon - Fri",
"hours": "8:00 AM - 8:00 PM",
"is_today": true
}
],
"break_hours": [
{
"days": "Sun - Sat",
"hours": "1:00 PM - 1:30 PM",
"is_today": true
}
],
"has_drive_thru": true
}
}Request schema
No body schema
Response schema
#/definitions/kroger.storeResponseDoc
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| code | integer | No | 200 | |||
| data | kroger.StoreResponse | No | ||||
| data.address | kroger.StoreAddress | No | ||||
| data.address.address_lines | array | No | ||||
| data.address.city | string | No | ||||
| data.address.country | string | No | ||||
| data.address.postal_code | string | No | ||||
| data.address.state | string | No | ||||
| data.brand | string | No | ||||
| data.break_hours | array | No | ||||
| data.break_hours[].days | string | No | ||||
| data.break_hours[].hours | string | No | ||||
| data.break_hours[].is_today | boolean | No | ||||
| data.has_drive_thru | boolean | No | ||||
| data.hours | array | No | ||||
| data.hours[].days | string | No | ||||
| data.hours[].hours | string | No | ||||
| data.hours[].is_today | boolean | No | ||||
| data.location | kroger.StoreLocation | No | ||||
| data.location.latitude | number | No | ||||
| data.location.longitude | number | No | ||||
| data.name | string | No | ||||
| data.open_text | string | No | ||||
| data.phone | string | No | ||||
| data.store_id | string | No | ||||
| msg | string | No | OK |
| Status | Description | Schema |
|---|---|---|
| 400 | Bad Request | #/definitions/app.Response |
| 404 | Not Found | #/definitions/app.Response |
| 429 | Too Many Requests | #/definitions/app.Response |
| 503 | Service Unavailable | #/definitions/app.Response |
Use environment variables for secrets and keep Crawlora API keys server-side.
curl -X GET "https://api.crawlora.net/api/v1/kroger/store?store_id=01600531" \
-H "x-api-key: $CRAWLORA_API_KEY"