Airbnb Scraper — Listings, Prices & Ratings, Cheap avatar

Airbnb Scraper — Listings, Prices & Ratings, Cheap

Pricing

from $1.50 / 1,000 listing scrapeds

Go to Apify Store
Airbnb Scraper — Listings, Prices & Ratings, Cheap

Airbnb Scraper — Listings, Prices & Ratings, Cheap

Airbnb scraper for search results: listing name, type, area, GPS, price per night and total, rating, review count, beds, baths, badges and photos. Search by place or paste Airbnb search URLs; filter by dates, guests, price, room type. No login, no host personal data. Pay per result, no subscription.

Pricing

from $1.50 / 1,000 listing scrapeds

Rating

0.0

(0)

Developer

Fabrikit

Fabrikit

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

Collect Airbnb search results at scale: listing name, type, area, GPS coordinates, price per night and total for your dates, rating, review count, bedrooms/beds/bathrooms, badges (Superhost, Guest favourite) and photos. Search by place name or paste Airbnb search URLs. No login, no cookies, no browser, and no host personal data.

Pay per listing saved. See How much does it cost to scrape Airbnb? below.

What it does

  • Runs one search per location or URL and saves one row per listing.
  • Works around Airbnb's cap of roughly 270 listings per search: when a search is exhausted, the Actor splits it by room type and then by nightly price bands, so a single run can return thousands of unique listings from a large city.
  • Reads Airbnb's current API settings from the live site at the start of every run, so it keeps working when the site redeploys.
  • Prices come in the currency and language you pick.
  • Starts on Apify datacenter proxy and switches to residential proxy automatically if Airbnb blocks it.

Who it is for

  • Hosts and property managers benchmarking their nightly price, rating and badges against nearby listings for the same dates.
  • Short-term rental investors sizing supply, price levels and review volume by neighbourhood before buying.
  • Travel startups and price-comparison sites that need fresh Airbnb prices for given dates and guests.
  • Analysts, researchers and city planners studying short-term rental density with GPS coordinates.
  • Agencies and data teams feeding listing data into dashboards, spreadsheets or BI tools on a schedule.

Key features

  • Search by place or by URL: type Lisbon, Portugal or paste any airbnb.com search URL; dates, guests, price range, room type and map bounds in the URL are used as-is.
  • Real prices for your stay: with check-in and check-out you get the nightly average and the total Airbnb quotes for those dates and guests.
  • Filters: room type, nightly price range, minimum bedrooms, beds and bathrooms, adults, children, infants and pets.
  • Beyond the ~270 cap: automatic splitting by room type and price bands (and map quadrants for map URLs), with duplicates removed by listing id.
  • Exact limits: maxItems across all searches, maxItemsPerSearch per location, and your Apify spending limit are all respected.
  • Privacy by design: no host names, no reviewer names, no review texts.

Input

FieldMeaning
locationsPlaces, e.g. Lisbon, Portugal. One search each.
startUrlsAirbnb search URLs (place, dates, guests, price, room type and map bounds are read from the URL).
checkIn, checkOutYYYY-MM-DD. Without dates Airbnb quotes a default 5-night stay.
adults, children, infants, petsGuests.
priceMin, priceMaxNightly price range in the chosen currency (0 = none).
roomTypesentire_home, private_room, hotel_room, shared_room.
minBedrooms, minBeds, minBathroomsSize filters.
currency, localee.g. EUR and es.
maxItemsTotal listings to save (default 50).
maxItemsPerSearchOptional cap per location/URL.

Example:

{
"locations": ["Lisbon, Portugal", "Porto, Portugal"],
"checkIn": "2026-12-01",
"checkOut": "2026-12-04",
"adults": 2,
"roomTypes": ["entire_home"],
"priceMax": 150,
"currency": "EUR",
"maxItems": 500,
"maxItemsPerSearch": 250
}

More input examples

Airbnb prices in Mexico City in US dollars (the "Airbnb prices in Mexico City" example task):

{ "locations": ["Mexico City, Mexico"], "currency": "USD", "locale": "en", "maxItems": 50 }

Listings in Barcelona in euros (the "Airbnb listings in Barcelona" task):

{ "locations": ["Barcelona, Spain"], "currency": "EUR", "locale": "en", "maxItems": 50 }

Family stays with 2+ bedrooms in Rio de Janeiro for New Year:

{
"locations": ["Rio de Janeiro, Brazil"],
"checkIn": "2026-12-29",
"checkOut": "2027-01-02",
"adults": 4,
"children": 2,
"minBedrooms": 2,
"roomTypes": ["entire_home"],
"currency": "USD",
"maxItems": 200
}

Output

{
"id": "978163736844393100",
"url": "https://www.airbnb.com/rooms/978163736844393100?check_in=2026-12-01&check_out=2026-12-04&adults=2",
"name": "Alfama Village with Air Conditioning, door 19",
"roomType": "Apartment",
"area": "Santa Maria Maior",
"city": "Lisbon",
"latitude": 38.713,
"longitude": -9.1295,
"currency": "EUR",
"pricePerNight": 66.9,
"priceTotal": 201,
"originalPriceTotal": null,
"nights": 3,
"priceLabel": "€201 for 3 nights",
"rating": 4.84,
"reviewsCount": 246,
"bedrooms": 1,
"beds": 1,
"bathrooms": 1,
"isSuperhost": false,
"isGuestFavorite": true,
"badges": ["Guest favorite"],
"images": ["https://a0.muscache.com/im/pictures/..."],
"checkIn": "2026-12-01",
"checkOut": "2026-12-04",
"searchQuery": "Lisbon, Portugal",
"scrapedAt": "2026-10-13T11:58:48.933Z"
}

