Skip to content
airbnb

CLI

Every command and subcommand, with the flags that matter.

airbnb <command> [arguments] [flags]

Run airbnb <command> --help for the full flag list on any command.

Commands

Command What it does
search <place> Stay search by place (best-effort, may hit the edge wall)
room <id> Show one listing by id (best-effort, may hit the edge wall)
reviews <id> List a listing's reviews (best-effort)
calendar <id> A listing's availability and nightly price (best-effort)
experiences <place> Search experiences in a place (best-effort)
suggest <prefix> Location autocomplete suggestions (best-effort)
host show <id> Show a host's public profile (best-effort)
host listings <id> List a host's public listings (best-effort)
ref id <ref> Classify a reference into its (kind, id), offline
ref url <kind> <id> Build the canonical URL for a (kind, id), offline
serve [--addr] Serve the operations over HTTP as NDJSON
mcp Run as an MCP server over stdio
version Print the version and exit

A listing is addressed by its numeric room id, like 12345, or a /rooms/ URL. A host is addressed by its user id, like 555, or a /users/show/ URL. A reference can also be an /experiences/ path, a full Airbnb URL, or a pasted GraphQL global id. Every live surface is walled from datacenter IPs; see what anonymous access reaches.

A nightly price only exists for specific dates, so room and search leave the price empty unless you give --checkin and --checkout (with --adults and --children).

Global flags

These are shared by every operation, so they work the same on every command.

Flag Meaning
-o, --output Output format: auto, table, json, jsonl, csv, tsv, url, raw
--fields Comma-separated columns to keep
--template Go text/template applied per record
--no-header Omit the header row in table and csv
-n, --limit Stop after N records (0 means no limit)
--rate Minimum delay between requests
--retries Retry attempts on rate limit or 5xx
--timeout Per-request timeout
--data-dir Override the data directory
--no-cache Bypass on-disk caches
--db Tee every record into a store (e.g. out.db, postgres://...)
-v, --verbose Increase verbosity (repeatable)
-q, --quiet Suppress progress output
--color auto, always, or never
--cache-ttl How long a cached response stays fresh
--refresh Fetch fresh copies and rewrite the cache, ignoring any hit

Airbnb flags

These tune how airbnb reads the site and what a price quote covers.

Flag Meaning
--user-agent Override the User-Agent sent with each request
--locale Locale for localized strings (default en)
--currency Currency for prices (default USD)
--api-key Override the public web key (not a credential; see below)
--checkin Stay check-in date YYYY-MM-DD (makes a nightly price appear)
--checkout Stay check-out date YYYY-MM-DD
--adults Number of adults for the price quote (default 1)
--children Number of children for the price quote

--api-key overrides only the public web key the site already ships. It is not a secret and there is no signed or affiliate API behind it. See configuration.

See output formats for what -o, --fields, and --template produce, and configuration for environment variables and defaults.