Grubhub Scraper - Extract Restaurant Data, Menus & Reviews avatar

Grubhub Scraper - Extract Restaurant Data, Menus & Reviews

Pricing

from $0.01 / 1,000 results

Go to Apify Store
Grubhub Scraper - Extract Restaurant Data, Menus & Reviews

Grubhub Scraper - Extract Restaurant Data, Menus & Reviews

Scrape comprehensive restaurant data from Grubhub including menus, pricing, ratings, and delivery details. Perfect for market research, competitive analysis, and food industry intelligence. Research Restaurant Markets Track Menu Pricing Compare Platforms Build Restaurant Databases Analyze Trends

Pricing

from $0.01 / 1,000 results

Rating

0.0

(0)

Developer

The Howlers

The Howlers

Maintained by Community

Actor stats

0

Bookmarked

50

Total users

4

Monthly active users

4 days ago

Last modified

Features

Limited permissions

Share

Grubhub Restaurant Scraper

Scrape Grubhub for restaurant listings, menus, prices, ratings, and delivery info. Extract restaurant data for food delivery market research. Built by John Rippy (https://www.linkedin.com/in/johnrippy/).

Note: this actor runs in Demo Mode by default, so a default free run returns sample data. Set demoMode to false to fetch real data.


How it works

Results come from Grubhub's own JSON API, the same one www.grubhub.com uses for visitors who are not logged in: a search near your location (city and state, ZIP code, address, or lat,lng), then one request per restaurant for its menu when includeMenu is on. Requests go out directly and switch to your proxy setting only if Grubhub blocks them. No browser is used.


Quick Start

Test with Demo Mode (free, no API key needed)

{
"demoMode": true,
"restaurantUrl": "https://example.com"
}

Run with real data

{
"demoMode": false,
"scrapeType": "search",
"restaurantUrl": "https://example.com",
"searchTerm": "pizza",
"location": "Chicago, IL",
"cuisineType": "all",
"includeMenu": true,
"maxResults": 50,
"proxyConfiguration": {
"useApifyProxy": true,
"apifyProxyGroups": [
"RESIDENTIAL"
]
}
}

Input Parameters

ParameterTypeDefaultRequiredDescription
scrapeTypestring"search"NoWhat type of data to scrape
restaurantUrlstring-NoDirect Grubhub restaurant page URL
searchTermstring"pizza"NoCuisine type or restaurant name
locationstring"Chicago, IL"NoCity and state, ZIP code, address, or lat,lng to search near
cuisineTypestring"all"NoFilter by cuisine
includeMenubooleantrueNoExtract menu items and prices
maxResultsinteger50NoMaximum number of restaurants to scrape
proxyConfigurationobject{"useApifyProxy":true,"apifyProxyGroups":["RESIDENTIAL"]}NoUsed only if Grubhub blocks direct requests
demoModebooleantrueNoReturn sample data without actual scraping
webhookUrlstring-NoOptional webhook URL to receive data as it's scraped

Pricing

This actor uses pay-per-event billing:

EventWhen it is chargedPrice
Actor startOnce when the run starts, one event per GB of memory (minimum one). At the default 2 GB of memory a run starts at $0.20$0.10 per GB
Restaurant ListingEach restaurant listing scraped$0.003
Menu ItemEach menu item scraped$0.001
ResultEach item written to the default dataset$0.00001

Demo mode is free -- no charges for sample data.


Troubleshooting

"API error 429" or "Rate limit"

Too many requests. Wait a minute and try again, or reduce the number of items per run.

No results or empty dataset

Check the run log for error messages. Common causes:

  • Invalid input format (check the examples above)
  • The target data doesn't exist or is too small to track

How do I test without an API key?

Enable Demo Mode in the input. This returns realistic sample data so you can verify the output format works for your workflow.


Built by John Rippy | Actor Arsenal