# Search stays

Search Airbnb stays for a destination, with optional dates and guest counts. Check `location.resolved` before treating results as a destination match.

- Platform: Airbnb
- Request: `GET https://api.toolzerhub.com/v1/airbnb/stays/search`
- Auth: `x-api-key` header
- Cost: 1 credit per successful request. Failed requests are not billed.
- Page: https://docs.toolzerhub.com/reference/airbnb/stays/search-airbnb-stays

| Parameter | In | Required | Type | Description |
| --- | --- | --- | --- | --- |
| `destination` | query | yes | string | City, region, neighbourhood, or address to search. Check location.resolved; an unrecognized destination can return unrelated stays. |
| `count` | query | no | integer | Maximum stays to return. Check has_more to see whether more results are available. Default: 18. |
| `checkin` | query | no | string | Check-in date, ISO YYYY-MM-DD. Must be given together with checkout. When both are set, prices come back for that stay length rather than Airbnb's default window. |
| `checkout` | query | no | string | Check-out date, ISO YYYY-MM-DD. Must be after checkin. |
| `adults` | query | no | integer | Number of adult guests (1-16). |
| `children` | query | no | integer | Number of children (0-15). |
| `infants` | query | no | integer | Number of infants (0-5). |

## Example request

```bash
curl "https://api.toolzerhub.com/v1/airbnb/stays/search?destination=<destination>" \
  -H "x-api-key: $TOOLZERHUB_API_KEY"
```

Success responses are wrapped as `{ "data": ... }`. Errors return `{ "error": { "code", "status", "message", "retryable", "details" } }`. See https://docs.toolzerhub.com/docs/responses-and-errors.
