Grubhub Restaurant Scraper 🍽️ avatar
Grubhub Restaurant Scraper 🍽️

Pricing

$19.99/month + usage

Go to Apify Store
Grubhub Restaurant Scraper 🍽️

Grubhub Restaurant Scraper 🍽️

Scrape restaurant data from Grubhub including menus, prices, ratings, and delivery information. Extract detailed business information and menu items for market research, price monitoring, or competitor analysis.

Pricing

$19.99/month + usage

Rating

5.0

(1)

Developer

EasyApi

EasyApi

Maintained by Community

Actor stats

1

Bookmarked

34

Total users

4

Monthly active users

6 months ago

Last modified

Share

Powerful scraper for extracting detailed restaurant and menu data from Grubhub. Get comprehensive information about restaurants, their menus, prices, ratings, and delivery options.

Features ✨

  • Extract detailed restaurant information including:
    • Basic details (name, ID, description, logo)
    • Location data (address, coordinates)
    • Contact information
    • Rating and review counts
    • Cuisine types
    • Operating hours
    • Price rating
  • Comprehensive menu data:
    • Menu item names and descriptions
    • Prices and categories
    • Item availability
    • Food images (when available)
  • Delivery information:
    • Delivery availability
    • Minimum order amounts
    • Delivery fees
    • Estimated delivery times

Use Cases 💡

  • Market research and competitor analysis
  • Menu and price monitoring
  • Food delivery service optimization
  • Restaurant database building
  • Local business intelligence

Input Parameters 📝

The actor accepts the following inputs:

  • searchUrls: Array of Grubhub search URLs to scrape
  • maxItems: Maximum number of items to scrape (optional)
  • proxyConfiguration: Proxy settings (optional)

Output 📊

Results are stored in JSON format with detailed restaurant and menu information. Each record contains:

  • Complete restaurant profile
  • Detailed menu items with prices
  • Delivery options and fees
  • Location and contact details
  • Ratings and reviews data

Tips 💪

  • Use specific location-based search URLs for better results
  • Adjust maxItems based on your needs
  • Consider using proxies for large-scale scraping

Input Example

A full explanation of an input example in JSON.

{
"searchUrls": [
"https://www.grubhub.com/search?orderMethod=delivery&locationMode=DELIVERY&facetSet=umamiV6&pageSize=36&hideHateos=true&searchMetrics=true&queryText=noodles&latitude=34.05490875&longitude=-118.24264527&geohash=9q5ctrd24xj7&includeOffers=true&featureControl=fastTagBadges%3Atrue&sortSetId=umamiv3&sponsoredSize=3&countOmittingTimes=true"
],
"maxItems": 50
}

Output sample

The results will be wrapped into a dataset which you can always find in the Storage tab. Here's an excerpt from the data you'd get if you apply the input parameters above:

And here is the same data but in JSON. You can choose in which format to download your data: JSON, JSONL, Excel spreadsheet, HTML table, CSV, or XML.

