MenuMiner - Restaurant Menu Scraper avatar

MenuMiner - Restaurant Menu Scraper

Pricing

from $2.20 / 1,000 results

Go to Apify Store
MenuMiner - Restaurant Menu Scraper

MenuMiner - Restaurant Menu Scraper

Fast Cheerio-only actor that extracts restaurant menus from public, server-rendered HTML pages and JSON-LD. Outputs clean items (restaurant, category, item, price, URL) and returns a clear “not supported” note for JS-rendered, API-driven, or protected sites.

Pricing

from $2.20 / 1,000 results

Rating

0.0

(0)

Developer

Techionik

Techionik

Maintained by Community

Actor stats

0

Bookmarked

5

Total users

2

Monthly active users

a month ago

Last modified

Share

MenuMiner – Restaurant Menu Extractor 🍽️

Cheerio-only Supports No Browser Public Only

Overview

MenuMiner extracts menu categories, item names, and prices from restaurant pages that expose server-rendered HTML or JSON-LD. It is designed to be fast, cheap, and reliable by avoiding browser automation.

✅ Works on: server-rendered HTML menus + JSON-LD menus
❌ Not supported: JS-rendered menus (React/Vue), API-only menus, iframe/PDF/image menus, bot-protected pages (403)

Output

When a menu is found

Each dataset row contains:

  • restaurantName
  • category
  • itemName
  • price
  • menuPageUrl

When a menu is NOT found / blocked / failed

A single dataset row contains:

  • restaurantName
  • menuPageUrl
  • status (e.g., no_menu_found, blocked_or_protected, request_failed)
  • note (professional explanation)

Input (What URLs you can use)

✅ Good input URLs

Use direct menu pages that show items + prices in the raw HTML (view-source should contain menu text and prices). Examples that return good results:

❌ Avoid these URLs

  • Homepages that require clicks to load the menu
  • Pages where menu loads after page load via JavaScript/API
  • Embedded menu PDFs/images/iframes
  • Sites returning 403 (bot protection)

Example input

{
"startUrls": [
{ "url": "https://order.thaipalacechapelhill.com/order/all-day-menu-dinner/appetizers" },
{ "url": "https://traciesplace.ca/menu.html" },
{ "url": "https://anarbaghla.com/menu.html" }
],
"maxPages": 5
}