Endpoint Playground
Returns the bookable order-ahead windows for one Sonic Drive-In restaurant, grouped by service channel and local date. Each window has a UTC start_time and end_time. Also returns the store's timezone, how long each window lasts (slot_duration_minutes), the prep/handoff buffer before the first bookable window (lead_time_minutes), and service_types -- every channel the store supports, which is a superset of the channels that currently have windows. fulfillment selects the request method and accepts exactly `PICKUP` or `DELIVERY`; note the per-window service_type is a separate, finer vocabulary and can be `ORDER_AHEAD`, `CURBSIDE_PICKUP`, `DRIVE_THROUGH`, `STORE`, `PICKUP` or `DELIVERY`. A closed or fully-booked restaurant returns an empty channels array with total_slots 0, not an error. An unknown store_id returns 404.
14 Oct 2026: Single record response; 8 fields had a value in every checked item.
Sample value profiles: slot_duration_minutes: 5; fulfillment: “PICKUP”; service_types: 4 entries.
curl 'https://api.crawlora.net/api/v1/sonic/availability?store_id=4521&fulfillment=PICKUP' \
-H "x-api-key: $CRAWLORA_API_KEY"| Parameter | Type | Required | Prefilled value | Description |
|---|---|---|---|---|
| store_id | string | Yes | 4521 | Sonic store number, e.g. from /sonic/nearby |
| fulfillment | string | No | PICKUP | Fulfillment method: PICKUP or DELIVERY. Defaults to PICKUP. |
{
"code": 200,
"msg": "OK",
"data": {
"store_id": "4521",
"fulfillment": "PICKUP",
"timezone": "America/Denver",
"slot_duration_minutes": 5,
"lead_time_minutes": 5,
"service_types": [
"ORDER_AHEAD",
"CURBSIDE_PICKUP",
"DELIVERY",
"DRIVE_THROUGH"
],
"channels": [
{
"service_type": "CURBSIDE_PICKUP",
"days": [
{
"date": "2026-09-05",
"count": 2,
"slots": [
{
"start_time": "2026-09-05T16:45:00Z",
"end_time": "2026-09-05T16:50:00Z"
},
{
"start_time": "2026-09-05T16:50:00Z",
"end_time": "2026-09-05T16:55:00Z"
}
]
}
]
}
],
"total_slots": 2,
"source_url": "https://api-idp.sonicdrivein.com/snc/digital-exp-api/v2/locations/4521/fulfillment/PICKUP/slots",
"fetched_at": "2026-09-05T12:00:00Z"
}
}The sample response, schema and code snippets below work without an account. Sending a live request needs an API key.