DoorDash API endpoint
Returns pickup restaurant matches from the Android mobile guest search experience near a location. No DoorDash account or caller-supplied token is required.
/doordash/search/autocompleteQuery parameters:
query (required): partial restaurant, cuisine, or dish text, up to 200 characters.latitude and longitude (required): consumer location.This endpoint returns nearby restaurant matches from DoorDash's own anonymous mobile autocomplete experience, ranked by proximity to the supplied coordinate and capped by the upstream at roughly five stores per query. As with /doordash/search, the request is made in a pickup context but the response can include stores whose pickupAvailable is false. An empty results array is a valid no-match response.
| Field | Filled in, of 5 checked | Values in the sample |
|---|---|---|
| storeId | 5 | 62,099 to 29,492,187, median 233,565 |
| name | 5 | “North Beach Pizza” and 3 other values |
| type | 5 | store in all 5 |
| url | 5 | doordash.com |
| coverImageUrl | 5 | img.cdn4dd.com |
| squareImageUrl | 5 | img.cdn4dd.com |
| tags | 5 | median 6 entries |
| asapAvailable | 5 | true in 5 of 5 |
| pickupAvailable | 5 | true in 5 of 5 |
| dashPassEligible | 5 | true in 5 of 5 |
| distance | 5 | “1.1 mi” and 4 other values |
| address | 5 |
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| query | string | Yes | Partial restaurant, cuisine, or dish query | piz | |
| latitude | number | Yes | Consumer latitude | 37.7825 | |
| longitude | number | Yes | Consumer longitude | -122.461 | |
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/doordash/search/autocomplete?query=piz&latitude=37.7825&longitude=-122.461" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"msg": "OK",
"data": {
"query": "piz",
"results": [
{
"storeId": "123",
"name": "Pizza Place",
"type": "store",
"pickupAvailable": true,
"dashPassEligible": true,
"address": {
"city": "San Francisco",
"region": "CA"
}
}
]
}
}Request schema
No body schema
Response schema
#/definitions/doordash.searchResponseDoc
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| code | integer | No | 200 | |||
| data | doordash.SearchResponse | No | ||||
| data.query | string | No | ||||
| data.results | array | No | SearchResult record, 18 fields: address, asapAvailable, coverImageUrl, dashPassEligible, distance, name, pickupAvailable, squareImageUrl, storeId, tags, type, url. Described under DoorDash pickup restaurant search API. | |||
| msg | string | No | OK |
| Status | Description | Schema |
|---|---|---|
| 400 | Bad Request | #/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/search/autocomplete?query=piz&latitude=37.7825&longitude=-122.461" \
-H "x-api-key: $CRAWLORA_API_KEY"