Airbnb Reviews Scraper - Keyword Search & Topic Filters
Pricing
from $2.30 / 1,000 airbnb reviews
Airbnb Reviews Scraper - Keyword Search & Topic Filters
Scrape Airbnb guest reviews with ratings, dates, host replies, translations, keyword search, topic filters and listing sub-ratings. Export CSV, Excel, JSON or XML.
Pricing
from $2.30 / 1,000 airbnb reviews
Rating
0.0
(0)
Developer
ParseForge
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share

🏠 Airbnb Reviews Scraper
🚀 Export every guest review of an Airbnb listing in seconds, with the host's reply, a translation and the listing's six sub-ratings on the same row. All 496 reviews of a New York listing came back in 12 seconds in our test, 50 reviews per request, no login and no proxy.
This Actor reads Airbnb's own review feed, the same one the reviews window on a listing page loads when you scroll, and pages through it until the listing has nothing left. You can sort like Airbnb does, search inside the reviews for a word ("subway", "noise", "parking"), keep only the reviews Airbnb files under one topic (Location, Cleanliness, Check-in and 27 more), and get every review translated into one of 92 languages while the original text stays in its own column.
Every row has 42 fields: the review (rating, text, language, translation, exact date, stay length), the reviewer (name, ID, home town or tenure, photo, profile link), the host reply (text, translation, date), the host (name, ID, profile link, Superhost) and the listing (name, property and room type, location, coordinates, guests, overall rating, review count, cleanliness, accuracy, check-in, communication, location and value ratings, cover photo), plus the listing's review topics with mention counts and Airbnb's own AI summary of each topic.
| 🎯 Target Audience | 💡 Primary Use Cases |
|---|---|
| Short-term rental hosts and property managers | Read what guests praise and complain about, across every listing you run |
| Vacation rental investors | Judge a market or a property by its real guest feedback before buying |
| Hospitality and travel brands | Track sentiment and host responsiveness over time |
| Market researchers | Compare neighborhoods, property types and hosts with sub-ratings on every row |
| Data and AI teams | Build multilingual review datasets with original text and translation side by side |
| Reputation and review agencies | Monitor new reviews and flag unanswered complaints |
📋 What the Airbnb Reviews Scraper does
- Accepts Airbnb listing links from any Airbnb domain (
airbnb.com/rooms/12937,airbnb.fr/rooms/29542473?adults=2,/rooms/plus/...) or plain numeric listing IDs. - Calls Airbnb's review feed for each listing, 50 reviews per request (twice what the website loads), until every review is collected or your limit is reached.
- Lets Airbnb sort (most recent, most relevant, highest rated, lowest rated), search inside the reviews and filter by topic, so only matching reviews are downloaded.
- Keeps only the reviews inside your date window and star range. With the matching sort order it stops paging as soon as it passes the window, so a "last 30 days" run on a listing with 2,000 reviews reads one page.
- With Include listing details on (the default), reads the listing page once and adds its name, type, location, coordinates and the six category ratings to every review.
- Writes one row per review, deduplicated. Listings that do not exist come back as a free error row that says why.
💡 Why it matters: a listing's star average hides the story. The reviews say whether "4.8" means a spotless room with a noisy street or a great host with a tired bathroom. With keyword search, topic filters and the sub-ratings on every row, you get to that answer in one export instead of an afternoon of scrolling.
🎬 Full Demo (🚧 Coming soon)
📊 Output
Each dataset row is one Airbnb review. 42 columns per row.
| Field | Type | Description |
|---|---|---|
🖼 imageUrl | string | Reviewer profile photo |
🆔 reviewId | string | Airbnb review ID |
🏷 listingId | string | Airbnb listing ID |
🔗 listingUrl | string | Link to the listing |
⭐ rating | number | Stars from 1 to 5 (some older reviews have none) |
💬 reviewText | string | Review in the language the guest wrote it |
🗣 reviewLanguage | string | Language code of the original review |
🌐 translatedText | string | Airbnb's translation into your chosen language, N/A when not needed |
📅 createdAt | string | Publication date and time, ISO 8601 UTC |
🗓 localizedDate | string | Date as Airbnb shows it ("3 days ago", "October 2025") |
🛏 stayDetail | string | Stay length or trip type ("Stayed a few nights", "Stayed with kids") |
👤 reviewerName | string | Reviewer first name |
🔢 reviewerId | string | Reviewer user ID |
📍 reviewerLocation | string | Reviewer home town, when shown |
⏳ reviewerTenure | string | "10 years on Airbnb", shown when there is no home town |
🔗 reviewerProfileUrl | string | Reviewer profile link |
↩️ hostResponse | string | Public reply from the host, N/A when there is none |
🌐 hostResponseTranslated | string | Translation of the reply, when Airbnb provides one |
🗓 hostResponseDate | string | When the host replied |
🧑💼 hostName | string | Host name |
🔢 hostId | string | Host user ID |
🔗 hostProfileUrl | string | Host profile link |
🏠 listingTitle | string | Listing name |
🏢 listingPropertyType | string | "Private room in townhouse", "Entire rental unit", ... |
🚪 listingRoomType | string | Private room, Entire home/apt, Shared room, Hotel room |
🗺 listingLocation | string | City, region and country |
🧭 listingLatitude | number | Listing latitude |
🧭 listingLongitude | number | Listing longitude |
👥 listingGuests | number | Maximum guests |
🌟 listingRating | number | Overall guest rating |
🔢 listingReviewsCount | number | Total reviews on the listing |
🧼 ratingCleanliness | number | Cleanliness rating |
🎯 ratingAccuracy | number | Accuracy rating |
🔑 ratingCheckIn | number | Check-in rating |
💌 ratingCommunication | number | Communication rating |
📍 ratingLocation | number | Location rating |
💰 ratingValue | number | Value rating |
🏅 hostIsSuperhost | string | Yes or No |
📷 listingImageUrl | string | Listing cover photo |
🧩 reviewTopics | array | Topics guests mention on this listing, with mention counts and Airbnb's summary |
🕒 scrapedAt | string | When the row was collected |
❌ error | string | Populated only on failed rows |
With Include listing details off, rows keep the 25 review, reviewer, host and topic fields and skip the 17 listing columns.
Real sample records
{"imageUrl": "https://a0.muscache.com/im/pictures/user/b7232ce5-b54c-46ed-936a-d80c9ef04a89.jpg","reviewId": "1539997764983316743","listingId": "12937","listingUrl": "https://www.airbnb.com/rooms/12937","rating": 5,"reviewText": "Extraordinario anfitrión muy amable y preocupado.\nLa ubicación es excelente con acceso al metro, llegar a Manhattan es muy facil. Una muy buena experiencia para sentirse viviendo en NYC\nRecomendado 100%","reviewLanguage": "es","translatedText": "Extraordinary very friendly and concerned host.\nThe location is excellent with subway access, getting to Manhattan is very easy. A very good experience to feel living in NYC\nRecommended 100%","createdAt": "2025-10-25T19:00:39Z","localizedDate": "October 2025","stayDetail": "Stayed a few nights","reviewerName": "Patricio","reviewerId": "262202041","reviewerLocation": "Santiago, Chile","reviewerTenure": "Not Disclosed","reviewerProfileUrl": "https://www.airbnb.com/users/profile/1493601496004129345","hostResponse": "Patricio & sons were great guests.\nFriendly , quiet and orderly.\nThey left the place in good condition.\nWe would welcome them back any time.","hostResponseTranslated": "N/A","hostResponseDate": "November 2025","hostName": "Orestes","hostId": "50124","hostProfileUrl": "https://www.airbnb.com/users/profile/1462507638639660367","listingTitle": "1 Stop to Midtown! Private Bedroom, Landmark House","listingPropertyType": "Private room in townhouse","listingRoomType": "Private room","listingLocation": "Queens, New York, United States","listingLatitude": 40.74757,"listingLongitude": -73.94571,"listingGuests": 2,"listingRating": 4.92,"listingReviewsCount": 496,"ratingCleanliness": 4.86,"ratingAccuracy": 4.91,"ratingCheckIn": 4.9,"ratingCommunication": 4.92,"ratingLocation": 4.91,"ratingValue": 4.85,"hostIsSuperhost": "Yes","listingImageUrl": "https://a0.muscache.com/im/pictures/2053dcc6-7721-477f-b579-09ce4d4f7db5.jpg","reviewTopics": [{ "topic": "Getting around", "code": "GETTING_AROUND", "mentions": 268, "summary": "Close to multiple subway lines, making it easy to reach Manhattan, Brooklyn, and Queens." },{ "topic": "Location", "code": "LOCATION", "mentions": 321, "summary": "Quiet LIC neighborhood with easy subway access to Manhattan, plus nearby restaurants and shops." }],"scrapedAt": "2026-09-25T17:46:50.804Z","error": null}
{"imageUrl": "https://a0.muscache.com/im/pictures/user/933d59f1-86b5-49ab-93b8-68e279a79adc.jpg","reviewId": "1771601027250637272","listingId": "29542473","listingUrl": "https://www.airbnb.com/rooms/29542473","rating": 5,"reviewText": "Really enjoyed my stay at Aube 's charming apartment. The private room was very pretty and comfortable. Aube went out of her way to feel her guests welcome. Loved the convenient location, so close to everything. Montmartre is such a lovely and lively neighborhood!! Will stay again without hesitation! Thank you again.","reviewLanguage": "en","translatedText": "N/A","createdAt": "2026-09-10T08:14:59Z","localizedDate": "2 weeks ago","stayDetail": "Stayed a few nights","reviewerName": "Anna","reviewerId": "314247675","reviewerLocation": "Not Disclosed","reviewerTenure": "7 years on Airbnb","reviewerProfileUrl": "https://www.airbnb.com/users/profile/1504216175088852333","hostResponse": "Merci Anna pour votre commentaire pertinent. C'est un plaisir de recevoir des voyageuses comme vous. Polie, discrète et sympathique et plus encore. Grand merci à vous. Je vous souhaite plein de belles choses.","hostResponseTranslated": "N/A","hostResponseDate": "2 weeks ago","hostName": "Aube De Paris (Elle/La)","hostId": "33566463","hostProfileUrl": "https://www.airbnb.com/users/profile/1465490999210414485","listingTitle": "Chic room – feminine haven – lively Paris","listingPropertyType": "Private room in rental unit","listingRoomType": "Private room","listingLocation": "Paris, Île-de-France, France","listingLatitude": 48.8873,"listingLongitude": 2.3272,"listingGuests": 1,"listingRating": 5,"listingReviewsCount": 28,"ratingCleanliness": 5,"ratingAccuracy": 4.93,"ratingCheckIn": 4.93,"ratingCommunication": 5,"ratingLocation": 4.96,"ratingValue": 4.96,"hostIsSuperhost": "Yes","listingImageUrl": "https://a0.muscache.com/im/pictures/airflow/Hosting-29542473/original/72f82e4d-c485-47b1-b330-ee737a3badcc.jpg","reviewTopics": [{ "topic": "Hospitality", "code": "HOSPITALITY", "mentions": 25, "summary": "N/A" },{ "topic": "Getting around", "code": "GETTING_AROUND", "mentions": 8, "summary": "N/A" }],"scrapedAt": "2026-09-25T17:45:26.860Z","error": null}
{"imageUrl": "https://a0.muscache.com/im/pictures/user/1a65831b-75d9-40a8-b092-db993e4421b7.jpg","reviewId": "1562520425854549329","listingId": "12937","listingUrl": "https://www.airbnb.com/rooms/12937","rating": 4,"reviewText": "responsive, hospitable host","reviewLanguage": "en","translatedText": "N/A","createdAt": "2025-11-25T20:49:09Z","localizedDate": "November 2025","stayDetail": "Stayed a few nights","reviewerName": "Hao-Hsuan","reviewerId": "418943509","reviewerLocation": "Lebanon, New Hampshire","reviewerTenure": "Not Disclosed","reviewerProfileUrl": "https://www.airbnb.com/users/profile/1481694277724503441","hostResponse": "N/A","hostResponseTranslated": "N/A","hostResponseDate": "N/A","hostName": "Orestes","hostId": "50124","hostProfileUrl": "https://www.airbnb.com/users/profile/1462507638639660367","listingTitle": "1 Stop to Midtown! Private Bedroom, Landmark House","listingPropertyType": "Private room in townhouse","listingRoomType": "Private room","listingLocation": "Queens, New York, United States","listingLatitude": 40.74757,"listingLongitude": -73.94571,"listingGuests": 2,"listingRating": 4.92,"listingReviewsCount": 496,"ratingCleanliness": 4.86,"ratingAccuracy": 4.91,"ratingCheckIn": 4.9,"ratingCommunication": 4.92,"ratingLocation": 4.91,"ratingValue": 4.85,"hostIsSuperhost": "Yes","listingImageUrl": "https://a0.muscache.com/im/pictures/2053dcc6-7721-477f-b579-09ce4d4f7db5.jpg","reviewTopics": [{ "topic": "Getting around", "code": "GETTING_AROUND", "mentions": 268, "summary": "Close to multiple subway lines, making it easy to reach Manhattan, Brooklyn, and Queens." },{ "topic": "Location", "code": "LOCATION", "mentions": 321, "summary": "Quiet LIC neighborhood with easy subway access to Manhattan, plus nearby restaurants and shops." }],"scrapedAt": "2026-09-25T17:46:50.804Z","error": null}
reviewTopics is shortened to two topics here. The dataset holds every topic the listing has (10 on both sample listings).
✨ Why choose this Actor
- Search inside the reviews. Type "noise", "parking" or "wifi" and get only the reviews that mention it, found by Airbnb's own review search. On the sample listing, "subway" matched 139 of 496 reviews.
- Filter by topic. Keep only the reviews Airbnb files under Cleanliness, Location, Check-in, Bathroom, Value or any of 30 topics, straight from Airbnb.
- Listing sub-ratings on every row. Cleanliness, accuracy, check-in, communication, location and value next to each review, plus the overall rating, type, location and coordinates of the listing.
- Airbnb's topic summaries. Each row carries the listing's review topics with how many guests mention each one and Airbnb's one-line summary of what they say.
- Original and translation side by side. The guest's own words in
reviewText, Airbnb's translation intranslatedText, in any of 92 languages. - Host replies with dates. The reply, its translation when Airbnb has one, and when it was posted, so you can measure response rate and tone.
- Smart early stop. Date and star windows stop the run as soon as the sort order passes them, so you pay for the reviews you want and nothing else.
- Fast and light. 50 reviews per request, no browser: a 496-review listing finishes in about 12 seconds.
- Pay only for reviews. Unknown or removed listings produce a free error row that says why.
📈 How it compares to alternatives
| This Actor | Typical Airbnb review scrapers | Copying reviews by hand | |
|---|---|---|---|
| Requires an Airbnb login | No | No | No |
| All reviews of a listing | Yes, paged to the end | Yes | Scroll and copy |
| Keyword search inside reviews | Yes, Airbnb's own search | Rarely | Browser find, one listing at a time |
| Topic filter (Cleanliness, Location, ...) | Yes, 30 topics | No | Click each topic chip |
| Six listing sub-ratings on every row | Yes | No | Look them up separately |
| Topic mention counts and summaries | Yes | No | Read them on the page |
| Translation next to the original | Yes, 92 languages | Varies | Translate by hand |
| Host reply and reply date | Yes | Usually the reply only | Copy by hand |
| Date and star windows with early stop | Yes | Date only, or none | Scroll and look |
The Actor sees what any visitor to a listing sees. Reviews that Airbnb removed, and listings that are unlisted or deleted, are not available. Airbnb gives no link to a single review, so rows point to the listing. Some reviews from before about 2014 have no star rating, which the Actor reports as Not Disclosed. Keyword search results come back in the original language only: Airbnb does not translate search hits.
🚀 How to use
- Create a free Apify account. New accounts include $5 of free platform credit, which is plenty to try this out: console.apify.com/sign-up
- Open the Actor and go to the Input tab.
- Paste Airbnb listing links into Airbnb listing URLs, or listing numbers into Listing IDs.
- Set Max Items to the total number of reviews you want, and optionally Max reviews per listing to spread it across several listings.
- Choose the sort order and, if you want, a keyword, a topic, a date window or a star range.
- Pick the Language you want translations and dates in, and leave Include listing details on for the full row.
- Click Start, then open the Dataset tab and download as CSV, Excel, JSON or XML, or pull it from the API.
{"startUrls": [{ "url": "https://www.airbnb.com/rooms/12937" }],"maxItems": 500,"sortBy": "MOST_RECENT","searchQuery": "noise","onlyReviewsNewerThan": "1 year","locale": "en-US"}
💼 Business use cases
Guest experience audits for hosts
Export every review of your listings, filter the topic to Cleanliness or Check-in, and read exactly what guests said about the weak sub-rating. stayDetail tells you whether the complaints come from long stays or weekend trips.
Investment due diligence
Before buying or leasing a rental, pull the reviews of the property and its neighbors. Search "noise", "neighbors" or "construction" and compare the six sub-ratings across the block with the coordinates on every row.
Competitor benchmarking for property managers
Run the same date window across your portfolio and the top listings around it. ratingValue, listingRating and the topic mention counts show where competitors win, and hostResponse shows how they handle criticism.
Multilingual sentiment and AI datasets
Collect reviews in their original languages with Airbnb's translation next to each one. Star ratings, dates and topic labels make it a ready training or evaluation set for sentiment and summarization models.
🔌 Automating Airbnb Reviews Scraper
- Make and Zapier: run the Actor every week for your listings and send new reviews to a sheet, CRM or help desk.
- Slack: post a message whenever a new review with 3 stars or fewer arrives, using the star range filter.
- Airbyte: sync datasets into Snowflake, BigQuery or Postgres to keep a running history of reviews and sub-ratings.
- GitHub: schedule runs from Actions and keep versioned snapshots of a market's reviews.
- Google Drive: drop a CSV or Google Sheet into a shared folder after every run.
- API and webhooks: every run emits a dataset ID; subscribe to the run succeeded webhook and process the reviews wherever you need them.
🌟 Beyond business use cases
- Research: study how guests describe neighborhoods, how hosts answer criticism, or how short-term rentals are perceived across cities and languages.
- Personal: before booking, search a shortlist of listings for the things you care about ("stairs", "crib", "air conditioning").
- Non-profit: document how short-term rentals affect a neighborhood from the words of the people who stayed there.
- Experimentation: a clean, multilingual review dataset with ratings and topic labels is a good playground for NLP projects.
🤖 Ask an AI assistant about this scraper
Paste this into ChatGPT, Claude or any assistant to get help designing your run:
I am using the ParseForge Airbnb Reviews Scraper on Apify. It takes Airbnb listing URLs or IDs and returns one row per guest review with 42 fields, including rating, reviewText, reviewLanguage, translatedText, createdAt, stayDetail, reviewerName, reviewerLocation, hostResponse, hostResponseDate, hostName, hostIsSuperhost, listingTitle, listingPropertyType, listingLocation, listingLatitude, listingLongitude, listingRating, ratingCleanliness, ratingAccuracy, ratingCheckIn, ratingCommunication, ratingLocation, ratingValue and reviewTopics. It can sort reviews, search inside them by keyword, filter by one of 30 Airbnb review topics, keep a date window or star range, and translate into 92 languages. Help me design a run to answer this question: [your question here].
❓ Frequently Asked Questions
🔐 Do I need an Airbnb account? No. The Actor reads only what Airbnb shows to anyone who opens a listing. You never supply credentials.
📚 How many reviews can I get from one listing? All of them. The Actor pages through Airbnb's review feed, 50 reviews per request, until it ends. In our test it collected all 496 reviews of one listing in about 12 seconds.
🔎 How does keyword search work? The word or phrase goes to Airbnb's own review search, the magnifier in the reviews window. Only matching reviews are returned and charged. Search hits come back in their original language because Airbnb does not translate them.
🧩 Which review topics can I filter by? Any of the 30 topics Airbnb uses, such as Location, Cleanliness, Hospitality, Check-in, Bathroom, Sleep quality, Value, View, Pool or Kitchen. Topics differ by listing: a listing without the chosen topic returns no reviews, and the log says so.
🌐 How do translations work?
Choose a Language. Reviews written in another language get Airbnb's translation in translatedText, and the original stays in reviewText. Relative dates and reviewer locations follow the chosen language too. Listing details are always in English.
📅 How does the date filter work?
Use a date (YYYY-MM-DD) or a relative value such as 30 days, 6 months or 1 year. With Most recent sorting the Actor stops at the first older review, so it never downloads the rest of the history.
⭐ Why is the rating "Not Disclosed" on some reviews? Airbnb shows no star rating on some reviews, mostly ones written before about 2014. When you set a star range, those reviews are skipped.
📍 Why do some rows show tenure instead of a home town? Airbnb shows the reviewer's home town when they have set one, and "N years on Airbnb" otherwise. The Actor puts each in its own column so neither is mistaken for the other.
🚫 Why did a listing return an error row? The listing ID does not exist, or the listing was removed or unlisted. Error rows are never charged.
🌍 Do I need a proxy? No for normal use. Airbnb's review feed answered every request in our tests without one, from a home IP and from Apify's cloud. The proxy setting is there if you run very large jobs.
🏨 Does it work for Airbnb Experiences? No. This Actor reads reviews of stays (homes, rooms, hotels listed on Airbnb). For listing data such as prices and amenities, see the recommended Actors below.
📥 What export formats are supported? CSV, Excel, JSON, XML, plus direct API access and integrations with Make, Zapier, Airbyte, Slack, Google Drive and more.
⚖️ Is this legal? The Actor collects reviews that Airbnb publishes to everyone. Reviews include first names and photos of real people, so you remain responsible for how you use the data, including privacy law such as GDPR and CCPA, and Airbnb's terms.
🔌 Integrate with any app
Every run writes to an Apify dataset reachable through a REST API, so the output drops into whatever you already use. Native integrations cover Make, Zapier, Airbyte, Slack, Google Drive, GitHub, Google Sheets and webhooks, and the API covers everything else.
🔗 Recommended Actors
- Airbnb Listings Scraper - Real-Time Pricing & Property Data - find the listings, then collect their reviews here.
- Booking.com Reviews Scraper - Hotel Review Data to CSV - guest reviews from Booking.com.
- TripAdvisor Reviews Scraper - Extract Reviews Data API - hotel, restaurant and attraction reviews.
- Vrbo Scraper - Vacation Rental Listings & Property Data - the other big vacation rental marketplace.
- Expedia Hotel Scraper - Listings, Prices & Ratings API - hotel listings and ratings from Expedia.
💡 Pro Tip: browse the complete ParseForge collection.
🆘 Need Help? Open our contact form
⚠️ Disclaimer: independent tool, not affiliated with Airbnb; only publicly available data.