Airbnb Listings & Prices Scraper avatar

Airbnb Listings & Prices Scraper

Pricing

from $6.80 / 1,000 results

Go to Apify Store
Airbnb Listings & Prices Scraper

Airbnb Listings & Prices Scraper

Scrape Airbnb vacation rental listings by location, dates or URL. Get title, nightly price, discount, rating, reviews, coordinates, host, superhost, bedrooms, amenities and images. Export JSON, CSV, Excel.

Pricing

from $6.80 / 1,000 results

Rating

0.0

(0)

Developer

Scrapers Lat

Scrapers Lat

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

10 days ago

Last modified

Share

Airbnb Listings & Prices Scraper

Airbnb Listings & Prices Scraper

Here is one real result, with every field the actor returns:

{
"imageUrl": "https://a0.muscache.com/im/pictures/prohost-api/Hosting-1441084616927661043/original/5dad0357-3623-46ca-b7b7-83350b971cbc.jpeg",
"title": "Apartment in Barcelona",
"name": "City Centre - Mediterranean Vibes",
"url": "https://www.airbnb.com/rooms/1441084616927661043",
"id": "1441084616927661043",
"price": 910,
"currency": "USD",
"priceQualifier": "for 5 nights",
"originalPrice": 1041,
"discountPercent": 13,
"priceLabel": "$910 for 5 nights, originally $1,041",
"rating": 4.95,
"reviewsCount": 100,
"isGuestFavorite": true,
"badges": ["Guest favorite"],
"latitude": 41.39638,
"longitude": 2.17773,
"city": "Barcelona",
"checkIn": "2026-12-06",
"checkOut": "2026-12-11",
"images": [
"https://a0.muscache.com/im/pictures/prohost-api/Hosting-1441084616927661043/original/5dad0357-3623-46ca-b7b7-83350b971cbc.jpeg",
"https://a0.muscache.com/im/pictures/prohost-api/Hosting-1441084616927661043/original/c9500701-d418-46fc-b7c4-dcd0df9425e3.jpeg"
],
"roomType": "Entire home/apt",
"propertyType": "Entire rental unit",
"personCapacity": 5,
"bedrooms": 3,
"beds": 3,
"bathrooms": 1,
"isSuperhost": true,
"hostName": "Arturo",
"hostId": "549310404",
"hostIsVerified": true,
"guestSatisfaction": 4.95,
"accuracyRating": 4.96,
"checkinRating": 4.88,
"cleanlinessRating": 4.96,
"communicationRating": 4.93,
"locationRating": 4.91,
"valueRating": 4.81,
"cancellationPolicy": "Firm",
"amenities": ["Kitchen", "Wifi", "Dedicated workspace", "Pets allowed", "TV", "Elevator", "Washer", "Free dryer – In unit"],
"aiListingSummary": null,
"aiFeatures": null,
"observedAt": "2026-07-28T17:36:28.924Z",
"error": null
}

The most complete Airbnb listings and prices scraper available. It returns every field the search results expose (price, discount, rating, reviews, Guest Favorite, coordinates, images), opens each listing page for room type, bed and bath counts, capacity, host and superhost status, seven category ratings, amenities and cancellation policy, and offers optional AI add-ons for a guest-facing summary and structured features.

📥 Input · 📤 Output · 💰 Pricing · ▶️ Examples

Apify Coverage Output Billing

Table of contents

What it does

The actor searches Airbnb by location (with optional dates, guest counts, price range, rating, review count and Guest Favorites filters), or follows Airbnb search-result and individual room URLs you provide, and writes one record per listing to the run's dataset. Each search-level record carries the title, name, price and price qualifier, original price and discount, rating, review count, Guest Favorite flag, badges, coordinates, city and the image gallery.

When withDetails is on (the default), each listing page is opened to add room type, property type, guest capacity, bedrooms, beds and bathrooms, host name and id, superhost and verified status, the seven Airbnb category ratings (accuracy, check-in, cleanliness, communication, location, value and overall guest satisfaction), amenities and the cancellation policy. Two optional AI add-ons (paid Apify plans only) add a guest-facing summary and structured features. Missing values are returned as null, never invented.

Quickstart

Open the actor, paste this into the input, and press Run. It returns up to 10 listings in Miami with full details.

{
"location": "Miami, FL",
"maxListings": 10,
"withDetails": true,
"currency": "USD"
}

Add checkIn and checkOut dates to get total stay prices, or paste Airbnb search and room URLs into startUrls. Every input field is optional; with an empty input the actor searches the prefilled location.

Input reference

