How to Scrape Grubhub for Restaurant Data

6 min read

Food ordering and delivery platforms have experienced significant growth in the past decades. In the United States, Grubhub has a large market share. The purpose of this article is to give you a brief introduction to Grubhub, suggest what information can be scraped from Grubhub, and walk you through the steps to take so.

Grubhub Web Scraping

What is Grubhub

Grubhub was founded in 2004 by two software developers who used to be frustrated with the difficulty of ordering food online. As of 2021, this platform had over 31 million active users and partnerships with above 300,000 restaurants in over 4,000 cities across the United States. It allows users to browse menus and place orders from local restaurants through a website or mobile app. It also offers delivery services through its own network of drivers, as well as third-party delivery providers like Uber Eats and DoorDash.

What you can get on Grubhub

Grubhub provides users with a variety of information about restaurants that can help users decide what to order. You can check information about each restaurant like address, hours of operation, payment options, and estimated delivery time and fees. In addition, you can view restaurants’ full menus, including descriptions of dishes, prices, and any customization options available.

Along with that restaurant’s information, each restaurant on Grubhub has a rating based on user reviews. You can read these reviews and check the ratings on Grubhub to learn how much users love a restaurant and what they think about it.

How can you benefit from Grubhub data

Grubhub data is a valuable resource for restaurant owners and marketers in the catering industry to observe the market from multiple perspectives.

Tracking Competitors Over Time

By tracking your competitors’ performance on Grubhub over time, you can see their strategies in pricing and adjusting menus and how their businesses are growing and evolving. This information can help you make strategic decisions about the future of your restaurant, such as whether to expand to new locations or offer new menu items.

Understanding Customer Behavior

As mentioned before, Grubhub provides data on customer behavior. By collecting and analyzing data like ratings and reviews of each restaurant, you can understand what items are popular and what they think about the items and restaurant services. As a result, you can improve your services and user experience based on that information.

Identifying Opportunities for Growth

The catering industry is competitive. The key to success is to always look for new opportunities. With Grubhub data, you can identify areas where other restaurants are doing well and there may be a market gap for your business. For instance, if you see that customers are frequently ordering certain items from different restaurants, you may want to consider offering similar items to expand your menu.

The legality of web scraping depends on several factors, including the website’s terms of service, the type of data being scraped, and the purpose of the scraping. In general, it’s legal to extract publicly available data when it’s done for research purposes or journalism. But some platforms might have more detailed and strict regulations about using any automated means to collect data from their platform without prior consent. So, it’s recommended to learn the website’s terms of service and applicable laws before launching your scraper to pull data from any platform.

Steps to Scrape Grubhub Restaurant Info Without Coding

This part will give you a quick guide on scraping data from Grubhub. And Octoparse, an easy-to-use web scraping tool, will assist you in grabbing the data you want without coding.

scrape grubhub with octoparse

If you haven’t used Octoparse, you can download and install it on your device. When you first open this software, you’ll need an account to log in. Please sign up for a free account here, and it’ll allow you to access powerful features on Octoparse.

To extract Grubhub data, there are six main steps. Here is an example URL below, you can use it to follow through the tutorial.

Step 1: Enter the URL to create a new task

Copy the URL and paste it into the search bar on Octoparse. Next, click “Start” to create a new task. Then the page will be loaded on Octoparse’s built-in browser.

Step 2: Create a pagination loop

Once the page is finished loading, scroll down the page and click the “>>” button on the page. Then you’ll find several optional actions in the Tips panel, click “Loop click single element” in this panel. After that, a workflow will show up on your right-hand side that presents this Pagination action.

Click the “+” button inside the Pagination action in the workflow, and select “Loop” on the drop-down menu to add a Loop Item. Next, click on the Loop Item in the workflow, select Loop Mode as Variable List in the General setting, and input XPath below. Then click Apply to save the setting.

XPath: //div[@class=’s-row restaurantCard-search-body–lessInfo restaurantCard-search-body–altLayout’]

After that, you’ll need to add another action to go to the detail pages of each restaurant to grab more information. To reach these pages, click the “+” button inside the Loop Item and choose “Click” on the drop-down menu. Next, select “Relative XPath to the Loop Item” in the General setting of Click Item, and input XPath /div. Then click Apply to save the setting.

Step 3: Select desired data

Click on the “Click Item” in the workflow, then the detail page will be loading on the built-in browser. Once the page is finished loading, you can click “Auto-detect webpage data” in the Tips panel to let Octoparse scan and detect extractable automatically. Octoparse will highlight all detected data on the page for you to preview. If there are any unwanted data, you can remove these data fields in the Data Preview panel at the bottom.

Along with the auto-detection process, you can also select wanted data manually. Click on the wanted data on the page, after all the chosen data turns green, click “Extract data” in the Tips box. Then you can view the data fields you selected at the bottom.

There are some websites that fail to open in a new tab after clicking. Grubhub is one of them. If you want to scrape data from a list of detail pages, you need to address this before launching the scraper.

Here you need to add another Click Item. Click the Go Back button on the page, then select the Click element in the Tips panel. Now you have an action called “Click Item 1” inside the Loop Item box under the Extract Data. The final workflow will look like this:

Step 4: Run the task and export the data

Once you’ve double-checked all the details, click “Save” first to save all the settings you’ve made. Then, click “Run” to run the task either on your local device or Octoparse’s cloud servers. Cloud servers can process your task faster even if it’s a big project when running locally is more suitable for small ones.

Wait until the task is completed, then you can export scraped data as local files like Excel, CSV, or JSON files, or a database like Google Sheets for further use.

Still have questions about Grabhub scraping? Read the tutorial here: Scrape restaurant info from Grubhub.


Grubhub is a goldmine for restaurant owners. You can find almost everything about a restaurant on this website. But to make the most use of this information, you need the help of web scraping. Tools like Octoparse can let you grab thousands of rows of data in one go. With this valuable data, you can optimize the strategy to boost your business.

Hot posts

Explore topics

Get web automation tips right into your inbox
Subscribe to get Octoparse monthly newsletters about web scraping solutions, product updates, etc.

Get started with Octoparse today


Related Articles