Notes on fields: pricePerNight is the average nightly rate after any discount, priceTotal is the quoted total for the stay shown on the search card (before taxes/fees Airbnb adds at checkout), and originalPriceTotal is set when the host lowered the price. area is the neighbourhood from the listing title and city comes from your search text. Rooms found through map-bounds URLs have no title, so roomType/area can be empty there. Bedroom/bath parsing is most complete with locale: en.

Output fields

FieldDescription
id / urlAirbnb listing id and link (with your dates and guests).
nameListing title.
roomTypeKind of stay (Apartment, Home, Room…).
area / cityNeighbourhood from the title; city from your search.
latitude / longitudeMap position Airbnb shows for the listing.
currencyCurrency of all prices.
pricePerNightAverage nightly rate after discounts.
priceTotal / originalPriceTotalTotal for the stay; original total when discounted.
nights / priceLabelNumber of nights and Airbnb's price text.
rating / reviewsCountAverage rating and number of reviews.
bedrooms / beds / bathroomsSize of the listing.
isSuperhost / isGuestFavorite / badgesAirbnb badges.
imagesPhoto URLs.
checkIn / checkOutDates used for the quote.
searchQueryThe location or URL that found the listing.
scrapedAtWhen the row was collected.

How much does it cost to scrape Airbnb?

EventWhen it is charged
listing-resultOne listing saved
apify-actor-startOnce per run (a fraction of a cent)

From 30 October 2026, 1,000 listings cost US$3 on the Apify Free plan; paid Apify plans pay less per listing — see the Pricing tab.

You are only charged for listings written to the dataset. The Actor stops cleanly if your spending limit is reached.

FAQ

Does it need a login or cookies? No. It reads public search results only.

Does it return host names or reviews? No. Host names, reviewer names and review texts are deliberately not collected.

Why did I get fewer listings than maxItems? The place may simply have fewer listings for your filters and dates. A search with a place name Airbnb does not recognise returns Airbnb's generic results, so check spelling.

Which currency are price filters in? The currency you choose.

Is the data live? Yes, each run queries Airbnb at that moment; prices depend on the dates you give.

How do I get every listing in a big city? Set a high maxItems and leave maxItemsPerSearch at 0. When the ~270-result cap is hit, the actor splits the search automatically. For very large areas you can also paste several map-bounds search URLs, one per district.

What happens if no listings come back? The run fails with a message asking you to check the location spelling, the dates (check-out after check-in, in the future) and the filters, so a broken scheduled search does not look like an empty market.

Can I track prices over time? Yes. Save your input as a task with fixed dates and schedule it daily or weekly; compare pricePerNight and priceTotal per listing id across runs.

Does it include taxes and cleaning fees? priceTotal is the total shown on the search card for your dates. Taxes and fees added at checkout are not included.

Use cases

  • Short-term rental market and pricing analysis by neighbourhood.
  • Competitor monitoring for hosts and property managers.
  • Travel price comparison and deal alerts.
  • Real-estate investment research (supply, ratings, occupancy proxies).

This actor only collects listing information that Airbnb shows publicly in its search results, without logging in, and it deliberately leaves out host names, reviewer names and review texts. Listing titles or photos can still reveal personal details in some cases, so data-protection laws such as the EU GDPR, Chile's Ley 21.719 or the California CCPA may apply to how you store and use the data; you are responsible for having a lawful purpose. Photos belong to their owners, so do not republish them. You should also respect Airbnb's terms of service. This is general information, not legal advice.

Integrations

Run the Airbnb Scraper from the Apify API or the JavaScript and Python clients, push results to your systems with webhooks, or schedule daily price checks in Apify Console. It works with n8n, Make and Zapier (for example, to append prices to Google Sheets), and with LangChain and LlamaIndex through their Apify integrations. AI agents in Claude, ChatGPT, Cursor and other MCP clients can find and run it through Apify's MCP server. Export as JSON, CSV or Excel, or read from the dataset API.

Use with AI agents

Use this actor to get Airbnb listings for a place (or an Airbnb search URL) with nightly and total prices for given dates and guests, ratings, size and coordinates.

{ "locations": ["Lisbon, Portugal"], "checkIn": "2026-12-01", "checkOut": "2026-12-04", "adults": 2, "maxItems": 30 }

Main output fields: name, url, roomType, area, pricePerNight, priceTotal, currency, rating, reviewsCount, bedrooms, beds, bathrooms, latitude, longitude. It is pay-per-event: an agent pays a small start fee plus a fixed price per listing saved, not for compute time.

Ready-made examples

Changelog

  • 2026-10-16 — README expanded: more input examples, output field table, FAQ, legal notes, integrations and example tasks.
  • 2026-10-15 — Tiered pricing announced, effective 2026-10-30 (lower per-listing price on paid Apify plans).
  • 2026-10-13 — Builds 0.1.1–0.1.3: initial release. Search by place or URL, automatic splitting beyond Airbnb's ~270-result cap, residential proxy fallback; build 0.1.3 fetches result pages in parallel for faster large runs.

En español

Extrae listados de Airbnb por ciudad o por URL de búsqueda: nombre, tipo, zona, coordenadas, precio por noche y total, puntuación, número de reseñas, camas/baños, insignias y fotos. Sin login y sin datos personales de anfitriones. Divide automáticamente las búsquedas grandes por tipo de alojamiento y rangos de precio para superar el límite de ~270 resultados. Se cobra por listado guardado; el precio vigente para tu plan está en la pestaña Pricing.