Hotel Price History: Why You Can't Find It, Where It Actually Exists, and How to Build Your Own
This guide explains why no booking site publishes hotel price history, maps the four places it actually exists, reads the national index, and shows the daily poll that builds a history you own.
Table of contents

Hotel price history is the one thing the booking sites never show you.
Flights come with price graphs and "book now or wait" advice; hotels come with today's rate and nothing about last week's.
The trackers don't fix it.
Google's hotel price tracking sends alerts from the day you switch it on, consumer trackers start recording when you add a hotel, and the one place that shows a genuine price history (Google's Hotel Center) shows it only to the hotel that set the prices.
This guide explains why the history is missing, maps the four places it actually exists, reads the national index for how much prices have moved, and shows the daily poll that builds a history you own.
Key Takeaways
- No booking site publishes past hotel rates. Every price you see is today's price for a future date, and yesterday's price for that date is gone.
- Trackers start at zero. Google's tracking and consumer apps begin recording the day you add a hotel, so their "history" is as old as your interest.
- The national index is public. The U.S. CPI series for hotels and motels was up 2.6% in July 2026 against July 2025, and swings about 19% between January and May inside a year.
- Market snapshots exist weekly. Aggregate pages like a London average of $347 across 60 properties give a baseline without naming a hotel.
- The history you want is built by polling. One prices call a day, appended to a table, becomes a rate history no one sells after 90 days.
Why Hotel Price History Is So Hard to Find

The missing graph has three causes, and none of them is a booking site being difficult.
A hotel price isn't one number.
A flight has a fare per seat class; a hotel has a rate per room type, per rate plan, per check-in date, per length of stay, per guest count.
"The price of the Lisbon hotel in October" is a surface with thousands of points, and there's no single line to draw through it.
No one stores the surface.
Booking sites compute today's rates on request and display them, and yesterday's display is overwritten.
The history exists inside the hotel's own systems (its revenue management tool knows every rate it ever loaded), which is why Google's Hotel Center lets a hotel view its own price history and no one else's.
The trackers watch forward, not back.
Google launched hotel price tracking in 2025 as an alert feature: toggle it on for a search and Google emails you when the rate drops.
Consumer trackers work the same way, and our hotel price tracker guide compares them; all of them begin their "history" the day you start watching.
So the question splits.
For a hotel you started tracking, the history begins at your first check.
For everything else, it lives in one of four places.
The Four Places Historical Hotel Prices Actually Exist

| Source | Whose History | How Far Back | Fit |
|---|---|---|---|
| Google Hotel Center | Your own hotel's rates, as you sent them to Google | As long as you've fed prices | Hoteliers auditing their own rate loads |
| Consumer trackers | Hotels you added, at the dates you searched | From the day you added them | Travelers deciding whether to wait |
| Industry indexes and benchmarks | National or market averages of what guests paid | Decades for the CPI; years for paid benchmarks | Analysts and revenue teams sizing a trend |
| Your own stored pulls | Any hotel, any dates, at the cadence you chose | From the day you started polling | Anyone who needs property-level history |
The first two are narrow by design.
Hotel Center is a mirror for one hotel, and trackers are a diary of one traveler's searches, with no way to ask what a property charged before you cared.
The third is real history and it's free, which is why the next section reads it.
The fourth is the only source that answers property-level questions about the past, and it only exists if someone built it, which is why the section after that shows how.
How Much Have Hotel Prices Gone Up? What the Index Says

The U.S. Bureau of Labor Statistics publishes a consumer price index for hotels and motels, and it's the one hotel price history that goes back decades.
Here's the recent shape, from the BLS series (index points, not seasonally adjusted):
| Period | Index Value | What It Shows |
|---|---|---|
| July 2025 | 386.9 | Baseline for the year-over-year comparison |
| July 2026 | 396.9 | Up 2.6% on the year |
| 2024 annual average | 387.1 | The prior full year |
| 2025 annual average | 379.9 | Down 1.9% year on year |
| January 2026 | 358.1 | The seasonal floor |
| May 2026 | 426.2 | The seasonal peak, about 19% above January |
Two readings matter.
Year on year, hotel prices rose 2.6% between July 2025 and July 2026, after a full-year average that fell 1.9% from 2024 to 2025.
So "how much have hotel prices gone up" has a sourced answer, and it's smaller than the seasonal swing.
Inside a year, the same index moves about 19% from its January floor to its May peak.
That swing is bigger than any recent annual change, which is the fact most useful to a traveler: the month you travel moves the price more than the year does.
What the index can't tell you: anything about one hotel, one city, or one room type.
It's a national average of what guests paid, and property-level questions need the two sources below.
For paid market benchmarks (occupancy, average daily rate, revenue per available room by market), our STR report guide explains what they contain and what they cost.
Market-Level History: Weekly Snapshots

Between a national index and a single hotel sits the market snapshot: an aggregate of what a city's hotels charge for a fixed stay, refreshed on a schedule.
StayAPI publishes these as market rate pages.
The London page this week shows an average nightly rate of $347 and a median of $342 across 60 properties for a two-night October stay, with a range from $157 to $766 and a distribution by price band, refreshed weekly from a live multi-provider search.
Every number on such a page is an aggregate, which is the point.
It answers "is $300 a night normal for London in October" without pretending to know one hotel's past, and the weekly refresh turns it into a market history over time.
The fit: a baseline for judging a quote, a sanity check on your own data, and a trend line per city once a few months of snapshots exist.
The limit: it's a market, not a property, and the snapshot dates are fixed.
Building Your Own Hotel Price History