FieldTypeRequiredDefaultDescription
locationstringnoMiami, FLCity, region or place to search, for example Barcelona, Spain, Mexico City. Leave empty if you provide startUrls.
startUrlsarrayno(none)Airbnb search-result URLs (airbnb.com/s/...) and/or individual room URLs (airbnb.com/rooms/...).
maxListingsintegerno10Maximum number of listings to collect across all inputs.
withDetailsbooleannotrueWhen on, each listing page is opened for room type, bed/bath counts, capacity, host, category ratings, amenities and cancellation. Billed per listing enriched (details event).
checkInstringno(empty)Check-in date YYYY-MM-DD. Affects total price and availability.
checkOutstringno(empty)Check-out date YYYY-MM-DD.
adultsintegerno(none)Number of adult guests (1 to 16).
childrenintegerno(none)Number of children ages 2 to 12 (0 to 15).
infantsintegerno(none)Number of infants under 2 (0 to 5).
petsintegerno(none)Number of pets (0 to 5).
priceMinintegerno(none)Only listings at or above this nightly price.
priceMaxintegerno(none)Only listings at or below this nightly price.
minRatingintegerno(none)Keep only listings with average rating at or above this value (0 to 5).
minReviewsCountintegerno(none)Keep only listings with at least this many reviews.
guestFavoriteOnlybooleannofalseKeep only listings flagged as Guest Favorites.
currencystringnoUSDCurrency code for prices, for example USD, EUR, MXN, GBP.
proxyConfigurationobjectno(no proxy)Standard Apify proxy configuration. Airbnb is reachable without a proxy; enable residential only if blocked or for a specific country.
withAiListingSummarybooleannofalsePaid AI add-on. Writes a concise guest-facing summary. Charged per listing only when a summary is produced.
withAiFeaturesbooleannofalsePaid AI add-on. Extracts highlights, best-for trip types and inferred house rules. Charged per listing only when features are produced.

Output reference

One dataset item per listing. Types: string, number, boolean, string[], object, or null when the source value is absent.

FieldTypeDescription
imageUrlstringMain listing image.
titlestringAirbnb's short listing title, for example Apartment in Barcelona.
namestringThe host-written listing name.
urlstringDirect link to the room.
idstringAirbnb listing id.
pricenumberPrice for the shown period, or null.
currencystringCurrency code.
priceQualifierstringWhat the price covers, for example for 5 nights or per night.
originalPricenumberPre-discount price, or null.
discountPercentnumberDiscount percentage, or null.
priceLabelstringFull human-readable price label.
ratingnumberAverage rating, or null.
reviewsCountnumberNumber of reviews, or null.
isGuestFavoritebooleantrue when flagged Guest Favorite.
badgesstring[]Badges shown on the card.
latitudenumberGeo latitude, or null.
longitudenumberGeo longitude, or null.
citystringCity.
checkInstringCheck-in date used, or null.
checkOutstringCheck-out date used, or null.
imagesstring[]Image gallery URLs.
roomTypestringRoom type (with withDetails), or null.
propertyTypestringProperty type (with withDetails), or null.
personCapacitynumberMax guests (with withDetails), or null.
bedroomsnumberBedroom count (with withDetails), or null.
bedsnumberBed count (with withDetails), or null.
bathroomsnumberBathroom count (with withDetails), or null.
isSuperhostbooleanSuperhost flag (with withDetails), or null.
hostNamestringHost name (with withDetails), or null.
hostIdstringHost id (with withDetails), or null.
hostIsVerifiedbooleanHost verified flag (with withDetails), or null.
guestSatisfactionnumberOverall guest satisfaction rating, or null.
accuracyRatingnumberAccuracy category rating, or null.
checkinRatingnumberCheck-in category rating, or null.
cleanlinessRatingnumberCleanliness category rating, or null.
communicationRatingnumberCommunication category rating, or null.
locationRatingnumberLocation category rating, or null.
valueRatingnumberValue category rating, or null.
cancellationPolicystringCancellation policy name (with withDetails), or null.
amenitiesstring[]Available amenities (with withDetails), or null.
aiListingSummarystringAI guest-facing summary when the add-on is enabled, else null.
aiFeaturesobjectAI highlights, best-for and house rules when enabled, else null.
observedAtstringISO 8601 timestamp of when the record was collected.
errorstringPresent only on a failed run; a single item with a populated error field is written instead.

Example output record

Real record from a live run with the AI add-ons enabled (input {"location": "Austin, TX", "withAiListingSummary": true, "withAiFeatures": true}):

