Zomato Scraper: Restaurants, Ratings, Cuisine & Phone Numbers avatar

Zomato Scraper: Restaurants, Ratings, Cuisine & Phone Numbers

Pricing

from $1.32 / 1,000 restaurant records

Go to Apify Store
Zomato Scraper: Restaurants, Ratings, Cuisine & Phone Numbers

Zomato Scraper: Restaurants, Ratings, Cuisine & Phone Numbers

Scrape Zomato restaurants by city: name, rating, cuisine, address and rank. Add restaurant URLs for detail pages with phone number, price range for two, opening hours and menu link. Search mode lists top restaurants per city without phones. Built for lead generation and market research.

Pricing

from $1.32 / 1,000 restaurant records

Rating

0.0

(0)

Developer

GetAScraper

GetAScraper

Maintained by Community

Actor stats

0

Bookmarked

5

Total users

0

Monthly active users

4 days ago

Last modified

Share

🍽️ Zomato Scraper: Restaurants, Ratings, Cuisine & Phone Numbers

Comparing India's food delivery platforms beyond Zomato? This suite tracks restaurant listings and menu pricing across India's leading food delivery apps, so you can see Zomato's contact-rich detail records and Swiggy's location search side by side.
INDIA FOOD DELIVERY SUITE   •  Compare India's two biggest food delivery platforms
 Swiggy Scraper
Location-based restaurant search plus full menu pricing
 Zomato Scraper
➤ You are here
Get Zomato restaurant listings and phone numbers ready for your spreadsheet in minutes.
Search any Indian city for curated top restaurants, then add their URLs in Detail mode to pull each one's phone number, address, price range, hours, and a link to the menu.
🔍 City-wide discovery
Ranked restaurant lists for any Indian city, with cuisine, address, and rating included.
📞 Phone numbers included
Every restaurant opened in Detail mode comes with its public phone number, address, and coordinates.
💰 Price and hours
Price range for two and opening hours, before you ever pick up the phone.
🔗 Menu links included
Every detail record carries a direct link to the restaurant's live menu.

No login required, and it works for any Indian city Zomato covers. Search mode pulls Zomato's curated top restaurant lists for a city, and Detail mode fills in the full record for the restaurants you care about.


🔍 What does Zomato Scraper do?

This Actor runs in two modes:

  • Search mode returns Zomato's curated top restaurant lists for a city: name, rank, cuisine, address, rating and review count. Querying both list types roughly doubles unique coverage per city.
  • Detail mode returns the full record for specific restaurants: exact address, geo coordinates, phone number, price range for two, opening hours, rating, review count and a link to the menu.

Chain the two together: run Search mode to find restaurants, then feed their URLs into Detail mode to enrich only the ones you need.


💡 Why use Zomato Scraper

  • I am a market researcher studying India's restaurant industry, looking to compare cuisine mix, ratings, and pricing across cities in order to build sector reports for clients.
  • I am building a restaurant discovery app, looking to seed my directory with clean starter data in order to skip weeks of manual data entry.
  • I am a lead-gen specialist or B2B sales rep selling POS systems, delivery integrations, or supplies, looking to pull restaurant phone numbers and addresses in order to build an outreach list without manual lookup.
  • I am a marketing agency working with restaurant clients, looking to map cuisine density and rating patterns across a city in order to pitch data-backed recommendations.

🚀 How to use Zomato Scraper

STEP 1
Pick a city and mode
Choose an Indian city for Search mode, or paste restaurant URLs for Detail mode.
STEP 2
Start the run
Zomato's public pages load automatically. No login and no account setup needed.
STEP 3
Export your data
Download clean rows as CSV, JSON, or Excel, ready for your spreadsheet or CRM.

📥 Input

FieldTypeRequiredDescription
modeenumNoChoose Search (city listings) or Detail (specific restaurants). Defaults to Search.
citystringNoZomato city slug to search, e.g. bangalore, mumbai, delhi. Used only in Search mode.
listTypesarray of enumsNoWhich curated city lists to pull: all restaurants, best restaurants, or both. Defaults to both.
restaurantUrlsarray of URLsNoZomato restaurant URLs or their paths to enrich. Used only in Detail mode.
maxItemsintegerNoMaximum number of records saved to your dataset. Defaults to 18, which is everything Search mode can return for one city (about 9 restaurants per listing type). In Detail mode it caps how many of your URLs are processed, so raise it or use 0 for no limit.
proxyConfigurationobjectNoProxy settings. Datacenter proxy is enough for Zomato.

📤 Output

Each row represents one restaurant, either a ranked listing from Search mode or a full record from Detail mode. Only fields genuinely present on the page are included, so your dataset stays clean.

