Burger King API endpoint
Returns one restaurant's live open/closed status per order channel (curbside, delivery, drive-thru, eat-in, mobile-order drive-thru, takeout), distinct from /burgerking/locations' published weekly schedule. Each channel carries whether it is taking orders right now, its current open window when open, and the following window's start/end -- a channel with no current or next window at all means this restaurant does not offer it, not merely that it is closed. Also returns the restaurant's own local time, timezone and an overall available flag. Setting forecast=true additionally returns a multi-day forward schedule per channel, including two catering-only channels not present in the current-status list.
/burgerking/availabilityReturns one restaurant's real-time fulfillment status per order channel, distinct from /burgerking/locations' published weekly schedule -- a store can be temporarily closed for a channel outside its published hours, or simply not offer a channel at all.
Query parameters:
store_id (required) — Burger King's numeric store id, from /burgerking/locations, e.g. 17871.market (optional, default US) — RBI market the store belongs to, one of US, CA.forecast (optional, default false) — also return a multi-day forward schedule per channel in forecast[].Response includes store_id, market, available (the upstream's own overall open/closed flag), local_time (the restaurant's current local time), timezone, service_modes[], forecast[] (present only when forecast=true was requested), source_url, and fetched_at.
Each entry in service_modes[] has mode (one of curbside, delivery, drive_thru, eat_in, mobile_order_drive_thru, takeout), is_open_now, opens_at/closes_at (this channel's current open window, present only when is_open_now is true), next_opens_at/next_closes_at (the following window's start/end), and is_open_24_hours. A channel with no current window and no next window at all (opens_at, closes_at, next_opens_at, and next_closes_at all absent) means this restaurant does not offer that channel, not merely that it is closed right now.
Each entry in forecast[] has mode (one of catering_delivery, catering_pickup, curbside, delivery, drive_thru, eat_in, mobile_order_drive_thru, takeout — two more values than service_modes[] ever carries, since the catering channels only appear in the forecast) and slots[], a several-day-ahead list of date, opens_at/closes_at, and is_closed (present only when the upstream flags that specific day as a closure exception). Unlike service_modes[]'s RFC3339 timestamps, forecast[]'s opens_at/closes_at are the upstream's own naive local date-time strings with no UTC offset — combine with the response's own timezone if an absolute instant is needed.
| Field | Filled in, of 6 checked | Values in the sample |
|---|---|---|
| mode | 6 | “curbside” and 5 other values |
| is_open_now | 6 | true in 3 of 6 |
| next_opens_at | 4 | 2026-10-14 to 2026-10-15 |
| next_closes_at | 4 | 2026-10-14 to 2026-10-15 |
| is_open_24_hours | 6 | true in 0 of 6 |
| opens_at | 3 | 2026-10-13 |
| closes_at | 3 | 2026-10-13 |
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| store_id | string | Yes | Burger King's numeric store id, from /burgerking/locations | 17871 | |
| market | string | No | RBI market the store belongs to, one of `US`, `CA` (default `US`) | US | |
| forecast | boolean | No | Include a multi-day forward schedule per channel (default false) | false | |
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/burgerking/availability?store_id=17871&forecast=true" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"msg": "OK",
"data": {
"store_id": "17871",
"market": "US",
"available": true,
"local_time": "2026-09-02T11:55:19.322-04:00",
"timezone": "America/New_York",
"service_modes": [
{
"mode": "curbside",
"is_open_now": false,
"next_opens_at": "2026-09-03T08:30:00.000-04:00",
"next_closes_at": "2026-09-03T17:30:00.000-04:00",
"is_open_24_hours": false
},
{
"mode": "delivery",
"is_open_now": true,
"opens_at": "2026-09-02T07:30:00.000-04:00",
"closes_at": "2026-09-02T19:30:00.000-04:00",
"next_opens_at": "2026-09-03T07:30:00.000-04:00",
"next_closes_at": "2026-09-03T19:30:00.000-04:00",
"is_open_24_hours": false
},
{
"mode": "drive_thru",
"is_open_now": false,
"is_open_24_hours": false
},
{
"mode": "eat_in",
"is_open_now": true,
"opens_at": "2026-09-02T07:00:00.000-04:00",
"closes_at": "2026-09-02T20:00:00.000-04:00",
"next_opens_at": "2026-09-03T07:00:00.000-04:00",
"next_closes_at": "2026-09-03T20:00:00.000-04:00",
"is_open_24_hours": false
}
],
"forecast": [
{
"mode": "eat_in",
"slots": [
{
"date": "2026-09-02",
"opens_at": "2026-09-02 07:00:00",
"closes_at": "2026-09-02 20:00:00"
},
{
"date": "2026-12-25",
"is_closed": true
}
]
}
],
"source_url": "https://use1-prod-bk-gateway.rbictg.com/graphql",
"fetched_at": "2026-09-02T00:00:00Z"
}
}Request schema
No body schema
Response schema
#/definitions/burgerking.availabilityResponseDoc
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| code | integer | No | Code is the HTTP status code or a custom code used to indicate the result of the request @example 200 | |||
| data | burgerking.AvailabilityResponse | No | ||||
| data.available | boolean | No | true | Available is the upstream's own overall open/closed flag for the store, independent of any single channel. | ||
| data.fetched_at | string | No | ||||
| data.forecast | array | No | Forecast is a multi-day forward schedule per channel, present only when the request set forecast=true. | |||
| data.forecast[].mode | string | No | eat_in | Mode is one of `catering_delivery`, `catering_pickup`, `curbside`, `delivery`, `drive_thru`, `eat_in`, `mobile_order_drive_thru`, `takeout` -- two more values than ServiceModeAvailability.Mode ever carries (the catering channels only appear in the forecast). | ||
| data.forecast[].slots | array | No | ||||
| data.forecast[].slots[].closes_at | string | No | 2026-09-02 20:00:00 | |||
| data.forecast[].slots[].date | string | No | 2026-09-02 | |||
| data.forecast[].slots[].is_closed | boolean | No | IsClosed is nil in the common case (a normal open day); the upstream only appears to set it for a day it flags as a specific exception. | |||
| data.forecast[].slots[].opens_at | string | No | 2026-09-02 07:00:00 | |||
| data.local_time | string | No | 2026-09-02T11:55:00.000-04:00 | LocalTime is the restaurant's own current local time, per Timezone. | ||
| data.market | string | No | US | Market is the RBI region this store belongs to. | ||
| data.service_modes | array | No | ||||
| data.service_modes[].closes_at | string | No | 2026-09-02T20:00:00.000-04:00 | |||
| data.service_modes[].is_open_24_hours | boolean | No | false | |||
| data.service_modes[].is_open_now | boolean | No | true | IsOpenNow is true when the upstream reports this channel as currently taking orders. | ||
| data.service_modes[].mode | string | No | eat_in | Mode is one of `curbside`, `delivery`, `drive_thru`, `eat_in`, `mobile_order_drive_thru`, `takeout`. | ||
| data.service_modes[].next_closes_at | string | No | ||||
| data.service_modes[].next_opens_at | string | No | ||||
| data.service_modes[].opens_at | string | No | 2026-09-02T07:00:00.000-04:00 | OpensAt/ClosesAt are this channel's current open window, when IsOpenNow is true. NextOpensAt/NextClosesAt are the following window's start/end. All four are RFC3339 timestamps in the restaurant's own local timezone; a nil OpensAt/ClosesAt with a nil NextOpensAt/NextClosesAt too means this restaurant does not offer the channel at all, not merely that it is closed right now. | ||
| data.source_url | string | No | ||||
| data.store_id | string | No | 17871 | |||
| data.timezone | string | No | America/New_York | |||
| msg | unknown | No | Msg is the message that describes the result of the request @example "Request successful" |
| 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/burgerking/availability?store_id=17871&forecast=true" \
-H "x-api-key: $CRAWLORA_API_KEY"