DoorDash Scraper - Restaurants, Menus & Prices
Pricing
from $2.92 / 1,000 restaurant scrapeds
DoorDash Scraper - Restaurants, Menus & Prices
Scrape DoorDash restaurants & menus by city: name, full address, cuisine, price tier, menu items with prices, rating, reviews and geo. Optional full menu & review enrichment and monitoring. No login or API key. Independent tool, not affiliated with DoorDash.
Pricing
from $2.92 / 1,000 restaurant scrapeds
Rating
0.0
(0)
Developer
Scrape Sage
Maintained by CommunityActor stats
0
Bookmarked
4
Total users
3
Monthly active users
6 days ago
Last modified
Categories
Share
DoorDash Scraper — Restaurants, Menus, Prices & Reviews
Disclaimer: This Actor is an independent tool and is not affiliated with, endorsed by, or sponsored by DoorDash, Inc. or any of its subsidiaries. All trademarks mentioned are the property of their respective owners. "DoorDash" is referenced only to describe the publicly available website this Actor collects data from.
Scrape DoorDash — the #1 US food-delivery marketplace — into clean, structured data. Pull every restaurant in a city with name, full street address, cuisine, price tier, logo, and a menu preview with prices. Turn on store details for the complete menu (every section, item & price), star rating, review count, customer reviews and geo coordinates. Built-in monitor mode returns only new restaurants between runs.
No API key, no login, no browser automation — fast HTTP straight to the source, with a 0–100 quality score on every restaurant.
Why this DoorDash scraper?
Most food-delivery scrapers give you a list of names, then break or stop at the listing card. This actor reads DoorDash's own structured (JSON-LD) data and ships the full record — including the data that powers menu-pricing and competitive-intelligence use cases:
| Data | Typical scrapers | This actor |
|---|---|---|
| Restaurant name + store URL | ✅ | ✅ |
| Full street address + city/state | partial | ✅ |
| Cuisine(s) + price tier ($–$$$$) | partial | ✅ |
| Logo / cover image | ❌ | ✅ |
| Menu preview (popular items + prices) | ❌ | ✅ |
| Full menu — every section, item, description & price (store details) | ❌ | ✅ |
| Star rating + review count (store details) | ❌ | ✅ |
| Customer reviews (author, stars, text) (store details) | ❌ | ✅ |
| Geo (lat/long) (store details) | ❌ | ✅ |
| Filter by city, cuisine, price, rating | partial | ✅ |
| Monitor mode — only new restaurants | ❌ | ✅ |
| Quality score (0–100) | ❌ | ✅ |
Who uses DoorDash data?
- Restaurant-tech, POS, online-ordering & delivery SaaS — build prospect lists of restaurants by city and cuisine, with address and menu.
- Food brands, distributors & suppliers — find and segment restaurants that could carry your products.
- Menu & price intelligence — benchmark competitor menus, item pricing and price tiers across a market.
- Ghost kitchens & virtual brands — map the competitive landscape and white space by cuisine.
- Market researchers & analysts — restaurant density, cuisine mix, ratings and pricing trends by city.
- Investors & real-estate teams — gauge food-service supply and demand in a trade area.
How to use
- Sign up for Apify — the free plan is enough to try this actor.
- Open the DoorDash Scraper, enter one or more cities ("Austin, TX"), optionally add cuisines, and click Start.
- Watch results stream into the dataset table.
- Export as JSON, CSV, Excel, XML, or RSS — or pull results programmatically via the Apify API.
Input
{"cities": ["Austin, TX", "New York, NY"],"cuisines": ["pizza", "mexican"],"includeStoreDetails": true,"includeReviews": true,"maxReviewsPerStore": 10,"priceTiers": ["1", "2"],"maxResults": 100}
| Field | Type | Description |
|---|---|---|
cities | array | Cities to scrape, as "City, ST" (e.g. "Austin, TX"). |
cuisines | array | Optional cuisine filters — each is scraped separately per city (~50 restaurants each) to expand coverage. |
startUrls | array | DoorDash city pages or single /store/<id>/ URLs (auto-routed; store URLs always pull full details). |
maxResults | integer | Cap on restaurant records (default 100). |
includeStoreDetails | boolean | Open each store page for the full menu, rating, reviews and geo. |
includeReviews | boolean | Include customer reviews when store details are on. |
maxReviewsPerStore | integer | Max reviews per restaurant. |
cuisineFilter | array | Output filter: keep only matching cuisines. |
priceTiers | array | Output filter: 1 = $, 2 = $$, 3 = $$$, 4 = $$$$. |
minRating / minReviews | integer | Output filters (require store details). |
withMenuOnly | boolean | Only restaurants that have menu items. |
monitorMode | boolean | Emit only restaurants not seen in previous runs. |
proxyConfiguration | object | Defaults to Apify Residential, US (recommended). |
Output
Each restaurant is one row tagged type: "restaurant":
{"type": "restaurant","storeId": "62014","name": "The Cheesecake Factory","url": "https://www.doordash.com/store/the-cheesecake-factory-austin-62014/","cuisines": ["American", "Dessert"],"primaryCuisine": "American","priceRange": "$$","priceTier": 2,"street": "10000 Research Boulevard","city": "Austin","state": "TX","rating": 4.5,"reviewCount": 50,"latitude": 30.39098,"longitude": -97.747569,"menu": [{ "section": "Most Ordered", "items": [{ "name": "Whole Wheat Loaf", "price": 3.5, "priceText": "$3.50" }] }],"menuSectionCount": 9,"menuItemCount": 91,"reviews": [{ "author": "Miguel R", "rating": 5, "body": "...delicious!" }],"leadScore": 88,"scrapedAt": "2026-06-24T01:00:00.000Z"}
Without store details, each row carries the city-feed data: name, street/city/state, cuisines, priceRange, imageUrl, and a menuPreview (popular items with prices).
Monitor mode
Turn on monitorMode to remember every restaurant (storeId) across runs and emit only restaurants not seen before — perfect for tracking new restaurant openings in a market. State lives in a named key-value store (monitorStoreName, default doordash-scraper-monitor); use a different name per tracked market. This is orthogonal to Apify Schedules — the schedule decides when to run, monitor mode decides what's new.
How much does it cost to scrape DoorDash?
This Actor uses Apify's pay-per-event pricing: you are charged only for the results it delivers, with no monthly rental and no start fee. The events it can charge are:
- Restaurant scraped - One DoorDash restaurant: name, full street address, cuisine, price tier, logo, popular-items menu preview with prices, store URL, 0–100 score.
- Store details enriched - Add-on (once per restaurant when enrichment succeeds): full menu (every section/item/price), star rating, review count, customer reviews, geo.
The current price of each event is shown on the Pricing tab of this page. Set a maximum total charge on the run if you want a hard cap on spend, and use the input limits to control how much the Actor fetches.
Automate & schedule
- Apify API — start runs, fetch datasets, manage schedules over REST.
- apify-client for JavaScript and apify-client for Python — official SDKs.
- Schedules — run it daily/weekly to track new restaurants and menu/price changes in a market.
- Webhooks — trigger downstream actions (CRM import, Slack alert, price-monitoring job) when a run finishes.
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'MY_APIFY_TOKEN' });const run = await client.actor('scrapesage/doordash-scraper').call({cities: ['Austin, TX'],includeStoreDetails: true,maxResults: 100,});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
Integrate with any app
Connect the dataset to 5,000+ apps — no code required:
- Make — multi-step automation scenarios.
- Zapier — push new restaurant leads straight into your CRM.
- Slack — get notified when a monitored city has new restaurants.
- Google Drive / Sheets — auto-export every run to a spreadsheet.
- Airbyte — pipe results into your data warehouse.
- GitHub — trigger runs from commits or releases.
Use with AI assistants (MCP)
The output is clean, LLM-ready JSON. Call this actor from Claude, ChatGPT, or any agent framework through the Apify MCP server — ask your assistant to "list the top-rated pizza restaurants in Austin with their menu prices" and let it run this scraper for you.
Agent-ready: autonomous payments (x402 & Skyfire)
This actor is agent-ready — AI agents can discover it, run it, and pay for it autonomously, with no Apify account and no human in the loop. It uses pay-per-event pricing and limited permissions, so it qualifies for Apify's agentic-payment standards:
- x402 — an open, HTTP-native payment protocol. Agents pay per run in USDC on the Base network directly through the Apify MCP server — no account, no API key.
- Skyfire — agent-to-service payments for fully autonomous AI-agent workflows.
Building an AI agent, MCP tool, or autonomous data pipeline? This scraper is ready to plug in and pay as it goes.
More scrapers from scrapesage
- UberEats Scraper — restaurants, menus and prices from Uber Eats.
- Wolt Scraper — restaurant and store data from Wolt.
- Zomato Scraper — restaurant listings, menus and reviews.
- Just Eat Scraper — European food-delivery restaurant data.
- Talabat Scraper — MENA food-delivery restaurants and menus.
- US Restaurant Inspection Scraper — health-inspection scores and violations.
- Google Maps Scraper — local business leads, emails, phones and reviews.
- Website Contact Scraper — emails, phones and socials from any website.
Tips
- Wider coverage per city: add several
cuisines(pizza, mexican, sushi, burgers…) — each pulls ~50 more restaurants for the same city. - Cheapest runs: leave
includeStoreDetailsoff — the city feed already gives name, address, cuisine, price tier and a menu preview. - Menu/price benchmarking: turn on
includeStoreDetailsto capture every menu item and price across a market. - Track new openings: combine Schedules with
monitorMode.
FAQ
Do I need a DoorDash API key or login? No. This actor reads the public city and store pages — no key, no login, no browser.
Can I target a specific city? Yes — the city is set by the URL, so results are reliably localized to the city you enter (unlike IP-based scrapers).
Does it get restaurant phone numbers? DoorDash routes contact through its platform and does not publish restaurant phone numbers, so phone is not available. You get the full street address, which pairs well with the Google Maps Scraper for phone/email enrichment.
Why Residential proxy? DoorDash serves clean pages over US residential IPs but challenges datacenter IPs. The default is Apify Residential (US); blocked requests retry automatically on a fresh IP.
Can I export to Google Sheets, CSV, or Excel? Yes — one click in the dataset view, or automatically on every run via the Google Drive integration.
Not affiliated with or endorsed by DoorDash. Use responsibly and in accordance with applicable laws and terms. Scrapes only publicly available data.
Disclaimer
This Actor is an independent tool and is not affiliated with, endorsed by, or sponsored by DoorDash, Inc. or any of its subsidiaries. All trademarks mentioned are the property of their respective owners.
"DoorDash" and any related marks are the property of their respective owners and are used here only in a descriptive, nominative sense - to identify the publicly accessible website from which this Actor collects data. This Actor is not an official DoorDash product, is not authorised or certified by DoorDash, Inc., and does not distribute DoorDash software. It collects only publicly available information; you are responsible for ensuring your use of that data complies with applicable laws, regulations and the terms of the source website.
Need help?
Open an issue on the Actor's Issues tab, or visit the Apify help center. Feature requests are welcome - this Actor is actively maintained.