Restaurant Menu Extractor - Prices, Dishes & PDF Menus
Pricing
from $40.00 / 1,000 menu extracteds
Restaurant Menu Extractor - Prices, Dishes & PDF Menus
Turn any restaurant's own website into a structured menu: sections, dish names, descriptions, prices and dietary tags. Reads schema.org menus, Squarespace/BentoBox/WordPress menu blocks, HTML menu pages and PDF menus. No AI, no browser: fast and cheap. You pay only for menus actually extracted.
Pricing
from $40.00 / 1,000 menu extracteds
Rating
0.0
(0)
Developer
Quid Novi
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
5 days ago
Last modified
Categories
Share
Restaurant Menu Extractor – Menu Prices, Dishes & PDF Menus from Any Restaurant Website
Restaurant Menu Extractor turns a restaurant's own website into a clean, structured menu dataset: menu sections, dish names, descriptions, menu prices and dietary tags (vegan, vegetarian, gluten-free, dairy-free, spicy). It reads HTML menu pages and PDF menus, follows "Menu", "Dinner", "Drinks" and "Happy Hour" links automatically, and exports to JSON, CSV or Excel.
No AI and no headless browser, so it is fast and cheap. You only pay for menus that were actually extracted. Sites with no usable menu are reported with a reason and are free.
What can this restaurant menu scraper do?
- 🍽️ Extract menu items with prices from any restaurant website URL (homepage or menu page)
- 📄 Parse PDF menus (including side-by-side multi-column layouts)
- 🧭 Auto-discover menu pages: dinner, lunch, brunch, drinks, wine, cocktails, desserts, happy hour
- 🧩 Reads schema.org Menu (JSON-LD), Squarespace menu blocks, BentoBox menus and WordPress restaurant-menu plugins, plus a generic dish/price parser for everything else
- 🏷️ Dietary tags detected from names and descriptions
- 📊 Price stats per restaurant (min, max, median) for quick menu price comparison and competitor menu analysis
- ✅ Pay only for success: no charge for blocked, image-only or JavaScript-only menus
- 🤖 Respects robots.txt. Never crawls delivery or ordering platforms (DoorDash, Uber Eats, Grubhub, Toast online ordering, Yelp…), and tells you when a menu only lives there
Who uses it?
- Restaurant owners and operators: track competitor menu prices, benchmark your pricing, and spot menu trends near you
- Food distributors and CPG sales teams: see which dishes and ingredients local restaurants feature before a sales call
- Restaurant tech, POS and marketing agencies: onboard a new client's menu in seconds instead of retyping it
- Market researchers and data teams: build menu price datasets and track menu inflation
- AI agents and RAG apps: give an LLM a clean, structured menu instead of messy HTML
How to use it
- Paste one or more restaurant website URLs into Restaurant website URLs.
- (Optional) Turn on One row per menu item for a spreadsheet-friendly output.
- Click Start and download your data as JSON, CSV, Excel or HTML, or pull it through the API.
Input example
{"startUrls": [{ "url": "https://www.hattieb.com" }, { "url": "https://zunicafe.com" }],"flattenItems": false,"maxPagesPerRestaurant": 6}
Output example (one restaurant, trimmed)
{"url": "https://www.hattieb.com","status": "ok","restaurantName": "Hattie B's Hot Chicken - Birmingham","itemCount": 27,"sectionCount": 9,"currency": "USD","priceStats": { "min": 3.0, "max": 15.5, "median": 7.0, "count": 27 },"confidence": "high","extractionMethods": ["schema.org-jsonld"],"items": [{ "section": "On the Bone", "name": "Half Bird - All White", "price": 15.5, "priceText": "15.50","description": "Half bird all white meat with choice of heat level", "dietary": [] }],"charged": true}
Statuses: ok, no_menu_found, too_few_items, menu_on_ordering_platform, blocked_by_robots, fetch_error, unsupported_platform. Only ok is charged.
How much does it cost to scrape a restaurant menu?
You pay a flat price per restaurant menu extracted (see the Pricing tab), regardless of how many dishes or PDF pages the menu has. Failed sites are free. A run over 100 restaurant websites usually takes about 1–2 minutes.
Limitations (honest)
- Menus published only as images or rendered only by JavaScript are not extracted. They are reported as
no_menu_foundand not charged. In our test on 25 random US restaurant sites, 10 menus were extracted (40%), 3 sites blocked crawlers through robots.txt, and 1 site had its menu only on an ordering platform. - Prices come back as printed. Multi-price items like "5.00 / 6.50" keep the full
priceText, andpriceholds the first number. confidence: highmeans structured markup;mediummeans the heuristic text or PDF parser was used.
FAQ
Is it legal to scrape restaurant menus? This Actor only reads pages that restaurants publish openly on their own websites. It obeys robots.txt and skips third-party ordering and delivery platforms. You are responsible for how you use the data. Consult a lawyer if unsure.
Can I monitor menu price changes? Yes. Schedule the Actor (for example weekly) and compare items between runs.
Does it work with the API, Make, Zapier, n8n or an AI agent (MCP)? Yes, like every Apify Actor.
Found a menu that should work but doesn't? Open an issue on the Issues tab with the URL. We fix parsers quickly.