Airbnb Data Scraper avatar

Airbnb Data Scraper

Pricing

from $1.71 / 1,000 dataset items

Go to Apify Store
Airbnb Data Scraper

Airbnb Data Scraper

Compare Airbnb listings, stays, and market signals. Start with Airbnb URLs; each returned record keeps price qualifier, address locality, titles, prices, and ratings.

Pricing

from $1.71 / 1,000 dataset items

Rating

0.0

(0)

Developer

ReapX

ReapX

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

an hour ago

Last modified

Share

Compare Airbnb listings, stays, and market signals. Start with Airbnb URLs; each returned record keeps price qualifier, address locality, titles, prices, and ratings.

Airbnb Data Scraper source page and returned record

What it returns

Each row keeps the Airbnb source record beside the fields needed to use it. The opening set is listingId, url, priceString, currency, priceQualifier, image, guestBadge, checkin, checkout, resolvedQuery, searchUrl, and description. The complete schema is declared before the run, and dataset views keep related fields together without changing the underlying row.

Input

Airbnb Data Scraper published input controls

Airbnb Data Scraper input-to-run walkthrough

Airbnb Data Scraper accepts source URLs. Run controls stay in the same form.

FieldWhat it controlsStarting value
startUrlsPaste exact Airbnb URLs, one per line.["https://www.airbnb.com/s/Paris/homes?checkin=2026-09-15&checkout=2026-09-18"]
checkinEnter the check-in date in the format accepted by the source."2026-09-15"
checkoutEnter the check-out date in the format accepted by the source."2026-09-18"
currencyEnter the currency code used for price normalization.""
maxItemsStop after this many dataset rows.18
maxSecondsStop after this many seconds and keep completed rows.240

Example input

{
"startUrls": [
"https://www.airbnb.com/s/Paris/homes?checkin=2026-09-15&checkout=2026-09-18"
],
"checkin": "2026-09-15",
"checkout": "2026-09-18",
"maxItems": 3,
"maxSeconds": 240
}

No field is required. Start with the filled example, then replace only the target values needed for the job. Run controls can stay at their starting values for the first collection.

Dataset fields

Airbnb Data Scraper declared output schema

FieldType
listingIdstring
urlstring
priceStringstring
currencystring
priceQualifierstring
imagestring
guestBadgestring
checkinstring
checkoutstring
resolvedQuerystring
searchUrlstring
descriptionstring
addressLocalitystring
locationSubtitlestring
propertyTypestring
spaceTypestring
hostNamestring
detailStatusstring

Dataset views

Views are working surfaces for review and export. They select and order fields while leaving the stored row unchanged.

ViewOpening fields
overviewlistingId, hostName, title, description, roomCategory, priceString, currency, and priceQualifier
identitylistingId, hostName, title, guestBadge, propertyType, spaceType, and detailStatus
contentlistingId, hostName, url, description, roomCategory, and amenities
commercelistingId, hostName, url, priceString, currency, priceQualifier, and price
engagementlistingId, hostName, url, rating, and reviewCount
locationlistingId, hostName, url, addressLocality, locationSubtitle, latitude, longitude, and personCapacity

Output and exports

OutputTypeDestination
resultsstring{{links.apiDefaultDatasetUrl}}/items
jsonstring{{links.apiDefaultDatasetUrl}}/items?clean=true&format=json
csvstring{{links.apiDefaultDatasetUrl}}/items?clean=true&format=csv
excelstring{{links.apiDefaultDatasetUrl}}/items?clean=true&format=xlsx
jsonlstring{{links.apiDefaultDatasetUrl}}/items?clean=true&format=jsonl

Completed rows are available in the Apify dataset as JSON, CSV, Excel, and JSONL exports. The run output also carries the declared links above for API clients and automations.

Pricing

$3 per 1,000 dataset items on the Free plan. Other Apify plans use the rates shown in the Pricing tab.

Console, API, schedules, and MCP

Airbnb Data Scraper API and MCP invocation

Runs can begin in Apify Console, from a saved task, or through the Actor API. A schedule can reuse the same input, and a run-finished webhook can pass the dataset or run ID to the next system.

POST https://api.apify.com/v2/acts/P1cRkgdqJJBY6xJRE/runs
GET https://api.apify.com/v2/datasets/{datasetId}/items

For MCP selection, use Airbnb Data Scraper. Its machine entry carries the same description, input field names, no-required-field contract, output types, dataset fields, views, and pricing facts as this document.

Saved tasks

