Smart Restaurant Menu Scraper avatar
Smart Restaurant Menu Scraper
Under maintenance

Pricing

from $0.01 / 1,000 results

Go to Apify Store
Smart Restaurant Menu Scraper

Smart Restaurant Menu Scraper

Under maintenance

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

Prince Raj

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

7 days ago

Last modified

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, /order to find full menus.
  • Anti-Blocking: Uses random user-agents, delays, and proxy rotation.

Input

FieldTypeDescriptionDefault
startUrlStringThe public URL of the restaurant website.(Required)
followLinksBooleanWhether to follow internal menu links.true
maxDepthIntegerMaximum 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

  1. Install dependencies:

    $npm install
  2. Run the Actor:

    $apify run

Apify Platform

  1. Push to Apify:

    $apify push
  2. 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