Airbnb Rank Tracker
Pricing
$50.00 / 1,000 ranking measureds
Airbnb Rank Tracker
Find where an Airbnb listing ranks in search. Runs each search several times because Airbnb reshuffles results on every request, then reports median, best and worst position, appearance rate, page, and the competitors ranked above you with their price and rating.
Pricing
$50.00 / 1,000 ranking measureds
Rating
0.0
(0)
Developer
Crikit
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
5 days ago
Last modified
Categories
Share
What is Airbnb Rank Tracker?
Airbnb Rank Tracker lets you find out where your Airbnb listing actually appears in search results for the destinations and dates your guests are booking, helping you prove whether an optimisation worked, catch a drop in visibility before your calendar empties, and see exactly which competitors are ranked above you.
Airbnb does not show hosts their search position, and it does not return a stable one. Reload the same search twice and the order changes. That is why this actor does not report a single number from a single fetch.
- π― Know where you really rank: every search is run several independent times and reported as a median, best and worst position, so you get a range you can trust instead of one lucky or unlucky snapshot.
- π Catch visibility drops early: the
appearanceRatefield shows how often your listing showed up at all. A listing that appears in only 2 of 3 identical searches is losing impressions, and no single-shot rank checker can see that. - π₯ See who is beating you: every row carries the listings ranked immediately above yours with their price, rating, review count and badges, so you can tell whether you are losing on price, on reviews, or on Guest Favourite status.
- π Rank for real booking windows: set the check-in and check-out dates and guest count you care about. Ranking for a date range you are actually trying to fill is the only ranking that matters.
- π Track a whole portfolio cheaply: every listing you track is looked up inside the same market scan, so tracking 20 properties in one city costs the same page fetches as tracking one.
- π Built to be scheduled: point it at your listings once, run it on a schedule, and keep a dated history of your position over time.
Unlike a manual check in a browser, this does not depend on your own location, login state or cookies, and it does not quietly show you a personalised result set and call it a ranking.
What data does Airbnb Rank Tracker extract?
- π· Listing id, name and canonical URL (
listingId,listingName,listingUrl) - π The exact search it was ranked in, with dates and filters (
searchLabel,searchUrl,checkIn,checkOut,adults) - π Median, best and worst position across samples (
medianRank,bestRank,worstRank) - π How far the position moved between identical searches (
rankSpread) - π§Ύ The raw position from every individual sample (
sampleRanks) - π How often the listing appeared at all, 0 to 1 (
appearanceRate,timesFound,samplesRun) - π Results page and position on that page (
page,positionOnPage) - π¦ A banded verdict: PAGE_1, PAGE_2_3, DEEP or NOT_VISIBLE (
visibility) - π² Your listing's price, rating, review count, badges and Guest Favourite status as shown in search (
listing) - π₯ Up to five competitors ranked directly above you, with their pricing and ratings (
competitorsAbove) - π The top three listings in the market (
marketTopThree) - π How deep the scan went (
scanDepth,pagesScanned) - β± Measurement timestamp (
scrapedAt)
How to use Airbnb Rank Tracker
- Paste your Airbnb listing URLs into Listings to track. Bare numeric ids work too.
- Type the destinations you want to rank for into Destinations to rank against, exactly as a guest would type them, for example
Asheville, North Carolina. You can paste full Airbnb search URLs instead if you want specific filters. - Set Check-in and Check-out to a booking window you care about. This matters a lot, see the FAQ.
- Leave Samples per search at 3 and Pages to scan at 5 unless you know you rank deep.
- Run it, then read the Rankings table or export to CSV, Excel, or JSON.
Input
{"listingUrls": ["https://www.airbnb.com/rooms/2072026","https://www.airbnb.com/rooms/39811858"],"locations": ["Asheville, North Carolina"],"checkIn": "2026-10-15","checkOut": "2026-10-18","adults": 2,"samples": 3,"maxPages": 5,"proxyConfiguration": { "useApifyProxy": true, "apifyProxyCountry": "US" }}
Output
One row per tracked listing per search. A real record, trimmed:
{"listingId": "2072026","listingName": "The Tree House Studio, Mins to Downtown","searchLabel": "Asheville, North Carolina","checkIn": "2026-10-15","checkOut": "2026-10-18","found": true,"appearanceRate": 1,"samplesRun": 3,"timesFound": 3,"medianRank": 7,"bestRank": 7,"worstRank": 7,"rankSpread": 0,"sampleRanks": [7, 7, 7],"page": 1,"positionOnPage": 7,"visibility": "PAGE_1","scanDepth": 83,"listing": {"price": "$391", "rating": 4.94, "reviewsCount": 464, "isGuestFavorite": true},"competitorsAbove": [{ "rank": 6, "listingId": "39811858", "price": "$577", "rating": 4.93, "reviewsCount": 366 }],"scrapedAt": "2026-08-30T18:04:11.000Z"}
The Rankings table view shows listing, search, visibility, median, best, worst, spread and appearance rate as clean columns, so you can read a portfolio at a glance without unpacking JSON.
How much does it cost to track Airbnb rankings?
A flat $0.05 per ranking. One ranking is one tracked listing in one search, and it covers every sample and every page scanned to produce it. A deep scan costs the same as a first-page hit.
| Rankings | Cost |
|---|---|
| 20 | $1.00 |
| 100 | $5.00 |
| 1,000 | $50.00 |
Because all your tracked listings are found inside the same market scan, a portfolio is much cheaper than it looks: tracking 20 listings across 5 destinations is 100 rankings, or $5.00 per run, however deep the scan has to go.
Measured coverage
From a QA run across three markets (Savannah, Scottsdale and Gatlinburg), tracking six known listings plus one deliberately invalid id, 21 rows total:
| Check | Result |
|---|---|
| Correct found / not-found classification | 21 / 21 |
| False positives | 0 |
| False negatives | 0 |
| Field coverage on found rows | 100% on all 12 core fields |
| Runs ending SUCCEEDED across 8 edge cases | 8 / 8 |
Why the sampling exists, from that same run: one tracked listing was returned at position 52, then 18, then not at all, across three identical searches seconds apart. Any single-fetch rank checker would have reported one of those three answers with full confidence. Repeated identical searches returned only about 14 of the same 18 listings on page 1, and no listing held the same position twice.
Limits
- Airbnb reshuffles results on every request. This actor measures and reports that spread rather than hiding it. Treat
medianRankas a band, not a coordinate, and readrankSpreadalongside it. - Maximum scan depth is 270 listings, about 15 pages. Airbnb stops issuing pagination cursors past that point. A listing that never appears within your scan depth is reported as NOT_VISIBLE rather than given a number.
- Ranking is personalised. These results reflect a clean, logged-out, US-based guest. A specific guest with history may see something different.
- Dateless searches are much noisier. Airbnb randomises them heavily, so ranks without dates are far less meaningful.
- A listing unavailable for your dates will not appear at all. That is a real ranking outcome for those dates, not a scraping failure, and it is why
NOT_VISIBLErows carry an explanatorywarning. - Only public search data is read. No login, no cookies, no private host analytics.
FAQ
Is it legal to scrape Airbnb search results?
This actor reads only public Airbnb search pages that any logged-out visitor can see. It collects no login-gated data and no personal data about guests. You are responsible for how you use the output and for your own compliance with Airbnb's terms and applicable law.
Why do my ranks change between runs?
Because Airbnb's ranks genuinely change between requests. That is the core problem this actor exists to handle. Look at rankSpread and appearanceRate: a spread of 2 means a stable position, a spread of 30 means Airbnb is moving you around and any single number is misleading.
How many samples should I use?
Three is right for most markets. Use five in large, volatile markets or when rankSpread comes back wide. Use one only for a rough smoke test.
Why is my listing NOT_VISIBLE when I can see it in the app?
Three common causes: your listing is unavailable for those dates, your app view is personalised or location-biased, or your listing ranks deeper than your maxPages setting. Raise maxPages and confirm the dates are bookable.
Can I use Airbnb Rank Tracker as an API?
Yes. Every actor on Apify has a REST API for starting runs and pulling results. See the Apify API docs.
Can I use this in Python?
Yes, with apify-client:
from apify_client import ApifyClientclient = ApifyClient("<YOUR_API_TOKEN>")run = client.actor("cirkit/airbnb-rank-tracker").call(run_input={"listingUrls": ["https://www.airbnb.com/rooms/2072026"],"locations": ["Asheville, North Carolina"],"checkIn": "2026-10-15", "checkOut": "2026-10-18"})for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(item["listingName"], item["medianRank"], item["visibility"])
How do I schedule Airbnb Rank Tracker to run automatically?
Use Apify Schedules to run it daily or weekly. Each run is timestamped with scrapedAt, so the dataset history becomes your rank-over-time chart.
Can I integrate it with other apps?
Yes. Apify has native integrations for Zapier, Make, Google Sheets, Slack, Airtable and generic webhooks, so a rank drop can trigger an alert.
Can I track competitors instead of my own listings?
Yes. Nothing about the input assumes you own the listing. Put any listing ids in listingUrls to track a rival's visibility over time.
Why did I get fewer rows than expected?
Rows are tracked listings multiplied by searches, capped by maxItems. Check that maxItems is at least that product, and that every listing URL parsed correctly, since unparseable entries are skipped with a warning in the log.
Can I get a field that is not listed?
If it appears on the Airbnb search card, it can usually be added. Open an issue on the actor and ask.
You might also like
- Airbnb Search Scraper for the full result set behind these rankings
- Airbnb Listing Details Scraper for everything on a single listing page
- Airbnb Reviews Scraper for full review histories
- Airbnb Host Listings Scraper for a host's whole portfolio
Changelog
- 0.1 (2026-08-30) First release. Multi-sample ranking with median, best, worst and spread, appearance rate, competitor context and outlier-scan rejection.