Here is a realistic example of a Detail mode row:

{
"rowType": "detail",
"name": "Cajsa - ITC Gardenia",
"city": "bangalore",
"cuisine": "European, Asian, Continental",
"address": "ITC Gardenia, Residency Road, Bangalore",
"locality": "Residency Road",
"country": "India",
"ratingValue": 4.6,
"reviewCount": 1284,
"restaurantUrl": "https://www.zomato.com/bangalore/cajsa-itc-gardenia-residency-road-bangalore",
"latitude": 12.9698,
"longitude": 77.6089,
"telephone": "+91 80 6660 6161",
"priceRangeForTwo": "₹4,500 for two",
"openingHours": "12:30 PM to 3:00 PM, 7:00 PM to 11:30 PM (Mon-Sun)",
"menuUrl": "https://www.zomato.com/bangalore/cajsa-itc-gardenia-residency-road-bangalore/menu"
}

📋 Data table

FieldTypeDescription
rowTypestringRecord type, "listing" for Search mode rows or "detail" for Detail mode rows.
rankintegerPosition of the restaurant in Zomato's ranked city list (Search mode only).
namestringRestaurant name.
citystringZomato city slug the restaurant was found in.
listTypestringWhich curated list surfaced this restaurant, "restaurants" or "best-restaurants" (Search mode only).
cuisinestringCuisine types served, as listed on Zomato.
addressstringFull street address of the restaurant.
localitystringNeighborhood or area within the city.
countrystringCountry the restaurant operates in.
ratingValuenumberZomato rating out of 5.
reviewCountintegerNumber of user reviews behind the rating.
imageUrlstringRestaurant's primary listing image URL.
restaurantUrlstringDirect link to the restaurant's Zomato page.
latitudenumberGeographic latitude coordinate.
longitudenumberGeographic longitude coordinate.
telephonestringRestaurant's public contact phone number (Detail mode only).
priceRangeForTwostringApproximate cost for two people, as shown on Zomato.
openingHoursstringRestaurant's listed opening hours.
menuUrlstringDirect link to the restaurant's live menu on Zomato.

💰 Pricing

Pricing is pay per result, billed per restaurant record saved to your dataset. Empty runs cost nothing, and there are no monthly subscriptions or hidden fees.


⭐ Enjoying Zomato Scraper?

⭐ ⭐ ⭐ ⭐ ⭐
Save hours of manually browsing Zomato for restaurant names, ratings, and contact details.
A 5-star rating takes 10 seconds and helps other market researchers and lead-gen teams find a reliable Zomato data source. Your feedback also tells us what to build next.
★  Rate this Actor on Apify

🛠️ Tips and optimization

  • Query both list types: "All restaurants" and "Best restaurants" surface different top picks, so requesting both roughly doubles unique coverage per city.
  • Chain search into detail: Copy the restaurantUrl values from a Search mode run into restaurantUrls for a Detail mode run to enrich only the restaurants you actually need.
  • Need phone numbers?: Only Detail mode returns them. Run Search mode first to find restaurant URLs, then feed those into Detail mode.
  • Cap your spend: Set maxItems to stop the run once you have reached the record count you need. Search mode returns about 9 restaurants per listing type (about 18 per city), so the default of 18 already covers it; for Detail mode, raise it to match the number of URLs you supply.

❓ FAQ

Does it get blocked?

Zomato serves plain pages with no bot-detection challenge, so a standard datacenter proxy is enough. You do not need to pay for residential IPs.

Does it extract private phone numbers?

No. Every phone number, address, and rating comes from Zomato's own public restaurant pages, the same information any visitor sees without logging in.

Can I use this for lead generation?

Yes. Detail mode returns each restaurant's public phone number and address straight from its live Zomato page. Search mode alone does not include phone numbers, so feed its restaurant URLs into Detail mode first.

How fresh is the data?

Every run fetches restaurant pages live from Zomato the moment you start it, so ratings, review counts, and hours reflect what is on the site right now.

Does search mode cover every restaurant in a city?

Search mode returns Zomato's curated top restaurant lists for a city, not its entire directory: about 9 restaurants per listing type, so about 18 per city with both types. Querying both list types roughly doubles unique coverage. For a specific restaurant that is not in those lists, add its URL directly in Detail mode.


🛡️ Disclaimers and support

  • Disclaimer: This is an independent scraper that retrieves publicly available information. It is not affiliated with, endorsed by, or sponsored by Zomato Media Private Limited.
  • Support: For bug reports, feature requests, or custom field additions, please open a ticket under the Issues tab.

🔗 Other actors