Airbnb Price Tracker — Monitor Listing Prices avatar

Airbnb Price Tracker — Monitor Listing Prices

Pricing

from $10.00 / 1,000 results

Go to Apify Store
Airbnb Price Tracker — Monitor Listing Prices

Airbnb Price Tracker — Monitor Listing Prices

Scrape Airbnb search results across multiple locations, dates, and guest counts. Extract listing details, prices, ratings, amenities, and more. - **Multi-locati

Pricing

from $10.00 / 1,000 results

Rating

0.0

(0)

Developer

Julien ApiKiy

Julien ApiKiy

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Categories

Share

Airbnb Price Tracker — Apify Actor

Scrape Airbnb search results across multiple locations, dates, and guest counts. Extract listing details, prices, ratings, amenities, and more.

Features

  • Multi-location search — search across multiple cities/regions in one run
  • Date-aware pricing — includes check-in/check-out for accurate nightly and total prices
  • Rich data extraction — name, price/night, total price, rating, reviews, host, bedrooms, beds, baths, amenities, images, and URLs
  • Pagination support — automatically follows "Next" pages up to your maxResults limit
  • Anti-detection — randomized user agents, stealth browser args, human-like delays, no proxy required
  • Price & property filters — filter by min/max price and property type (apartment/house/all)
  • ESM / Node 22+ — modern JavaScript throughout

Input

FieldTypeDefaultDescription
locationsstring[]requiredCities, regions, or addresses to search
checkInstringCheck-in date (YYYY-MM-DD)
checkOutstringCheck-out date (YYYY-MM-DD)
guestsinteger2Number of guests (1–16)
minPriceinteger0Minimum nightly price filter (USD)
maxPriceinteger0Maximum nightly price filter (USD)
propertyTypestring"all"apartment, house, or all
maxResultsinteger20Max listings per location (1–200)

Output

Each dataset item contains:

{
"listingName": "Cozy Studio in Downtown",
"pricePerNight": 120,
"totalPrice": 600,
"rating": 4.85,
"reviewCount": 342,
"hostName": "Jane",
"bedrooms": 1,
"beds": 1,
"bathrooms": 1,
"amenities": ["WiFi", "Kitchen"],
"imageUrl": "https://...",
"listingUrl": "https://www.airbnb.com/rooms/123456",
"location": "New York",
"scrapedAt": "2025-07-04T12:00:00.000Z"
}

Usage

Run locally

npm install
npm start

Run via Apify CLI

apify actor:create airbnb-price-tracker
apify call -i '{"locations": ["New York"], "checkIn": "2025-08-01", "checkOut": "2025-08-05", "guests": 2, "maxResults": 10}'

Docker build

docker build -t airbnb-price-tracker .
docker run airbnb-price-tracker

Tests

$npm test

Architecture

airbnb-price-tracker/
├── .actor/
│ ├── actor.json # Actor configuration
│ ├── input_schema.json # Input schema with editor hints
│ └── output_schema.json # Output schema
├── src/
│ ├── main.js # Entry point, validation, orchestration
│ ├── scraper.js # Playwright scraping, anti-detection, extraction
│ └── utils.js # URL builders, parsers, helpers
├── test/
│ ├── utils.test.js # Tests for URL builders, parsers, helpers
│ ├── main.test.js # Tests for validation and defaults
│ └── scraper.test.js # Tests for module exports
├── Dockerfile
├── package.json
└── README.md

Anti-Detection Strategy

  • Random user agent from pool of 4 real Chrome strings
  • Playwright args to disable AutomationControlled and other fingerprinting vectors
  • navigator.webdriver override via addInitScript
  • Mock window.chrome, navigator.plugins, navigator.languages
  • Random delays (1–5s) between pages and locations
  • No proxy required — works from datacenter IPs

💰 Pricing

Pay-per-use, no monthly fees:

Price
Actor start$0.01
Per result$0.01

💡 Example: A run returning 500 results costs $5.01 total ($0.01 start + 500 × $0.01).

License

MIT