Swiggy Dineout Restaurants Scraper avatar

Swiggy Dineout Restaurants Scraper

Pricing

$4.45 / 1,000 restaurant listings

Go to Apify Store
Swiggy Dineout Restaurants Scraper

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é

Maxime Dupré

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

6 days ago

Last modified

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:

📍 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 flow

  1. Enter one location such as Bangalore.
  2. Add one optional cuisine or dish keyword to narrow the search.
  3. Turn on Dining offers only to keep venues with a currently published dining offer.
  4. Set Maximum listings, or leave it empty to return all available listings until the source is exhausted.
  5. 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

FieldTypeWhat it does
locationstringOne location to search for public Dineout restaurant listings.
keywordstringOptional cuisine or dish keyword to narrow results for the selected location.
offersOnlybooleanWhen true, keep only venues with a currently published dining offer. When false, include all matching venues.
maxItemsintegerOptional 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

FieldTypeWhat it does
datasetstringLink to the default dataset that contains the restaurant listing rows.

Restaurant listing fields

FieldTypeWhat it does
namestringPublic restaurant name.
publicPageUrlstringPublic Dineout page URL for the restaurant.
locationobjectPublic address and place details.
location.citystringPublic city, when published.
location.neighborhoodstringPublic neighborhood, when published.
location.addressstringPublic street address.
location.coordinatesobjectPublic geographic coordinates, when published.
location.coordinates.latitudenumberPublic latitude.
location.coordinates.longitudenumberPublic longitude.
location.distanceFromLocationobjectPublic distance from the selected location, when published.
location.distanceFromLocation.valuenumberPublished distance value.
location.distanceFromLocation.unitstringUnit for the distance, such as m or km.
cuisinesarray of stringPublic cuisine labels.
costForTwoobjectPublic cost for two, when published.
costForTwo.amountnumberPublished cost amount for two people.
costForTwo.currencystringCurrency for the published cost amount.
ratingsobjectPublic rating context, when published.
ratings.overallobjectPublic overall rating and review count.
ratings.overall.scorenumberPublished overall rating score.
ratings.overall.reviewCountintegerPublished number of overall reviews.
paymentAvailablebooleanWhether the public listing indicates payment is available, when published.
highlightsarray of stringPublic highlights shown for the restaurant, when available.
offerHeadingsarray of stringPublic headings for dining offers shown by the listing, when available.
venueTypesarray of stringPublic venue type labels, when available.
serviceAvailabilityobjectPublic service availability signals, when available.
serviceAvailability.diningbooleanWhether the public listing indicates dining service is available.
mediaobjectPublic image links and source-published image counts, when available.
media.imageUrlsarray of stringPublic image URLs for the restaurant.
media.imageCountintegerImage 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 🫡

Made with ❤️ by Maxime Dupré