Oyo Hotel Listings Extractor
Pricing
from $2.99 / 1,000 results
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
Maintained by CommunityActor 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
- Open oyorooms.com and search for the city you want.
- Copy the search URL from your browser address bar.
- Paste it into the OYO search URLs field of this actor.
- Set your check-in and check-out dates (or leave them empty to use tomorrow and the day after).
- Set Maximum hotels to control how many listings you collect.
- 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.
| Parameter | Type | Default | Description |
|---|---|---|---|
startUrls | array | empty | OYO search result page URLs. The actor reads the city and stay dates from each URL. Add several to scrape multiple cities in one run. |
cityId | string | empty | OYO internal city ID, used when no URL is given. Found as filters[city_id] in a search URL (for example, 12 is Chennai). |
checkIn | string | tomorrow | Check-in date in DD/MM/YYYY format. A date read from a URL takes priority. |
checkOut | string | day after check-in | Check-out date in DD/MM/YYYY format. A date read from a URL takes priority. |
roomsConfig | string | 1,0,0 | Rooms and guests as adults,children,rooms. For example, 2,1,1 means two adults, one child, one room. |
locale | string | en | Response language for hotel content. Supports English, Hindi, Indonesian, Malay, and Arabic. |
maxItems | integer | 100 | Maximum hotels to extract per run. Hard cap is 1000. |
requestTimeoutSecs | integer | 30 | Per-request timeout in seconds. |
proxyConfiguration | object | Datacenter (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"}
| Field | Type | Description |
|---|---|---|
hotelId | string | OYO internal numeric hotel ID. |
oyoId | string | Public OYO hotel code, for example CHN2698. |
name | string | Full hotel name including the OYO category label. |
hotelNameWithoutCategory | string | Hotel name without the category prefix. |
category | string | OYO product category such as POP, Townhouse, or Collection O. |
hotelType | string | Property type, for example Hotel or Home. |
status | string | Listing availability status returned by OYO. |
address | string | Full street address of the hotel. |
street | string | Street portion of the address. |
city | string | City where the hotel is located. |
countryName | string | Country where the hotel is located. |
geoLocation | string | Neighborhood or area label. |
latitude | number | Latitude coordinate. |
longitude | number | Longitude coordinate. |
mapLink | string | Google Maps link to the location. |
suggestedPrice | number | Current nightly price for the default occupancy. |
slasherPrice | number | Original crossed-out price before discount. |
extraBedPrice | number | Price of an extra bed for the stay. |
currencyCode | string | ISO currency code, for example INR. |
currencySymbol | string | Currency symbol used in the listing. |
ratingValue | number | Average guest rating. |
ratingCount | integer | Number of guest ratings. |
ratingLevel | string | Rating label such as verygood or excellent. |
amenities | array | Amenity names available at the hotel. |
bestImage | string | URL of the primary hotel image. |
images | array | All hotel image URLs. |
hotelUrl | string | Direct link to the hotel page on oyorooms.com. |
sourceCityId | string | City ID used for the search that returned this hotel. |
checkIn | string | Check-in date used for pricing and availability. |
checkOut | string | Check-out date used for pricing and availability. |
scrapedAt | string | UTC timestamp when the record was extracted. |
How it works
- It reads the city and dates from each search URL you provide, or from the city ID and dates you enter.
- It calls OYO's public search API for that city and stay period.
- It pages through the results in batches until it reaches the total count or your
maxItemslimit. - It cleans each raw hotel object into a flat, consistent record with prices, ratings, amenities, and coordinates.
- 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
startUrlsand the actor processes each one in order. - Keep runs small while testing. Start with a low
maxItemsvalue 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.
Legal and responsible use
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.