[
{
"searchUrl": "https://www.grubhub.com/search?orderMethod=delivery&locationMode=DELIVERY&facetSet=umamiV6&pageSize=36&hideHateos=true&searchMetrics=true&queryText=noodles&latitude=34.05490875&longitude=-118.24264527&geohash=9q5ctrd24xj7&includeOffers=true&featureControl=fastTagBadges%3Atrue&sortSetId=umamiv3&sponsoredSize=3&countOmittingTimes=true",
"restaurant": {
"id": "2249885",
"merchant_id": "vZ2t8LtAEeqw3FFH06yU0w",
"url": "https://www.grubhub.com/restaurant/noodle-world-1935-s-atlantic-blvd-monterey-park/2249885",
"name": "Noodle World",
"logo": "https://res.cloudinary.com/grubhub/image/upload/v1505314786/xvtxngssf4xlwy2e9tbm.png",
"description": null,
"rating": {
"count": 428,
"value": "4",
"actual_value": 4.8937529313265244
},
"cuisines": [
"Noodles",
"Bubble Tea",
"Coffee and Tea",
"Ramen",
"Salads",
"Thai"
],
"address": {
"street": "1935 S Atlantic Blvd",
"city": "Monterey Park",
"state": "CA",
"postal_code": "91754",
"latitude": "34.04156112",
"longitude": "-118.14218903"
},
"phone": "3238819898",
"delivery": {
"available": true,
"minimum": 0,
"fee": 0,
"time_estimate": {
"min": 35,
"max": 50
}
},
"price_rating": 3,
"is_open": true,
"next_closed_at": "2025-02-23T05:15:00.000Z"
},
"menu_items": [
{
"id": "20522860837",
"name": "46. Noodle & Soup.",
"description": "",
"price": 9.99,
"category": "Vietnamese Noodle Soup.",
"available": true,
"image": null
},
{
"id": "20522860500",
"name": "40. Noodle World Pho.",
"description": "Rare slices of steak, well done flank, beef balls, tendon, tripe, onions, cilantro, green onions, and rice stick noodles. Soup flavored with lime juice, peanuts, and chili.",
"price": 14.99,
"category": "Vietnamese Noodle Soup.",
"available": true,
"image": {
"url": "https://media-cdn.grubhub.com/image/upload/wvi4xqrisdmlfwqrwiw1.jpg",
"format": "jpg"
}
},
{
"id": "20522860425",
"name": "79. Noodle World Spaghetti.",
"description": "Shrimp, squid mussels, imitation crab meat and spaghetti sautéed with garlic, vegetables, Thai Basil and chili.",
"price": 16.99,
"category": "Wok Noodles.",
"available": true,
"image": {
"url": "https://media-cdn.grubhub.com/image/upload/vbdrl4tgsfbph3frmxqg.jpg",
"format": "jpg"
}
},
{
"id": "20522860763",
"name": "85. Singapore Noodles.",
"description": "Shrimp and BBQ Pork wok fried with onions, green onions, eggs, curry powder, bean sprouts and rice vermicelli.",
"price": 16.49,
"category": "Wok Noodles.",
"available": true,
"image": {
"url": "https://media-cdn.grubhub.com/image/upload/eyrpmetcoa7qhrwor1zk.jpg",
"format": "jpg"
}
},
{
"id": "20522860891",
"name": "84. Garlic Noodles.",
"description": "Chicken, Japanese egg noodles, white mushrooms, shiitake mushrooms, corn, peas, butter, garlic, parmesan cheese.",
"price": 15.49,
"category": "Wok Noodles.",
"available": true,
"image": {
"url": "https://media-cdn.grubhub.com/image/upload/c9rrvukj662xvoyfjsjl.jpg",
"format": "jpg"
}
},
{
"id": "20522860482",
"name": "79. Noodle World Spaghetti.",
"description": "Shrimp, squid mussels, imitation crab meat and spaghetti sautéed with garlic, vegetables, Thai Basil and chili.",
"price": 16.99,
"category": "Wok Noodles.|72. RAD NAH|73. PAD SEE YOU|75. DRUNKEN NOODLE|77. CHOW MEIN|80. SPAGHETTI",
"available": true,
"image": {
"url": "https://media-cdn.grubhub.com/image/upload/vbdrl4tgsfbph3frmxqg.jpg",
"format": "jpg"
}
},
{
"id": "20522860886",
"name": "17. Noodle World Salad.",
"description": "Boneless Thai BBQ chicken, mixed greens, cucumber, carrots, onion and tofu, tossed with sesame ginger dressing. ",
"price": 14.29,
"category": "Salads.",
"available": true,
"image": {
"url": "https://media-cdn.grubhub.com/image/upload/vs9gkmhdtvqyknyokhou.jpg",
"format": "jpg"
}
},
{
"id": "20522860407",
"name": "20. Noodle World Tom Yum.",
"description": "Chicken, shrimp, ground pork, fish ball, fish cake, green onions, cilantro, and rice stick noodles in spicy tom yum soup flavored with lime juice, crushed peanuts, and chili flakes.",
"price": 14.99,
"category": "Thai Noodle Soups.",
"available": true,
"image": {
"url": "https://media-cdn.grubhub.com/image/upload/xqcbunfupyc9zaxmrjvd.jpg",
"format": "jpg"
}
},
{
"id": "22771615871",
"name": "30. House Noodles.",
"description": "Chicken, shrimp, ground pork, fish ball, and fish cakes. Served with bean sprouts, green onions, and cilantro with egg noodles.",
"price": 14.29,
"category": "Chinese Noodle Soup.",
"available": true,
"image": {
"url": "https://media-cdn.grubhub.com/image/upload/acey0ewn6lmnwswvniv6.png",
"format": "png"
}
},
{
"id": "20522860412",
"name": "35. Chicken Noodles.",
"description": "Chicken slices, bean sprouts, green onions, and cilantro",
"price": 13.99,
"category": "Chinese Noodle Soup.",
"available": true,
"image": {
"url": "https://media-cdn.grubhub.com/image/upload/w1xgiu6laln0fedm5fbk.jpg",
"format": "jpg"
}
}
]
},
...
]