Swiggy Dineout Restaurants Scraper
Pricing
$4.45 / 1,000 restaurant listings
Swiggy Dineout Restaurants Scraper
Find public Dineout restaurant listings for one location. Get names, public pages, cuisines, addresses, ratings, cost for two, offers, distance, and image links when published. Narrow the search by cuisine or dish, or show only venues with dining offers.
Pricing
$4.45 / 1,000 restaurant listings
Rating
0.0
(0)
Developer
Maxime Dupré
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
6 days ago
Last modified
Categories
Share
🍽️ Find Dineout restaurants by location
Restaurant researchers, local teams, and developers can use Dineout to find public restaurant listings for one location. Save structured rows with names, public pages, locations, cuisines, ratings, cost for two, offers, distance, and public media when those details are published.
Start with one of these focused runs:
- Find public Dineout listings for one location with Dineout Restaurant Listings.
- Compare cost-for-two details across venues with Restaurant Listings With Prices.
- Keep only venues with current dining offers with Restaurants With Offers.
- Narrow a location search by cuisine or dish with Restaurants By Cuisine.
- Browse public restaurant listings in New Delhi with Restaurants In New Delhi.
📍 Dineout restaurant listing data
The default dataset contains structured restaurant listing rows for the selected location. Each row keeps public venue details together so you can review locations, cuisines, prices, ratings, offers, and media in one place when the source publishes them.
▶️ Run a Dineout location search
Run flow
- Enter one location such as
Bangalore. - Add one optional cuisine or dish keyword to narrow the search.
- Turn on Dining offers only to keep venues with a currently published dining offer.
- Set Maximum listings, or leave it empty to return all available listings until the source is exhausted.
- Start the run and open the default dataset or its API link.
The Actor uses public listing data and does not require source credentials or private account access. Results depend on what Dineout publishes for the selected location.
⚙️ Input
Input fields
| Field | Type | What it does |
|---|---|---|
location | string | One location to search for public Dineout restaurant listings. |
keyword | string | Optional cuisine or dish keyword to narrow results for the selected location. |
offersOnly | boolean | When true, keep only venues with a currently published dining offer. When false, include all matching venues. |
maxItems | integer | Optional cap on eligible public listings. Leave it empty to return all available listings until the source is exhausted. |
Successful default input
This example is copied from the public input of a successful hosted default-input run.
{"location": "Bangalore","offersOnly": false,"maxItems": 20}
🧾 Output
Dataset link
| Field | Type | What it does |
|---|---|---|
dataset | string | Link to the default dataset that contains the restaurant listing rows. |
Restaurant listing fields
| Field | Type | What it does |
|---|---|---|
name | string | Public restaurant name. |
publicPageUrl | string | Public Dineout page URL for the restaurant. |
location | object | Public address and place details. |
location.city | string | Public city, when published. |
location.neighborhood | string | Public neighborhood, when published. |
location.address | string | Public street address. |
location.coordinates | object | Public geographic coordinates, when published. |
location.coordinates.latitude | number | Public latitude. |
location.coordinates.longitude | number | Public longitude. |
location.distanceFromLocation | object | Public distance from the selected location, when published. |
location.distanceFromLocation.value | number | Published distance value. |
location.distanceFromLocation.unit | string | Unit for the distance, such as m or km. |
cuisines | array of string | Public cuisine labels. |
costForTwo | object | Public cost for two, when published. |
costForTwo.amount | number | Published cost amount for two people. |
costForTwo.currency | string | Currency for the published cost amount. |
ratings | object | Public rating context, when published. |
ratings.overall | object | Public overall rating and review count. |
ratings.overall.score | number | Published overall rating score. |
ratings.overall.reviewCount | integer | Published number of overall reviews. |
paymentAvailable | boolean | Whether the public listing indicates payment is available, when published. |
highlights | array of string | Public highlights shown for the restaurant, when available. |
offerHeadings | array of string | Public headings for dining offers shown by the listing, when available. |
venueTypes | array of string | Public venue type labels, when available. |
serviceAvailability | object | Public service availability signals, when available. |
serviceAvailability.dining | boolean | Whether the public listing indicates dining service is available. |
media | object | Public image links and source-published image counts, when available. |
media.imageUrls | array of string | Public image URLs for the restaurant. |
media.imageCount | integer | Image count published by the source. |
Example restaurant row
This shortened row is copied from a successful hosted default-input run. The live row had 53 image URLs, so media.imageUrls uses the JSON string "..." as an omission marker. The other shown values are genuine, so this is not a complete row.
{"name": "Plan B","publicPageUrl": "https://www.swiggy.com/restaurants/plan-b-ashok-nagar-bangalore-14360/dineout","location": {"city": "Bangalore","neighborhood": "Ashok Nagar","address": "Thomas Building, Ashok Nagar, Bangalore","distanceFromLocation": {"value": 5.1,"unit": "km"},"coordinates": {"latitude": 12.9696394,"longitude": 77.60653272}},"cuisines": ["American","Italian"],"costForTwo": {"amount": 1300,"currency": "INR"},"ratings": {"overall": {"score": 4.1,"reviewCount": 5084}},"paymentAvailable": true,"highlights": ["Alcohol served","Reservation available","Parking available","Valet parking","Smoking area","SwiggyPay accepted","Spicy Potato Wedges","Juicy Lucy","Crispy Bacon","Cheesy Garlic Fries"],"offerHeadings": ["Flat 50% off","TODAY’S \nDISCOUNT","Get extra ₹100 off using PAYTMUPI","Flat 50% off on Total Bill","Flat 45% off on Total Bill","Flat 40% off on Total Bill","Flat 5% off on Total Bill","Flat 10% off on total bill"],"venueTypes": ["RESTAURANT_TYPE_PARTICIPATING"],"serviceAvailability": {"dining": true},"media": {"imageUrls": "...","imageCount": 53}}
💳 Pricing
Per-listing charge
The Actor uses pay-per-event pricing. You pay $0.00445 for each successfully saved public restaurant listing. A run with no saved listing does not trigger this event.
🔌 Integrations
Dataset and API
Open the default dataset from the run or use the Apify dataset API to read the structured rows.
Video walkthrough
❓ FAQ
Can I search more than one location in one run?
No. Each run takes one location. Use separate runs for separate locations.
Can I narrow the search by cuisine or dish?
Yes. Enter one optional keyword to narrow restaurant listings for the selected location.
What does Dining offers only do?
When enabled, the dataset keeps venues with a currently published dining offer. It does not book or pay for a meal.
Will every listing include ratings, distance, and images?
Not always. These fields appear when Dineout publishes them for a listing. Required identity, address, and cuisine fields follow the public schema.
What happens if public Dineout data is unavailable?
Results are not guaranteed for every location. If public access or listing extraction fails, the Actor does not emit partial or diagnostic venue rows.
Do I need a Dineout login or API key?
No. The Actor uses public listing data and does not ask for source credentials or private account access.
📝 Changelog
v0.0 (19-09-2026)
- Initial release.
🆘 Support
For issues, questions, or feature requests, file a ticket and I'll fix or implement it in less than 24h 🫡
🔗 Related Actors
- OpenTable + Resy Scraper: Export public restaurant profiles, ratings, prices, and photos from OpenTable and Resy.
- Google Maps Shared List Scraper: Turn public saved place lists into structured restaurant and venue rows.
- Yelp Business Review Scraper: Collect full-text public Yelp reviews and ratings for restaurant research.
- DoorDash Reviews Scraper: Extract public review previews from DoorDash store pages.
- NYC + Chicago Restaurant Inspections Scraper: Search public restaurant inspections, grades, scores, and violations in New York City or Chicago.
Made with ❤️ by Maxime Dupré