Twenty saved-task products cover distinct lookup, comparison, research, operations, automation, and export jobs:

  • What similar Airbnb places charge: buyer-job; opens commerce.
  • Which Airbnb hosts are Superhosts: buyer-job; opens engagement.
  • How many Airbnb listings a neighbourhood already has: buyer-job; opens location.
  • Airbnb places that sleep a specific number of guests: buyer-job; opens overview.
  • Airbnb listings ranked by reviews that count: buyer-job; opens engagement.
  • What amenities competing Airbnb listings offer: buyer-job; opens content.
  • How many photos Airbnb listings actually use: buyer-job; opens content.
  • Find Airbnb hosts running more than one place: buyer-job; opens identity.
  • Airbnb listing locations for mapping: buyer-job; opens location.
  • What kinds of property an Airbnb market is made of: buyer-job; opens overview.
  • Whole-home Airbnb listings only: buyer-job; opens overview.
  • First look at an Airbnb market you do not know: buyer-job; opens location.
  • Keep an eye on specific Airbnb listings: buyer-job; opens overview.
  • What badges Airbnb shows on a listing: buyer-job; opens engagement.
  • How Airbnb listings describe themselves: buyer-job; opens content.
  • Airbnb listings that came back incomplete: buyer-job; opens overview.

Integrations

Use the dataset API from any HTTP client, export rows to a spreadsheet, or send the run ID through an Apify webhook. Saved tasks give schedules and automation tools a stable input without changing the Actor contract.

When a run needs attention

  • No rows: Open the target in a browser, check spelling and source visibility, then retry the saved example before widening the input.
  • A field is empty: Check the field beside its source URL. A missing source value stays empty instead of being replaced with a guess.
  • A target fails: Keep successful targets in the dataset, then retry only the affected input.
  • An automation cannot find results: Read the dataset ID from the run and request its items endpoint directly.

FAQ

What do I get back from one run?

One row per general with 29 declared fields, opening on listingId, url, priceString and currency. The schema is published before the run, so you know the shape before you spend anything.

Do I need a airbnb account or login?

No. The run works from the airbnb sources you supply in the input. Nothing is posted, changed or accessed on your behalf.

What does a run cost?

The current rate is shown on the Pricing tab and is charged per row you receive, so a run that finds nothing costs close to nothing. Cap the run with the item limit when you want a predictable ceiling.

Can I try it before committing budget?

Yes. Cap the run with the item limit in the input and inspect the first rows. The cap is enforced before charging, so a trial run stays a trial.

What do I put in the input?

The staged input is already usable: startUrls, checkin and checkout. Replace the staged target with your own list when you are ready to run for real.

Are any fields required?

No field is required. Every input carries a working default, so the Actor can be started as-is and refined afterwards.

How do I report a problem?

Open an issue on the Actor with the run ID, the input you used and the field or row that needs attention. The run ID lets the exact execution be inspected.

How is this different from Airbnb Price Scraper?

Airbnb Data Scraper answers one job: Compare Airbnb listings, stays, and market signals.. Airbnb Price Scraper covers a different question on the same platform. Run both when you need both sides.

What is detailStatus for?

It records how the row was resolved, so you can filter to the rows you trust instead of treating every row as equally certain.

How do I read the output without scrolling through JSON?

Open the overview view on the Output tab. 6 views ship with the Actor (overview, identity, content, commerce, engagement and location), each grouping the fields that belong to one question.

How do I get the data into my own tools?

Export the dataset as JSON, CSV, Excel or XML, call the dataset API directly, or attach a run-finished webhook and collect the dataset reference as soon as the run ends.

Can an agent or LLM call this?

Yes. Airbnb Data Scraper is exposed over MCP with the same description, no-required-field input contract and output types shown here, so an agent can select and call it without a human in the loop.

Why is a value empty on some rows?

airbnb does not expose every field on every general. An absent value stays empty rather than being filled with a guess, so a row never invents a fact it did not receive.

A run returned fewer rows than I expected. Why?

The usual causes are a narrow source list, an item cap still set low, or a source that genuinely holds less than expected. Widen the input or raise the cap and run again.

Can I schedule this to run on its own?

Yes. Save the input as an Apify task and attach a schedule. Keep separate tasks when different teams need different targets or delivery paths.

Do I need to configure proxies?

No. Network access is handled inside the Actor and needs no proxy configuration from you.

How fresh is the data?

Every row is collected during the run you start, not served from a cache. Re-run the same input whenever you need the current state of a airbnb general.

Can I use the results commercially?

The Actor collects publicly accessible airbnb information. You remain responsible for how you use it, including any privacy or contractual obligations that apply to your business.

How do I compare two runs?

Keep listingId and url as your join key and diff the exports. The identity fields stay stable across runs, which is what makes a comparison meaningful.

What happens if a source fails mid-run?

The run continues through the remaining sources and finishes with what it collected. Partial results are still written to the dataset rather than discarded.

Can I limit how long a run takes?

Yes. The checkin input caps the run. Use it when you need a predictable cost and a predictable finish time.

Support

Use the Actor issue form for product questions, broken source routes, schema mismatches, and feedback. Include the smallest input that reproduces the problem. That is enough to locate the run and its dataset without sharing an entire working list.

Use this Actor only for data you are allowed to collect. Follow source terms, privacy law, and your own retention policy.