{
"imageUrl": "https://a0.muscache.com/im/pictures/prohost-api/Hosting-28254684/original/e07f15eb-ebc9-48f6-bad6-186684fc1e8d.jpeg",
"title": "Home in Austin",
"name": "The Iconic Bloomhouse | Romantic Austin Escape",
"url": "https://www.airbnb.com/rooms/28254684",
"id": "28254684",
"price": 2215,
"currency": "USD",
"priceQualifier": "for 5 nights",
"originalPrice": 3025,
"discountPercent": 27,
"priceLabel": "$2,215 for 5 nights, originally $3,025",
"rating": 4.95,
"reviewsCount": 272,
"isGuestFavorite": true,
"badges": ["Guest favorite"],
"latitude": 30.3159,
"longitude": -97.8036,
"city": "Austin",
"checkIn": "2026-08-30",
"checkOut": "2026-09-04",
"images": ["https://a0.muscache.com/im/pictures/prohost-api/Hosting-28254684/original/e07f15eb-ebc9-48f6-bad6-186684fc1e8d.jpeg"],
"aiListingSummary": "The Iconic Bloomhouse is a romantic escape in the heart of Austin, perfect for couples looking to unwind. With a stellar rating of 4.95 and over 270 reviews, guests rave about its charming ambiance and standout amenities.",
"aiFeatures": {
"highlights": ["Romantic escape", "Guest favorite", "Iconic design", "Prime location in Austin"],
"bestFor": ["couples", "romantic getaways", "special occasions"],
"houseRules": ["no pets", "no smoking"]
},
"observedAt": "2026-08-14T06:20:30.844Z",
"error": null
}

Run via API and CLI

Start a run and wait for it to finish, then read the dataset. Replace <TOKEN> with your Apify API token.

Run synchronously and get dataset items in one call:

curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~airbnb-scraper/run-sync-get-dataset-items?token=<TOKEN>" \
-H "Content-Type: application/json" \
-d '{"location":"Miami, FL","maxListings":25,"withDetails":true}'

Start a run asynchronously:

curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~airbnb-scraper/runs?token=<TOKEN>" \
-H "Content-Type: application/json" \
-d '{"location":"Barcelona, Spain","checkIn":"2026-12-06","checkOut":"2026-12-11","adults":2,"maxListings":100}'

Apify CLI:

apify call scrapers_lat/airbnb-scraper \
--input '{"location":"Miami, FL","withDetails":true}'

Fetch results

Every run writes to a dataset. Fetch items as JSON, CSV, or Excel by changing format:

# JSON
curl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=json"
# CSV
curl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=csv"
# Paginate large datasets
curl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&offset=1000&limit=1000"

<DATASET_ID> is returned as defaultDatasetId in the run object. Use offset and limit to page through large result sets. clean=true drops empty and internal fields.

Billing and limits

  • Pay per result. You are charged per listing record returned (result event). See the pricing tab for the current per-result price.
  • Add-ons billed separately. details is charged per listing enriched; ai_listing_summary and ai_features are each charged per listing only when the model returns usable output (paid Apify plans only).
  • No charge on failure. If a run errors, the actor writes a single item with a populated error field and does not charge for it. Empty runs cost nothing.
  • Spend cap respected. Set maxTotalChargeUsd on the run; once reached, the actor stops emitting and charging further billable results.
  • Free Apify plans are capped at 10 records per run. Upgrade for higher maxListings.

FAQ and troubleshooting

A run returned 0 records. Why? The location or filter combination matched nothing, or the dates had no availability. Widen the filters or remove dates. Zero-result runs are not charged.

How do I get total stay prices instead of nightly? Set checkIn and checkOut. The price then reflects the whole stay and priceQualifier shows the period.

Can I scrape a single listing? Yes. Put the airbnb.com/rooms/... URL in startUrls. It is scraped directly with full details.

Which currency do prices use? The currency you set (default USD). Airbnb converts prices to that currency.

Why are the AI fields null? The AI add-ons are off by default and require a paid Apify plan. Enable withAiListingSummary or withAiFeatures on a paid plan to populate them.

Is this an official Airbnb tool? No. This actor is independent and has no affiliation with Airbnb. It reads only data that is publicly available on airbnb.com.

More scrapers at scrapers.lat

Built and maintained by scrapers.lat, where we publish scrapers for US and Latin American public platforms: company registries, government data, finance, e-commerce and more. Browse the catalog or request a custom scraper at scrapers.lat.


Independent tool, not affiliated with Airbnb. Accesses only publicly available airbnb.com data.