Airbnb Price Tracker - Airbnb Scraper for Prices and Ratings avatar

Airbnb Price Tracker - Airbnb Scraper for Prices and Ratings

Pricing

from $1.20 / 1,000 listings

Go to Apify Store
Airbnb Price Tracker - Airbnb Scraper for Prices and Ratings

Airbnb Price Tracker - Airbnb Scraper for Prices and Ratings

Airbnb price tracker and scraper: total and nightly prices, ratings, review counts, superhost and guest favorite flags for every listing in a city and date range. Flags new listings and price changes since your last run. No login, no API key.

Pricing

from $1.20 / 1,000 listings

Rating

0.0

(0)

Developer

Kamer Ozkan

Kamer Ozkan

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Share

Airbnb price tracker and Airbnb scraper in one: get the total price, nightly rate, rating, review count, superhost and guest favorite flags of every listing in a city for your dates, and see which listings are new and which prices changed since your last run.

What does Airbnb Price Tracker do?

It runs the same search a guest runs on airbnb.com (a city or area, check-in and check-out dates, number of guests, currency) and returns one clean row per listing, in Airbnb's own ranking order. Each row has the price for the whole stay including taxes and fees as Airbnb shows it, the nightly rate before discounts, the original price when a discount applies, the rating, the number of reviews, room and bed counts, coordinates and the listing URL.

With Track price changes between runs on (the default), the actor remembers the last price of every listing it has seen for that exact search. Schedule the same input every day and each row tells you the previous price, the change in money and in percent, and whether the listing is new in the results. Turn on Only output new listings and price changes to receive (and pay for) only what moved.

No login, no Airbnb account, no API key and no proxy setup are needed. It reads public search results only and does not collect host names, host photos or reviewer names.

Who is it for?

  • Short-term rental investors comparing what similar listings charge in a neighbourhood before buying.
  • Property managers and hosts watching competitor prices for the same dates every morning and adjusting their own rate.
  • Revenue and market analysts building price, rating and supply data for many cities and stay dates.
  • Travel agencies and price comparison sites that need current Airbnb totals for a destination and date range.

What data can you get?

FieldExample
roomId1227680005996192680
nameLuxury living near downtown
listingTypeHome in East Austin
locationAustin, TX
position1 (rank in Airbnb's results)
totalPrice663 (whole stay, as shown by Airbnb)
pricePerNight221 (nightly rate before discounts and taxes)
originalTotalPrice255 (only when a discount applies)
hasDiscountfalse
currencyUSD
rating4.98
reviewsCount94
isSuperhostfalse
isGuestFavoritetrue
isNewListingfalse (Airbnb's own "New" mark, no rating yet)
rooms3 bedrooms, 4 beds, 3 baths
freeCancellationtrue
latitude, longitude30.26997, -97.71789
checkIn, checkOut, nights, adults2026-12-04, 2026-12-07, 3, 4
previousTotalPrice663 (last run of the same search)
priceChange, priceChangePct0, 0
isNewSinceLastRunfalse
urlListing link with your dates and guests
thumbnailCover photo of the listing
scrapedAt2026-10-17T20:24:50+00:00

How much does it cost?

You pay only for listings: $1.50 per 1,000 listings on the Free plan, with lower prices on paid Apify plans. There is no charge per page or per search.

Worked example: a host tracks the 50 top listings in their area for one weekend, every day for 30 days. That is 50 x 30 = 1,500 listings, about $2.25 per month. With Only output new listings and price changes on, unchanged listings are skipped and not charged, so the same tracker usually costs less.

Set "Max listings in total" or a maximum cost per run to cap spending.

How to use it

  1. Click Try for free.
  2. Enter one or more locations as you would type them on Airbnb ("Lisbon, Portugal", "Austin, TX"), or paste an Airbnb search URL to keep its filters.
  3. Pick check-in and check-out dates, or leave check-in empty to always look 30 days ahead, and set the number of adults and the currency.
  4. Click Start, then download the results as JSON, CSV or Excel, or read them with the API.
  5. To track prices, save the input as a task and add a daily schedule. Keep the same location, dates, guests and currency, because price history is kept per exact search.

Input example

{
"locations": ["Austin, TX", "Barcelona, Spain"],
"checkIn": "2026-12-04",
"checkOut": "2026-12-07",
"adults": 4,
"currency": "USD",
"maxItemsPerLocation": 40,
"trackChanges": true,
"onlyChanges": false
}

Output example

Real row from a run on 2026-10-17 (second run of the same search, so the change fields are filled):

{
"roomId": "1227680005996192680",
"url": "https://www.airbnb.com/rooms/1227680005996192680?check_in=2026-12-04&check_out=2026-12-07&adults=4",
"name": "Luxury living near downtown",
"listingType": "Home in East Austin",
"location": "Austin, TX",
"position": 1,
"latitude": 30.26997,
"longitude": -97.71789,
"rating": 4.98,
"reviewsCount": 94,
"isNewListing": false,
"isSuperhost": false,
"isGuestFavorite": true,
"rooms": "3 bedrooms, 4 beds, 3 baths",
"currency": "USD",
"totalPrice": 663,
"originalTotalPrice": null,
"pricePerNight": 221,
"hasDiscount": false,
"priceLabel": "$663 for 3 nights",
"freeCancellation": true,
"checkIn": "2026-12-04",
"checkOut": "2026-12-07",
"nights": 3,
"adults": 4,
"isNewSinceLastRun": false,
"previousTotalPrice": 663,
"priceChange": 0,
"priceChangePct": 0,
"scrapedAt": "2026-10-17T20:24:50+00:00"
}

Integrations and API

Run it from your code with the Apify API or the apify-client package, schedule it in Apify, or connect it to Make, n8n, Zapier, Google Sheets or a webhook (for example a Slack message when priceChange is not zero).

from apify_client import ApifyClient
client = ApifyClient("<YOUR_APIFY_TOKEN>")
run = client.actor("kamerozkan/airbnb-price-tracker").call(run_input={
"locations": ["Lisbon, Portugal"],
"checkIn": "2026-11-20",
"checkOut": "2026-11-23",
"adults": 2,
"currency": "EUR",
"maxItemsPerLocation": 50,
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item["name"], item["totalPrice"], item["priceChange"])

FAQ

How does the Airbnb price tracker know the previous price? It stores the last total price of each listing in a key-value store in your own Apify account, one record per search (location, dates, guests, currency). Change any of these and it is a new search with a fresh history.

What counts as a new listing? isNewSinceLastRun is true when the listing never appeared in any earlier run of this search. Airbnb reorders results, so a listing can drop out of the top positions and come back; it then keeps its history and previousTotalPrice is its last known price.

How many listings can I get per city? Airbnb shows up to about 270 listings per search (15 pages of 18). For more, split the city into neighbourhoods or paste search URLs with price ranges or room types.

Is the total price the final price? It is the price Airbnb shows in the search results for your dates and guests, in your currency. Fees and taxes shown at checkout can differ slightly by country.

Can I filter by room type, price or amenities? Set the filters on airbnb.com, copy the search URL and paste it into Locations. Dates, guests and currency from the input replace the ones in the URL.

Is it legal to collect this data? It collects publicly available listing data only and leaves out host and reviewer names. You are responsible for how you use it, including privacy laws like GDPR.

Support and feedback

  • Found a bug or missing a field? Open an issue on the Issues tab of this Actor with your run link. We reply within 48 hours and ship most fixes within a few days.
  • Have an idea for a feature? Issues are the fastest way to get it built.
  • If the Actor saves you time, a short review on this page helps other users find it.