# Airbnb Stay Search API Documentation

Search public Airbnb stays for a place and optional dates and guests: for each stay the id, url, title, name, subtitle, rating, review count, total price with currency and price breakdown, bedrooms, beds, bathrooms, approximate coordinates, badges and images. Pass the place as City--Country (Paris--France) or as City, Country. Page with the cursor from the previous response next_cursor field. The price is the total for the stay; without dates Airbnb prices a default stay. An unknown place returns a not-billable 404.

- **Documentation:** [https://scrappa.co/docs/airbnb-api/airbnb_search](https://scrappa.co/docs/airbnb-api/airbnb_search)
- **API group:** Airbnb API
- **Endpoint:** `GET https://scrappa.co/api/airbnb/search`

## Authentication

Send your Scrappa API key in the `X-API-KEY` request header. Paid endpoints also support accountless x402 payments when called without an API key.

## Parameters

| Parameter | Type | Required | Description |
| --- | --- | --- | --- |
| `place` | string | Yes | City and country, e.g. Paris--France or Paris, France. |
| `checkin` | string | No | Check-in date, YYYY-MM-DD. Send together with checkout. Must not be in the past. |
| `checkout` | string | No | Check-out date, YYYY-MM-DD, after check-in. |
| `adults` | integer | No | Number of adults, 1 to 16. Defaults to 1. |
| `children` | integer | No | Number of children, 0 to 10. |
| `infants` | integer | No | Number of infants, 0 to 10. |
| `pets` | integer | No | Number of pets, 0 to 10. |
| `currency` | string | No | ISO 4217 currency code for prices. Defaults to USD. Example: EUR. |
| `price_max` | integer | No | Maximum nightly price in the chosen currency. |
| `room_type` | string | No | One of entire_home, private_room, hotel_room. |
| `cursor` | string | No | Cursor from the previous response next_cursor field. Omit for the first page. |

## Example request

```bash
#!/bin/bash

curl -X GET \
    -H "x-api-key: YOUR_API_KEY_HERE" \
    "https://scrappa.co/api/airbnb/search?place=Paris--France&checkin=2026-11-10&checkout=2026-11-14&adults=2&currency=EUR"
```

## Example response

```json
{
    "success": true,
    "data": {
        "place": "Paris, France",
        "results": [
            {
                "id": "871709404587070017",
                "url": "https://www.airbnb.com/rooms/871709404587070017",
                "title": "Apartment in Paris",
                "name": "Nice attic apartment - Haut-Marais",
                "subtitle": "Nice attic apartment - Haut-Marais",
                "rating": 4.8,
                "review_count": 25,
                "price": {
                    "amount": 558,
                    "currency": "EUR",
                    "qualifier": "total"
                },
                "price_breakdown": [
                    {
                        "description": "4 nights x \u20ac120.00",
                        "amount": 480
                    },
                    {
                        "description": "Taxes",
                        "amount": 78
                    },
                    {
                        "description": "Total",
                        "amount": 558
                    }
                ],
                "bedrooms": 1,
                "beds": 1,
                "bathrooms": 1,
                "latitude": 48.86726,
                "longitude": 2.35481,
                "badges": [
                    "Guest favorite"
                ],
                "images": [
                    "https://a0.muscache.com/im/pictures/miso/Hosting-871709404587070017/original/9bbcbfb8-f508-4d78-b1aa-729f30141ba7.jpeg",
                    "https://a0.muscache.com/im/pictures/miso/Hosting-871709404587070017/original/5d4c23fb-2dcf-4462-a480-721b1a53313d.jpeg"
                ]
            }
        ],
        "has_more": true,
        "next_cursor": "eyJzZWN0aW9uX29mZnNldCI6MCwiaXRlbXNfb2Zmc2V0IjoxOCwidmVyc2lvbiI6MX0="
    },
    "meta": {
        "endpoint_family": "stay_search",
        "billable": true
    }
}
```

## Errors

| Status | Error | Description |
| --- | --- | --- |
| 422 | Validation Error | A required query parameter is missing or invalid. This response is not billable. |
| 404 | Resource Not Found | The requested Airbnb place was not found. Use City--Country such as Paris--France. This response is not billable. |
| 503 | Service Unavailable | Airbnb could not be reached, blocked the request or returned an unexpected response. This response is not billable. Retry later. |

## More Scrappa resources

- [API documentation](https://scrappa.co/docs)
- [Full LLM-readable API reference](https://scrappa.co/llms-full.txt)
- [OpenAPI specification](https://scrappa.co/docs/api.json)
- [Pricing](https://scrappa.co/pricing)
