DoorDash API endpoint
Returns nearby stores for a location from the Android mobile guest experience: store ID, name, cover image and tags, plus rating, price range, delivery fee and ETA when the upstream feed surface reports them. Those metric fields are omitted rather than estimated when it does not, so treat their absence as "not reported". No DoorDash account or caller-supplied token is required.
/doordash/feedReturns nearby stores for a location using the Android mobile guest feed flow. No DoorDash account, cookie, or caller-supplied DoorDash token is required; the service creates a short-lived guest session for the request.
latitude (required): consumer latitude, for example 37.7825.longitude (required): consumer longitude, for example -122.461.offset (optional): number of stores to skip, for example 0.limit (optional): max stores to return, for example 20.Returns store cards containing store ID, name, cover image and tags. Rating, rating count, price range, delivery fee and ETA are returned only when the upstream feed surface supplies them.
The consumer feed surface is frequently unavailable to anonymous guest sessions. When it is, this endpoint degrades to nearby stores drawn from the same catalog that backs /doordash/search, which carries store identity, cover image and tags but no rating, price range, delivery fee or ETA. Those fields are omitted in that case rather than estimated, so treat their absence as "not reported", never as a zero or a default. Callers that need rating and price range for a specific store should follow up with /doordash/store/{store_id}.
Missing or out-of-range coordinates return 400; no usable store data from either surface returns 503 rather than an empty successful response.
| Field | Filled in, of 5 checked | Values in the sample |
|---|---|---|
| storeId | 5 | 56,647 to 25,133,139, median 24,265,972 |
| name | 5 | |
| tags | 5 | median 4 entries |
| coverImageUrl | 1 | img.cdn4dd.com |
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| latitude | number | Yes | Consumer latitude | 37.7825 | |
| longitude | number | Yes | Consumer longitude | -122.461 | |
| offset | integer | No | Number of stores to skip | 0 | |
| limit | integer | No | Max stores to return | 20 | |
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/doordash/feed?latitude=37.7825&longitude=-122.461&limit=10" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"msg": "OK",
"data": {
"stores": [
{
"storeId": "207343",
"name": "Green Island Restaurant",
"coverImageUrl": "https://img.cdn4dd.com/example.jpg",
"tags": [
"Chinese",
"Noodles"
]
}
]
}
}Request schema
No body schema
Response schema
#/definitions/doordash.feedResponseDoc
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| code | integer | No | 200 | |||
| data | doordash.FeedResponse | No | ||||
| data.stores | array | No | ||||
| data.stores[].averageRating | number | No | ||||
| data.stores[].coverImageUrl | string | No | ||||
| data.stores[].deliveryFee | string | No | ||||
| data.stores[].eta | string | No | ||||
| data.stores[].name | string | No | ||||
| data.stores[].priceRange | string | No | ||||
| data.stores[].ratingCount | string | No | ||||
| data.stores[].storeId | string | No | ||||
| data.stores[].tags | array | No | ||||
| 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/feed?latitude=37.7825&longitude=-122.461&limit=10" \
-H "x-api-key: $CRAWLORA_API_KEY"