🎉 Developer Free Trial — 1 week of full API access, no credit card required. Claim your trial →
Guide

India hotel price data: what US-centric travel data stacks get wrong

Most travel data tooling is built around US and European sources. Point it at Indian OTAs and the obvious parts work, but four India-specific details quietly break comparisons: how the market's brands are grouped, the GST threshold, Indian number formatting, and point of sale.

Published 18 September 2026

1. One group, several storefronts

MakeMyTrip Limited operates MakeMyTrip, Goibibo and redBus as separate brands, each with its own website and apps. Belonging to one group does not make them one source. Treat each storefront as its own row in your data, and measure whether their prices for the same room and dates match for your use case rather than assuming it.

2. The GST threshold changes the tax rate, not just the amount

Since 22 September 2025, GST on hotel accommodation is 5% (without input tax credit) where the transaction value is ₹7,500 or less per unit per day, and 18% above that. Because the test is the price actually charged, a discount that takes a room from ₹7,600 to ₹7,400 cuts the all-in price from ₹8,968 to ₹7,770. A pipeline that compares pre-tax prices misreads that gap badly. The full normalisation checklist is in why two hotel prices aren't comparable.

3. Indian number formatting breaks naive parsers

Indian pages group digits in lakhs and crores: one lakh twenty-three thousand four hundred and fifty-six is written 1,23,456, not 123,456. Currency shows up as ₹, "Rs." or "INR" depending on the page and the app version.

4. Point of sale decides the price you collect

The same property on the same dates can be priced differently depending on the market a request appears to come from: currency, locale and the traveller's country all feed in. If your collector runs from a server abroad, you may be recording the price a foreign visitor sees, not the one an Indian traveller sees. Set the point of sale explicitly, record it on every row, and never compare rows collected from different points of sale.

A short checklist for Indian sources

1
Key hotels on a stable ID, not names; transliterated names drift across OTAs. See matching hotels across OTAs.
2
Record the brand storefront for every row, even within one corporate group.
3
Store pre-tax price, tax and total, and recompute GST yourself as a cross-check around the ₹7,500 line.
4
Parse numbers India-aware, and keep the raw string during rollout.
5
Pin the point of sale and currency on every request and every row.

How ScrapeGuys handles it

Full disclosure: this is our product, and we are based in Bengaluru, so Indian sources are home ground for us. There are dedicated APIs for MakeMyTrip Hotels and MakeMyTrip Flights, alongside Agoda, Booking.com and Expedia. Per-room-type Goibibo prices are available through the OTA Hotel Rates API, and the Google Hotels API returns 12 to 25 OTAs per hotel, including MakeMyTrip and Goibibo, keyed on a Place ID so hotels are never matched by name. Everything returns structured JSON with prices already parsed. See the FAQ for coverage details.

Where we are not the answer: if you need historical Indian hotel prices going back years, a live scraping API cannot produce them after the fact. Start collecting now, or buy a historical dataset.

Questions we get about this

They are separate brands operated by the same group, MakeMyTrip Limited, which also runs redBus. Treat them as separate sources in your data.

Indian pages group digits in lakhs (1,23,456) rather than thousands (123,456). Strip grouping separators before parsing instead of relying on a three-digit grouping pattern.

If you want the price an Indian traveller sees, yes. Prices can vary by the market a request appears to come from, so set and record the point of sale explicitly.

Since 22 September 2025 the rate is 5% up to ₹7,500 per unit per day and 18% above. Two prices either side of that line are taxed at different rates, so compare all-in totals.

Sources