DoorDash Scraper - Extract Restaurant & Store Data with Menus
Pricing
from $0.01 / 1,000 results
DoorDash Scraper - Extract Restaurant & Store Data with Menus
Scrape comprehensive data from DoorDash including restaurants, stores, menus, pricing, and ratings. Perfect for market research, competitive analysis, and food industry intelligence. Analyze Menu Pricing Research Markets Monitor Competition Build Restaurant Databases Franchise Research
Pricing
from $0.01 / 1,000 results
Rating
0.0
(0)
Developer
The Howlers
Actor stats
0
Bookmarked
67
Total users
16
Monthly active users
17 days ago
Last modified
Categories
Share
DoorDash Store Scraper
Scrape DoorDash for restaurant and store listings, menus, prices, ratings, and delivery info. Extract data for food delivery market analysis. Built by John Rippy (https://www.linkedin.com/in/johnrippy/).
BYOK (Bring Your Own Key) -- you provide your own API credentials.
Before You Start
This actor requires your own API credentials to fetch real data.
Where to get your key: Your Firecrawl API key for enhanced scraping with better bot bypass. Without this, Crawlee with residential proxies will be used. Get a key at https://firecrawl.dev
You can test with Demo Mode first (free, no key needed) to see the output format before committing.
Quick Start
Test with Demo Mode (free, no API key needed)
{"demoMode": true,"storeUrl": "https://www.doordash.com/store/mcdonald-s-san-francisco-16173/"}
Run with real data
{"demoMode": false,"scrapeType": "menu","storeUrl": "https://www.doordash.com/store/mcdonald-s-san-francisco-16173/","searchTerm": "burger","location": "San Francisco, CA","storeType": "all","includeMenu": true,"maxResults": 10,"firecrawlApiKey": "YOUR_API_KEY_HERE","proxyConfiguration": {"useApifyProxy": true,"apifyProxyGroups": ["RESIDENTIAL"]}}
Input Parameters
| Parameter | Type | Default | Required | Description |
|---|---|---|---|---|
scrapeType | string | "menu" | No | What type of data to scrape |
storeUrl | string | - | No | Direct DoorDash store page URL (required for store_profile and menu scrape types) |
searchTerm | string | "burger" | No | Store type, cuisine, or restaurant name (for search mode) |
location | string | "San Francisco, CA" | No | City and state for search context |
storeType | string | "all" | No | Filter by store type |
includeMenu | boolean | true | No | Extract menu items and prices from each store |
maxResults | integer | 10 | No | Maximum number of stores to scrape (search mode only) |
firecrawlApiKey | string | - | Yes* | Your Firecrawl API key for enhanced scraping with better bot bypass. Without this, Crawlee with residential proxies will be used. Get a key at https://firecrawl.dev |
proxyConfiguration | object | {"useApifyProxy":true,"apifyProxyGroups":["RESIDENTIAL"]} | No | Proxy settings for Crawlee scraping (used when Firecrawl API key is not provided) |
demoMode | boolean | true | No | Return sample data without actual scraping (for testing only - does NOT scrape real menus) |
webhookUrl | string | - | No | Optional webhook URL to receive data when scraping completes |
*Required when Demo Mode is off.
Pricing
This actor uses pay-per-event billing:
| Event | Description | Price |
|---|---|---|
| Store Scraped | Each DoorDash store/restaurant profile scraped with details | $0.08 |
| Menu Item Extracted | Each menu item with price extracted from a store | $0.01 |
Demo mode is free -- no charges for sample data.
Troubleshooting
"API key is required"
You have Demo Mode turned off but didn't provide an API key. Either:
- Turn Demo Mode on to test with sample data
- Add your API key in the input
"API error 403" or "Unauthorized"
Your API key is invalid, expired, or doesn't have access to this specific API endpoint. Double-check your key and account permissions.
"API error 429" or "Rate limit"
Too many requests. Wait a minute and try again, or reduce the number of items per run.
No results or empty dataset
Check the run log for error messages. Common causes:
- Invalid input format (check the examples above)
- API key without proper permissions
- The target data doesn't exist or is too small to track
How do I test without an API key?
Enable Demo Mode in the input. This returns realistic sample data so you can verify the output format works for your workflow.
Built by John Rippy | Actor Arsenal