Smart Restaurant Menu Scraper
Pricing
from $0.01 / 1,000 results
Go to Apify Store
Under maintenance
Smart Restaurant Menu Scraper
Extract menus, prices, and descriptions from any restaurant website automatically. Fast, robust, and easy to use.
Pricing
from $0.01 / 1,000 results
Rating
0.0
(0)
Developer

Prince Raj
Maintained by Community
Actor stats
0
Bookmarked
1
Total users
0
Monthly active users
7 days ago
Last modified
Categories
Share
Restaurant Menu Extractor Actor
A production-ready Apify Actor that extracts structured menu data from any publicly available restaurant website. Built with Crawlee + Playwright + Chrome.
Features
- Universal Extraction: Works on hundreds of restaurant websites.
- Smart Detection: Automatically identifies menu sections, categories, and items.
- Detailed Data: Extracts item names, descriptions, prices, and images.
- Metadata: Captures restaurant name, address, phone number, and opening hours.
- Deep Crawling: Follows internal links like
/menu,/food,/orderto find full menus. - Anti-Blocking: Uses random user-agents, delays, and proxy rotation.
Input
| Field | Type | Description | Default |
|---|---|---|---|
startUrl | String | The public URL of the restaurant website. | (Required) |
followLinks | Boolean | Whether to follow internal menu links. | true |
maxDepth | Integer | Maximum depth for crawling links. | 2 |
Example Input
{"startUrl": "https://www.example-restaurant.com","followLinks": true,"maxDepth": 2}
Output
The Actor stores results in the default dataset. Each item represents a page scraped (usually the main page or a menu page).
Example Output JSON
{"name": "The Burger Joint","address": "123 Main St, Food City, FC 12345","phone": "+1 555-0123","hours": {"raw": "Mon-Sun: 11am - 10pm"},"menu": [{"category": "Burgers","items": [{"name": "Classic Cheeseburger","description": "Beef patty, cheddar, lettuce, tomato, house sauce.","price": 12.99,"image": "https://www.example-restaurant.com/images/burger.jpg"}]}],"source_url": "https://www.example-restaurant.com/menu","scraped_at": "2023-10-27T10:00:00.000Z"}
Usage
Local Development
-
Install dependencies:
$npm install -
Run the Actor:
$apify run
Apify Platform
-
Push to Apify:
$apify push -
Run via API or Console.
Limitations
- SPA Navigation: While Playwright handles JS rendering, complex SPAs with non-standard navigation might require custom handling.
- Image Extraction: Relies on proximity of
<img>tags to menu items. Background images or complex layouts might be missed. - Price Parsing: Supports standard formats (e.g., .99, 10.99). Complex pricing structures (e.g., "add for extra cheese") are not parsed into the base price.
License
ISC