Datasets API endpoint
Returns terms aggregation counts for the DoorDash store directory. Facet enum: `country`, `state`, `city`, `tags`, `display_status`, `price_range`, `dash_pass_eligible`. Accepts the same filter parameters as search to scope the aggregation. Use `facet=tags` to discover the marketplace tag values accepted by the `tag` filter.
/datasets/doordash-stores/facetsAggregates one faceted field over the DoorDash store directory, so a caller can discover the exact values accepted by the country, state, city, and tag filters on /search without scraping an unrelated page.
Query parameters:
facet: required. The field to aggregate. One of country, state, city, tags, display_status, price_range, dash_pass_eligible./search filter parameters may also be supplied, and the aggregation is then computed over the filtered set rather than the whole directory. Omit them to aggregate the full directory.Notable response behavior:
country is free-form ISO-3166-1 alpha-2 with no closed value set in DoorDash's own vocabulary, so this endpoint — not a documented enum — is the authoritative discovery source for it.tags is the marketplace's own comma-split tag list, which is why tag on /search accepts exactly one value; discover the set here first, then filter.price_range values are DoorDash's own numeric price tiers, not currency amounts.price_range rows carry the tier as text ("1" through "4") and count stores with a real tier only; dash_pass_eligible rows carry "true" or "false".display_status is crawl-time state, so its counts move between passes.key and count, ordered by count descending.items list, not an error.| Field | Filled in, of 5 checked | Values in the sample |
|---|---|---|
| key | 5 | |
| count | 5 | 1,576 to 271,817, median 20,004 |
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| facet | string | Yes | Facet enum: country, state, city, tags, display_status, price_range, dash_pass_eligible Allowed values: country, state, city, tags, display_status, price_range, dash_pass_eligible. | country | |
| q | string | No | Full-text search over store name, address, city, and marketplace tags | ||
| country | string | No | ISO-3166-1 alpha-2 country filter | ||
| state | string | No | State/region code filter | ||
| city | string | No | Exact city filter | ||
| tag | string | No | Single marketplace tag filter | ||
| dash_pass_only | boolean | No | Keep only DashPass-eligible stores | ||
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/datasets/doordash-stores/facets?facet=country&q=coffee&country=us&dash_pass_only=true" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"msg": "OK",
"data": {
"dataset": "doordash-stores",
"facet": "tags",
"items": [
{
"key": "Pizza",
"count": 18422
},
{
"key": "Grocery",
"count": 9120
},
{
"key": "Desserts",
"count": 7734
}
]
}
}Request schema
No body schema
Response schema
#/definitions/datasets.doorDashStoresFacetResponseDoc
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| code | integer | No | 200 | |||
| data | datasets.DoorDashStoreFacetResponse | No | ||||
| data.dataset | string | No | ||||
| data.facet | string | No | ||||
| data.items | array | No | ||||
| data.items[].count | integer | No | ||||
| data.items[].key | string | No | ||||
| msg | string | No | OK |
| Status | Description | Schema |
|---|---|---|
| 400 | Bad Request | #/definitions/app.Response |
| 429 | Too Many Requests | #/definitions/app.Response |
| 500 | Internal Server Error | #/definitions/app.Response |
Use environment variables for secrets and keep Crawlora API keys server-side.
curl -X GET "https://api.crawlora.net/api/v1/datasets/doordash-stores/facets?facet=country&q=coffee&country=us&dash_pass_only=true" \
-H "x-api-key: $CRAWLORA_API_KEY"