Scraping GrubHub Data
GrubHub offers a wealth of information regarding local restaurants, menu items, prices & reviews - displaying all of this publicly on its mobile app & website! However, GrubHub does not offer an official API to access this data from, making it tricky to scrape this public data if it interests you.
Unofficial GrubHub API
Because GrubHub offers a mobile application & AJAX-driven website, we’re able to intercept its network traffic, revealing the API GrubHub uses to send and receive data between its clients and its servers. Since this API is showing public data, we could consider using it for scraping its data - as an alternative to HTML “screen scraping” from their website or even hiring someone to manually enter the data from GrubHub.
If you want to search for restaurants on GrubHub, you could emulate how its restaurant search feature works using the GrubHub Restaurant Search Formula, allowing you to enter latitude and longitude coordinates with search radiuses, so you can target the cities you’re interested in - just like the app and website.
Once you have a list of restaurants you’re interested in, you could then use the GrubHub Restaurant Details Formula to pass in a list of restaurants you’re interested in and get back the full menu in a bulk CSV file.
You can also get the reviews for individual restaurants, using the GrubHub Restaurants Endpoint - which will return the same review information you can publicly see on the GrubHub app and website.