# Airbnb Listing Scraper (x402)

> Airbnb Listing Scraper (x402) is a paid API for AI agents from x402.186-241-26-229.sslip.io, paid per call via x402, $0.025/call, status unknown (last checked 2026-10-02).

Scrapes structured Airbnb listing data by location query or search URL, returning titles, descriptions, amenities, ratings, and pricing.

## Facts

- Endpoint: POST https://x402.186-241-26-229.sslip.io/v1/airbnb?utm_source=zero.xyz
- Price: $0.025/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-02
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/airbnb-listing-scraper-x402-6584d25a
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_E_yS7F4c6kJwbf4L2tCOE

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability airbnb-listing-scraper-x402-6584d25a -d '<json body>'
```

Example prompt: Search Airbnb for entire home listings in Lisbon, Portugal for 2 adults and 1 child checking in June 10 and checking out June 17, with at least 2 bedrooms, under $200 per night — give me up to 20 results with full details.

## When to prefer this

Use this endpoint when you need structured Airbnb listing data for a specific destination, date range, and guest configuration without building your own scraper. It is ideal for travel planning agents, accommodation comparison tools, or any workflow requiring programmatic access to Airbnb search results. At $0.025 per call with no charge for failed runs, it is cost-effective for pay-per-use agent workflows. Prefer this over generic web scrapers when you need clean, schema-normalized Airbnb data with guest filters, price filters, and optional detailed room-level information.

## Known failure modes

- Empty results if location query matches no listings or filters are too restrictive
- No charge on failed or empty runs
- Invalid date format (must be YYYY-MM-DD) may cause errors
- checkOut must be after checkIn or the request will fail
- startUrls containing room-level URLs (not search URLs) are not accepted
- Very broad queries with maxResults=0 may take longer or time out

## How this service works

Pay-per-call structured web data. Failed or empty runs are not charged.

## Output

Returns a JSON object with a count of results and an array of listing items. Each item includes the listing ID, URL, title, subtitle, description (in original language), search query used, and search URL. When includeDetails is true, additional detail like host info, amenities, photos, ratings, and house rules are included.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "pets": {
   "type": "integer",
   "minimum": 0,
   "description": "Number of pets."
  },
  "adults": {
   "type": "integer",
   "minimum": 1,
   "description": "Number of adult guests."
  },
  "checkIn": {
   "type": "string",
   "description": "Arrival date in YYYY-MM-DD format. Use with checkOut for date-specific prices."
  },
  "infants": {
   "type": "integer",
   "minimum": 0,
   "description": "Number of infant guests."
  },
  "minBeds": {
   "type": "integer",
   "minimum": 0,
   "description": "Only search homes with at least this many beds."
  },
  "checkOut": {
   "type": "string",
   "description": "Departure date in YYYY-MM-DD format; must be after checkIn."
  },
  "children": {
   "type": "integer",
   "minimum": 0,
   "description": "Number of child guests."
  },
  "currency": {
   "type": "string",
   "default": "USD",
   "description": "Currency requested for search prices."
  },
  "priceMax": {
   "type": "integer",
   "minimum": 0,
   "description": "Maximum nightly price filter in the selected currency."
  },
  "priceMin": {
   "type": "integer",
   "minimum": 0,
   "description": "Minimum nightly price filter in the selected currency."
  },
  "roomTypes": {
   "type": "array",
   "default": [],
   "description": "Optional room type filters, such as Entire home/apt or Private room."
  },
  "startUrls": {
   "type": "array",
   "default": [],
   "description": "Public Airbnb search URLs, including any filters already in the URL. Room URLs are not accepted."
  },
  "maxResults": {
   "type": "integer",
   "default": 100,
   "minimum": 0,
   "description": "Maximum unique listings across all searches. Set 0 to collect all publicly paginated results."
  },
  "minBedrooms": {
   "type": "integer",
   "minimum": 0,
   "description": "Only search homes with at least this many bedrooms."
  },
  "minBathrooms": {
   "type": "integer",
   "minimum": 0,
   "description": "Only search homes with at least this many bathrooms."
  },
  "includeDetails": {
   "type": "boolean",
   "default": true,
   "description": "Open each public room page for description, host, amenities, ratings, photos, and rules."
  },
  "locationQueries": {
   "type": "array",
   "description": "City, region, or destination names to search."
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "count": 1,
  "items": [
   {
    "id": null,
    "url": null,
    "title": null,
    "subtitle": null,
    "searchUrl": null,
    "description": null,
    "searchQuery": null,
    "descriptionOriginalLanguage": null
   }
  ],
  "product": "airbnb"
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/airbnb-listing-scraper-x402-6584d25a/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from x402.186-241-26-229.sslip.io](https://www.zero.xyz/host/x402.186-241-26-229.sslip.io/llms.txt)
