Airbnb Scraper - Most Comprehensive
Pricing
from $0.40 / 1,000 places
Airbnb Scraper - Most Comprehensive
🔥 ~$0.5/1K places 🔥 Scrape Airbnb listings by URL, listing ID, or location search. Returns full listing details including description, amenities, host info, location, photos, policies, and ratings. Optionally fetches reviews inline.
Pricing
from $0.40 / 1,000 places
Rating
5.0
(1)
Developer
Kai
Maintained by CommunityActor stats
2
Bookmarked
41
Total users
23
Monthly active users
7.2 hours
Issues response
18 days ago
Last modified
Categories
Share
Airbnb Listing Scraper
Scrape Airbnb listings by URL, listing ID, or location search. Returns full listing details including description, amenities, host info, location, photos, policies, and ratings. Optionally fetches reviews inline.
Why use this scraper?
- Full listing data: description, amenities, photos, sleeping arrangements, highlights, house rules
- Host profile with superhost status, stats, co-hosts, and years hosting
- Location details with coordinates, neighborhood highlights, and getting-around info
- Review summary with category ratings, rating distribution, and review tags
- Optional inline reviews with full text, reviewer profiles, photos, and host responses
- Search by location or coordinates with filters for dates, guests, price, property type, and more
- Location validation: detects when Airbnb silently resolves to the wrong region and drops mismatched results
- Retries with exponential backoff and rotates Apify proxy sessions on block
Use cases
- Build vacation rental databases from Airbnb search results
- Compare listing amenities, pricing, and ratings across markets
- Monitor host portfolios and review sentiment over time
- Enrich property datasets with photos, descriptions, and guest reviews
How to use
Look up a single listing
{"listings": ["https://www.airbnb.com/rooms/36276450"]}
Look up multiple listings
{"listings": ["36276450","https://www.airbnb.co.uk/rooms/12345678?check_in=2026-06-01"]}
Search by location
{"location": "San Francisco, CA","maxListings": 10}
Search by coordinates
Bypass Airbnb's location string resolution by providing exact coordinates. Useful when Airbnb misresolves a location name.
{"latitude": 20.9674,"longitude": -89.6237,"maxLocationDeviation": 50,"maxListings": 10}
Search with filters
{"location": "Miami, FL","checkIn": "2026-07-01","checkOut": "2026-07-07","adults": 2,"minPrice": 100,"maxPrice": 500,"propertyType": ["entire_home"],"minBedrooms": 2,"superhostOnly": true,"instantBook": true,"maxListings": 20,"maxSearchPages": 3}
Combine search and direct listings
{"location": "Austin, TX","listings": ["36276450"],"maxListings": 5,"includeReviews": true,"maxReviewsPerListing": 30}
Include reviews
{"listings": ["36276450"],"includeReviews": true,"maxReviewsPerListing": 50,"reviewsSortBy": "MOST_RECENT"}
Input
| Field | Type | Default | Description |
|---|---|---|---|
listings | string[] | [] | Airbnb listing URLs or numeric IDs |
location | string | Location to search (city, address, region) | |
latitude | number | Latitude for coordinate-based search (-90 to 90). Must be provided with longitude. | |
longitude | number | Longitude for coordinate-based search (-180 to 180). Must be provided with latitude. | |
maxLocationDeviation | number | 200 | Max distance (km) between intended location and results. Results beyond this are dropped. Set to 0 to disable. Only applies when explicitly set or when using coordinates. |
checkIn | string | Check-in date (YYYY-MM-DD) | |
checkOut | string | Check-out date (YYYY-MM-DD) | |
adults | number | 1 | Number of adults |
children | number | 0 | Number of children |
infants | number | 0 | Number of infants |
pets | number | 0 | Number of pets |
minPrice | number | Minimum price filter | |
maxPrice | number | Maximum price filter | |
propertyType | string[] | Filter: entire_home, private_room, shared_room, hotel_room | |
minBedrooms | number | Minimum bedrooms | |
minBathrooms | number | Minimum bathrooms | |
minBeds | number | Minimum beds | |
superhostOnly | boolean | false | Only show superhost listings |
instantBook | boolean | false | Only show instant-bookable listings |
maxListings | number | 20 | Max listings to collect from search |
maxSearchPages | number | 5 | Max search result pages to crawl |
includeReviews | boolean | false | Fetch and embed reviews inline |
maxReviewsPerListing | number | 20 | Max reviews per listing (0 = unlimited) |
reviewsSortBy | enum | MOST_RECENT | MOST_RECENT, RATING_DESC, RATING_ASC |
At least one of listings, location, or latitude+longitude must be provided.
Output
One JSON object per listing:
{"id": "36276450","url": "https://www.airbnb.com/rooms/36276450","name": "Bright Loft in the Heart of Le Marais","propertyType": "Entire rental unit","personCapacity": 4,"htmlDescription": "<p>Charming 50m² loft on a quiet cobblestone street...</p>","descriptionSections": [{ "title": "The space", "htmlText": "Open-plan living with 4-metre ceilings..." },{ "title": "Guest access", "htmlText": "Private entrance with keypad..." }],"heroImages": [{ "id": "1234567890", "baseUrl": "https://a0.muscache.com/im/pictures/...", "accessibilityLabel": "Living room with exposed beams" }],"photoTourImages": [{"id": "1234567890","baseUrl": "https://a0.muscache.com/im/pictures/...","aspectRatio": 1.5,"orientation": "LANDSCAPE","caption": "Living room","isProfessional": true,"isVerified": true}],"rooms": [{ "title": "Bedroom", "imageIds": ["1234567890"], "highlights": ["1 queen bed", "Closet"] }],"sleepingArrangements": [{"title": "Bedroom","subtitle": "1 queen bed","images": [{ "id": "1234567890", "baseUrl": "https://a0.muscache.com/im/pictures/...", "aspectRatio": 1.5, "orientation": "LANDSCAPE" }]}],"amenitiesPreview": [{ "title": "Wifi", "available": true, "icon": "WIFI" },{ "title": "Kitchen", "available": true, "icon": "KITCHEN" }],"amenitiesGrouped": [{"groupTitle": "Bathroom","amenities": [{ "id": "41", "title": "Shampoo", "subtitle": "", "available": true, "icon": "SOAP" },{ "id": "45", "title": "Hair dryer", "subtitle": "", "available": true, "icon": "HAIR_DRYER" }]}],"highlights": [{ "title": "Experienced host", "subtitle": "Marie has 1,200 reviews", "icon": "MEDAL", "type": "SUPERHOST" }],"overallRating": 4.92,"overallReviewCount": 1247,"isGuestFavorite": true,"categoryRatings": [{ "categoryType": "CLEANLINESS", "label": "Cleanliness", "localizedRating": "5.0", "percentage": 100 },{ "categoryType": "ACCURACY", "label": "Accuracy", "localizedRating": "4.9", "percentage": 98 },{ "categoryType": "CHECKIN", "label": "Check-in", "localizedRating": "5.0", "percentage": 100 },{ "categoryType": "COMMUNICATION", "label": "Communication", "localizedRating": "5.0", "percentage": 100 },{ "categoryType": "LOCATION", "label": "Location", "localizedRating": "4.9", "percentage": 98 },{ "categoryType": "VALUE", "label": "Value", "localizedRating": "4.7", "percentage": 94 }],"ratingDistribution": [{ "label": "5", "localizedRating": "5", "percentage": 88, "accessibilityLabel": "88% of reviews are 5 stars" },{ "label": "4", "localizedRating": "4", "percentage": 8, "accessibilityLabel": "8% of reviews are 4 stars" }],"reviewTags": [{ "name": "location", "localizedName": "Location", "count": 320 },{ "name": "clean", "localizedName": "Clean", "count": 280 }],"location": {"lat": 48.8566,"lng": 2.3522,"subtitle": "Le Marais, Paris, France","defaultZoomLevel": 15,"isLocationVerified": true,"neighborhoodHighlights": "Steps from Place des Vosges and Rue de Rivoli...","gettingAround": "Métro line 1 (Saint-Paul) is a 2-minute walk..."},"host": {"name": "Marie","isSuperhost": true,"isVerified": true,"yearsHosting": 8,"ratingCount": 1247,"ratingAverage": 4.92,"about": "Born and raised in Paris...","stats": [{ "label": "Reviews", "value": "1,247", "type": "REVIEW_COUNT" },{ "label": "Rating", "value": "4.92", "type": "RATING" }],"hostHighlights": [{ "icon": "MEDAL", "title": "Superhost" },{ "icon": "ID_VERIFIED", "title": "Identity verified" }],"cohosts": [{ "name": "Pierre" }]},"houseRules": [{ "title": "Check-in after 3:00 PM" },{ "title": "Checkout before 11:00 AM" },{ "title": "No smoking" },{ "title": "No pets" }],"cancellationPolicyName": "Moderate","maxGuestCapacity": 4,"petsAllowed": false,"canInstantBook": true,"reviews": [{"id": "987654321","rating": 5,"comments": "Absolutely loved this place! The location is unbeatable...","language": "en","createdAt": "2026-03-10T14:30:00Z","localizedDate": "March 2026","reviewer": {"firstName": "Sarah","isSuperhost": false,"pictureUrl": "https://a0.muscache.com/im/pictures/user/..."},"response": "Thank you Sarah! So glad you enjoyed Le Marais.","localizedRespondedDate": "March 2026","reviewHighlight": "The location is unbeatable","needsTranslation": false}],"locationResolution": {"inputLocation": "San Francisco, CA","inputCoordinates": null,"resolvedLocation": "San Francisco, California, United States","resolvedCenter": { "latitude": 37.7749, "longitude": -122.4194 },"resultCentroid": { "latitude": 37.7801, "longitude": -122.4103 },"deviationKm": 1.0,"withinThreshold": true},"scrapedAt": "2026-04-17T10:00:00.000Z"}
The locationResolution field is included on search-originated listings and is null for direct-URL listings. It shows how the location was resolved, where results actually landed, and whether they fell within the deviation threshold.
Fields truncated for readability. Actual output includes full photo tours, all amenity groups, complete house rules sections, safety & property info, SEO metadata, and all review fields including reviewer/reviewee profiles, media items, and translations.
Proxy recommendations
Residential proxies are strongly recommended for Airbnb. The scraper defaults to Apify proxy (useApifyProxy: true). For best results, use residential proxy groups:
{"proxyConfiguration": {"useApifyProxy": true,"apifyProxyGroups": ["RESIDENTIAL"]}}
You can also provide your own proxy URLs:
{"proxyConfiguration": {"proxyUrls": ["http://user:pass@proxy-host:8080"]}}
Technical notes
- Location validation: When searching by location string, the scraper resolves it via Airbnb's autocomplete API and compares result coordinates against the resolved center. When
maxLocationDeviationis explicitly set, results beyond that distance are dropped. This catches cases where Airbnb silently falls back to popular destinations for ambiguous queries (e.g. "Mérida, Yucatán" resolving to Vienna). - Search results and direct listing IDs are deduplicated before processing.
- Each listing is fetched in its own proxy session to reduce blocking risk.