Oyo Hotel Listings Extractor avatar

Oyo Hotel Listings Extractor

Pricing

from $2.99 / 1,000 results

Go to Apify Store
Oyo Hotel Listings Extractor

Oyo Hotel Listings Extractor

OYO hotel scraper that extracts hotel listings, live room prices, guest ratings, amenities, and location data from any city by search URL or city ID, so travel and revenue teams can gather OYO data without copying it by hand.

Pricing

from $2.99 / 1,000 results

Rating

0.0

(0)

Developer

Kawsar

Kawsar

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Categories

Share

OYO Hotel Listings Extractor: Scrape OYO Hotels, Prices, and Ratings

OYO Hotel Listings Extractor is an OYO hotel scraper that pulls complete hotel listings straight from OYO search results. Give it an OYO search URL or a city ID with your travel dates, and it returns every hotel in that city with live room prices, guest ratings, amenities, photos, and exact map coordinates. There is no manual copying and no browser clicking, just clean structured hotel data you can export and use right away.

The actor talks to the same search API the OYO website uses, pages through all the results for you, and returns one tidy record per hotel that drops straight into a spreadsheet, a dashboard, or a database.

Why use this actor

Checking OYO prices by hand is slow, and the numbers change with your dates. This actor does the boring part for you. Point it at a city, set your check-in and check-out, and you get the full list of properties with the price you would actually pay, the crossed-out original price, and the guest rating next to each one. Run it once for a snapshot, or schedule it to watch how prices move over days and weeks.

  • Search a whole city in one run, not one hotel at a time
  • Prices reflect your exact dates, so you see real bookable rates
  • Both the current price and the original slashed price are captured
  • Output is ready for Excel, Google Sheets, Power BI, or your own code
  • Runs on a schedule and connects to Make, Zapier, and 5000+ other tools

Use cases

  • Hotel price monitoring: track OYO room prices and discounts across a city so you can spot rate changes over time and act on them.
  • Competitor rate research: see how nearby OYO properties are priced and rated before you set your own room rates.
  • Travel and market analysis: build a dataset of budget hotels by city, category, and guest rating for reports or dashboards.
  • Supplier and lead lists: collect OYO hotel names, addresses, phone-free contact points, and map links in one export.
  • Data enrichment: add live ratings, amenities, and coordinates to an existing list of hotels you already track.
  • Academic and market studies: gather structured budget-hotel data across regions for pricing or hospitality research.

How to use OYO Hotel Listings Extractor

  1. Open oyorooms.com and search for the city you want.
  2. Copy the search URL from your browser address bar.
  3. Paste it into the OYO search URLs field of this actor.
  4. Set your check-in and check-out dates (or leave them empty to use tomorrow and the day after).
  5. Set Maximum hotels to control how many listings you collect.
  6. Click Start and download your results as JSON, CSV, or Excel when the run finishes.

You do not have to use a URL. If you already know the OYO city ID (the filters[city_id] value in any search URL), you can type it into the City ID field instead and skip the copy-paste.

Input

You can provide an OYO search URL, or a city ID with dates. If both are given, the URLs take priority.

ParameterTypeDefaultDescription
startUrlsarrayemptyOYO search result page URLs. The actor reads the city and stay dates from each URL. Add several to scrape multiple cities in one run.
cityIdstringemptyOYO internal city ID, used when no URL is given. Found as filters[city_id] in a search URL (for example, 12 is Chennai).
checkInstringtomorrowCheck-in date in DD/MM/YYYY format. A date read from a URL takes priority.
checkOutstringday after check-inCheck-out date in DD/MM/YYYY format. A date read from a URL takes priority.
roomsConfigstring1,0,0Rooms and guests as adults,children,rooms. For example, 2,1,1 means two adults, one child, one room.
localestringenResponse language for hotel content. Supports English, Hindi, Indonesian, Malay, and Arabic.
maxItemsinteger100Maximum hotels to extract per run. Hard cap is 1000.
requestTimeoutSecsinteger30Per-request timeout in seconds.
proxyConfigurationobjectDatacenter (Anywhere)Proxy type and location for requests. Supports Datacenter, Residential, Special, and custom proxies. Optional.

Example input

{
"startUrls": [
"https://www.oyorooms.com/search/?location=Chennai%2C+Tamil+Nadu%2C+India&filters%5Bcity_id%5D=12&country=india"
],
"checkIn": "05/09/2026",
"checkOut": "06/09/2026",
"roomsConfig": "1,0,0",
"maxItems": 100,
"proxyConfiguration": { "useApifyProxy": true }
}

What data does this actor extract?

The actor stores one record per hotel in the dataset. A sample record looks like this:

{
"hotelId": "381241",
"oyoId": "CHN2698",
"name": "Hotel O Red Hill Chennai",
"hotelNameWithoutCategory": "Red Hill Chennai",
"category": "POP",
"hotelType": "Hotel",
"status": "Live",
"address": "Plot No 911, Redhills, Chennai",
"street": "Plot No 911, Vishwa 5th Cross Street",
"city": "Chennai",
"countryName": "India",
"geoLocation": "Redhills",
"latitude": 13.1910171,
"longitude": 80.1601531,
"mapLink": "https://google.co.in/maps?q=13.1910171,80.1601531",
"suggestedPrice": 2892,
"slasherPrice": 4131,
"extraBedPrice": 468,
"currencyCode": "INR",
"currencySymbol": "₹",
"ratingValue": 4.4,
"ratingCount": 118,
"ratingLevel": "verygood",
"amenities": ["Free Wifi", "AC", "TV", "Power backup", "Geyser"],
"bestImage": "https://images.oyoroomscdn.com/uploads/hotel_image/381241/rxnyfwlioduj.jpg",
"images": ["https://images.oyoroomscdn.com/uploads/hotel_image/381241/rxnyfwlioduj.jpg"],
"hotelUrl": "https://www.oyorooms.com/CHN2698/",
"sourceCityId": "12",
"checkIn": "05/09/2026",
"checkOut": "06/09/2026",
"scrapedAt": "2026-09-05T10:00:00+00:00"
}
FieldTypeDescription
hotelIdstringOYO internal numeric hotel ID.
oyoIdstringPublic OYO hotel code, for example CHN2698.
namestringFull hotel name including the OYO category label.
hotelNameWithoutCategorystringHotel name without the category prefix.
categorystringOYO product category such as POP, Townhouse, or Collection O.
hotelTypestringProperty type, for example Hotel or Home.
statusstringListing availability status returned by OYO.
addressstringFull street address of the hotel.
streetstringStreet portion of the address.
citystringCity where the hotel is located.
countryNamestringCountry where the hotel is located.
geoLocationstringNeighborhood or area label.
latitudenumberLatitude coordinate.
longitudenumberLongitude coordinate.
mapLinkstringGoogle Maps link to the location.
suggestedPricenumberCurrent nightly price for the default occupancy.
slasherPricenumberOriginal crossed-out price before discount.
extraBedPricenumberPrice of an extra bed for the stay.
currencyCodestringISO currency code, for example INR.
currencySymbolstringCurrency symbol used in the listing.
ratingValuenumberAverage guest rating.
ratingCountintegerNumber of guest ratings.
ratingLevelstringRating label such as verygood or excellent.
amenitiesarrayAmenity names available at the hotel.
bestImagestringURL of the primary hotel image.
imagesarrayAll hotel image URLs.
hotelUrlstringDirect link to the hotel page on oyorooms.com.
sourceCityIdstringCity ID used for the search that returned this hotel.
checkInstringCheck-in date used for pricing and availability.
checkOutstringCheck-out date used for pricing and availability.
scrapedAtstringUTC timestamp when the record was extracted.

How it works

  1. It reads the city and dates from each search URL you provide, or from the city ID and dates you enter.
  2. It calls OYO's public search API for that city and stay period.
  3. It pages through the results in batches until it reaches the total count or your maxItems limit.
  4. It cleans each raw hotel object into a flat, consistent record with prices, ratings, amenities, and coordinates.
  5. It saves every record to the dataset, ready to download or push to your own systems.

Tips for best results

  • Set real dates. Prices depend on check-in and check-out, so use the dates you actually care about.
  • Scrape several cities at once. Add multiple search URLs to startUrls and the actor processes each one in order.
  • Keep runs small while testing. Start with a low maxItems value to preview the data before a full run.
  • Switch proxies if blocked. The default datacenter proxy works for most runs; move to residential proxies if you see failures.
  • Schedule it. Use Apify Schedules to run daily and build a price history over time.

Output formats and exporting

Results are stored in an Apify dataset. You can download them as JSON, CSV, Excel, HTML, or XML from the run's Storage tab, or fetch them programmatically through the Apify API. The overview table view shows the key columns (OYO ID, name, city, category, price, rating, and URL) at a glance.

Integrations

Connect OYO Hotel Listings Extractor with other apps and services using Apify integrations. You can integrate with Make, Zapier, Slack, Airbyte, GitHub, Google Sheets, Google Drive, and many more. You can also use webhooks to trigger actions whenever results are available, for example sending fresh prices to a spreadsheet after each scheduled run.

FAQ

Where do I find the city ID? Search any city on oyorooms.com, then look at the address bar. The number after filters[city_id] is the city ID. You can also paste the whole search URL into startUrls and skip the lookup entirely.

Can I scrape more than one city in a single run? Yes. Add several OYO search URLs to startUrls and the actor processes each until it reaches maxItems.

Does it return live prices? Yes. Prices depend on your check-in and check-out dates, so set them to the dates you want. Both the current price and the original slashed price are included.

How many hotels can it return per run? Up to 1000 per run. Use maxItems to keep runs small and fast when you only need a sample.

Do I need a proxy? Not always. The default datacenter proxy works for most runs. Switch to residential proxies if you start seeing blocks.

In what currency are prices returned? Prices come back in the local currency of the searched city, with both the ISO code (for example INR) and the symbol included in every record.

Is this actor allowed to scrape OYO? The actor collects publicly available listing data. You are responsible for using the data in line with OYO's terms and any laws that apply to you.

This actor extracts publicly accessible information from OYO search results. It does not collect personal data, and it does not bypass logins or paywalls. Please review OYO's terms of service and use the collected data responsibly and in compliance with applicable laws.

Start extracting OYO hotel listings, prices, and ratings today, and turn OYO search pages into a clean dataset you can actually work with.