DoorDash API endpoint
Returns the location-aware DoorDash mobile menu, grouped into sections with item names, descriptions, and displayed prices. No DoorDash account or caller-supplied token is required.
/doordash/store/{store_id}/menuReturns the public menu for a DoorDash store using the Android mobile store flow. store_id is the numeric ID from a DoorDash store URL. No DoorDash account, cookie, or caller-supplied DoorDash token is required; the service creates a short-lived guest session for the request.
store_id (required): numeric DoorDash store ID, for example 26282644.latitude (required): delivery latitude, for example 37.7825.longitude (required): delivery longitude, for example -122.461.The location selects the availability and menu that the DoorDash mobile app would show there. Menu items are grouped into the sections DoorDash displays. Prices are returned as displayed strings so the currency symbol and formatting are preserved. Missing or out-of-range coordinates return 400; missing or malformed menu data returns 503 rather than an empty successful response.
| Field | Filled in, of 2 checked | Values in the sample |
|---|---|---|
| name | 2 | “Picked for you” and 1 other value |
| items | 2 | median 10 entries |
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| store_id (path) | string | Yes | Numeric DoorDash store ID | 26282644 | |
| latitude | number | Yes | Delivery latitude | 37.7825 | |
| longitude | number | Yes | Delivery longitude | -122.461 | |
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/doordash/store/26282644/menu?latitude=37.7825&longitude=-122.461" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"msg": "OK",
"data": {
"storeId": "26282644",
"storeName": "Eats",
"url": "https://www.doordash.com/store/x-26282644/",
"sections": [
{
"name": "Picked for you",
"items": [
{
"name": "Two Egg Breakfast (gf)",
"description": "Two eggs and buttered toast with fried potatoes or salad.",
"price": "$18.40"
}
]
}
]
}
}Request schema
No body schema
Response schema
#/definitions/doordash.menuResponseDoc
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| code | integer | No | 200 | |||
| data | doordash.MenuResponse | No | ||||
| data.sections | array | No | ||||
| data.sections[].items | array | No | ||||
| data.sections[].items[].description | string | No | ||||
| data.sections[].items[].name | string | No | ||||
| data.sections[].items[].price | string | No | ||||
| data.sections[].name | string | No | ||||
| data.storeId | string | No | ||||
| data.storeName | string | No | ||||
| data.url | string | No | ||||
| msg | string | No | OK |
| Status | Description | Schema |
|---|---|---|
| 400 | Bad Request | #/definitions/app.Response |
| 404 | Not Found | #/definitions/app.Response |
| 500 | Internal Server Error | #/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/doordash/store/26282644/menu?latitude=37.7825&longitude=-122.461" \
-H "x-api-key: $CRAWLORA_API_KEY"