Property-level history has exactly one source: a series you collect.
Hotel data APIs make each collection one call, and the whole build is a daily loop that appends a row.
The category works like this: a prices endpoint takes a hotel ID and dates and returns the current rate plans, so calling it every day for the same future stay records how that stay's price moved as the date approached.
StayAPI's Booking.com prices endpoint is one such call; the hotel price API guide covers the four shapes price data comes in, and this section only needs the loop.
import csv
import datetime as dt
import requests
BASE = "https://api.stayapi.com/v1"
HEADERS = {"x-api-key": "YOUR_API_KEY"}
HOTELS = ["4045490"] # Booking.com hotel IDs you track
STAY = ("2026-10-06", "2026-10-08") # the future stay you're watching
def pull(hotel_id):
r = requests.get(f"{BASE}/booking/hotel/prices", headers=HEADERS, params={
"hotel_id": hotel_id, "check_in": STAY[0], "check_out": STAY[1],
"adults": 2, "currency": "USD",
}, timeout=60)
r.raise_for_status()
d = r.json()["data"]
cheapest = min(d["rooms"], key=lambda x: x["price_per_night_value"]) if d["rooms"] else None
return {
"pulled_on": dt.date.today().isoformat(),
"hotel_id": hotel_id,
"check_in": STAY[0],
"price_per_night": d["pricing_summary"]["price_per_night_value"],
"is_soldout": d["is_soldout"],
"cheapest_room": cheapest["room_name"] if cheapest else None,
"refundable": cheapest["is_refundable"] if cheapest else None,
}
with open("rate_history.csv", "a", newline="") as f:
w = csv.DictWriter(f, fieldnames=["pulled_on", "hotel_id", "check_in",
"price_per_night", "is_soldout", "cheapest_room", "refundable"])
if f.tell() == 0:
w.writeheader()
for h in HOTELS:
w.writerow(pull(h))
Run it once a day (cron, a scheduled function, or a no-code scheduler) and the CSV becomes the history.
Today's row for the Lisbon hotel above reads $169.21 a night, 3 rooms available, cheapest room refundable; in 90 days you'll know what October did as October approached.
Store the fields that change the meaning of a price, not just the price.
The tax flag, the stay basis, and whether the cheapest room was refundable decide whether two rows are comparable, and the rate parity mistakes come from ignoring them.
For the forward-looking curve, chain calendars fill the gap today.
Radisson's price calendar endpoint returns the lowest public rate per arrival date across up to 60 days, and the Berlin Radisson Collection this week ran from $557 on October 1 to $196 on October 4 in one response, with the cheapest date marked.
That's the shape of the month ahead; your stored pulls are the shape of how it got there.
Parameters are in the Booking.com prices documentation and the Radisson price calendar documentation.
One tradeoff, stated plainly: a series you start today has no past, so the first useful read arrives after a season, not a week.
Do Hotel Prices Go Down Nearer the Date?
Sometimes, and the honest answer depends on the hotel, the season, and how full it is.
A half-empty hotel drops rates as the date approaches; a hotel filling up raises them, and the same property does both in different months.
The only defensible evidence is a series for that hotel and that season.
The calendar endpoint shows the current curve across arrival dates, and the daily poll shows how one date's price moved, which together answer the question for your hotel rather than for hotels in general.
Which History Source for Which Question
| Your Question | Source | Where |
|---|---|---|
| Is this quote normal for the city? | Market snapshot | Market rate pages |
| How much have hotel prices risen this year? | National index | BLS CPI series |
| What did my own hotel charge last spring? | Hotel Center | Your Google Hotel Center account |
| Should I wait for this hotel to drop? | Tracker or your own series | Google tracking, or the daily poll above |
| What did a competitor charge last quarter? | Your own stored pulls | A data API (StayAPI) polled daily |
The last row has no shortcut.
Competitor rate history exists only where someone stored it, which is why revenue teams start the poll before they need the answer.
Getting Started
- For a one-off "is this a good price," check the market page for your city and the national index above. That's a two-minute answer with no account.
- For your own history, sign up at stayapi.com. Free tier, no credit card.
- Preview a hotel's current partner offers with the free Google hotel info tool to pick the properties worth tracking.
- Run the loop above once by hand, check the CSV, then schedule it daily with cron or no-code platforms like N8N and Make.com.
- After a month, chart
price_per_nightbypulled_onper hotel in Google Sheets, Power BI, or Looker Studio, and you have the graph the booking sites never showed you. For portfolio-scale rate history across many hotels and booking sites, book a demo call.
FAQ
Is there a way to see historical hotel prices?
Not for an arbitrary hotel, because no booking site publishes past rates.
History exists in four places: a hotel's own Google Hotel Center, consumer trackers from the day you added a hotel, industry indexes like the CPI, and a series you collect yourself by polling a price API.
How much have hotel prices gone up?
The U.S. CPI index for hotels and motels was 2.6% higher in July 2026 than in July 2025, after a 2025 annual average 1.9% below 2024.
Inside a year the same index swings about 19% between its January floor and its May peak, so the month matters more than the year.
Is there a website to track hotel prices?
Yes, several: Google's hotel price tracking and a set of consumer trackers, all of which alert you to drops from the day you start watching.
Our hotel price tracker guide, linked above, compares them and explains what none of them can show.
Do hotel prices go down nearer the date?
Sometimes; a hotel with rooms to fill drops rates late, and a hotel filling up raises them.
The only reliable answer for a specific hotel comes from a price series for that property and season.
Can I get hotel price history from an API?
No API sells rate history for arbitrary hotels; price endpoints return today's rate for future dates.
Polling one daily and storing the rows builds the history, and after a season you own a dataset that doesn't exist anywhere else.
Ready to simplify your hotel data?
Join other developers using StayAPI to build the next generation of travel applications. Get started for free today.