# Airbnb Listings API

Get Airbnb listing records — price, availability, ratings, host info, amenities, photos — by listing URL or by location search

**Pricing:** $2 / 1k listings

**Endpoint:** `POST /v1/data/airbnb/listings/run`

**Auth:** `Authorization: Bearer mk_live_...`

## Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `urls` | array | No | Airbnb listing URLs (https://www.airbnb.com/rooms/...) to fetch details for. |
| `location` | string | No | Place to search (e.g. "Paris, France" or "Lisbon"). Returns listings in that area. |
| `priceMin` | integer | No | Minimum nightly price filter (location search only). |
| `priceMax` | integer | No | Maximum nightly price filter (location search only). |
| `minBedrooms` | integer | No | Minimum number of bedrooms (location search only). |
| `minBeds` | integer | No | Minimum number of beds (location search only). |
| `minBathrooms` | integer | No | Minimum number of bathrooms (location search only). |
| `checkIn` | date | No | Check-in date for availability and price. |
| `checkOut` | date | No | Check-out date for availability and price. |
| `adults` | integer | No | Number of adults in the party. |
| `children` | integer | No | Number of children (ages 2-12). |
| `infants` | integer | No | Number of infants (under 2). |
| `pets` | integer | No | Number of pets. |
| `locale` | string | No | Language and region for the listing data. |
| `currency` | string | No | Currency for prices. |

## Example

```bash
curl -X POST https://api.mindcase.co/v1/data/airbnb/listings/run \
  -H "Authorization: Bearer mk_live_YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"params":{}}'
```

```python
import requests

resp = requests.post(
    "https://api.mindcase.co/v1/data/airbnb/listings/run",
    headers={"Authorization": "Bearer mk_live_YOUR_API_KEY"},
    json={"params": {}},
)
data = resp.json()
```

## Get the results

`run` is async and returns a `job_id`. Poll until `status` is `completed`, then read the rows:

```bash
# 1) check status
curl https://api.mindcase.co/v1/jobs/JOB_ID \
  -H "Authorization: Bearer mk_live_YOUR_API_KEY"

# 2) when status == completed, fetch the rows
curl https://api.mindcase.co/v1/jobs/JOB_ID/results \
  -H "Authorization: Bearer mk_live_YOUR_API_KEY"
```

Full API reference (auth, jobs, balance, endpoints): https://mindcase.co/skills.md

## Response columns

| Field | Display name | Type |
|-------|--------------|------|
| `listingUrl` | Listing URL | url |
| `title` | Title | text |
| `propertyType` | Property Type | text |
| `roomType` | Room Type | text |
| `capacity` | Capacity | number |
| `summaryDetails` | Summary Details | array |
| `description` | Description | text |
| `location` | Location | text |
| `locationSubtitle` | Location Subtitle | text |
| `locationPath` | Location Path | text |
| `latitude` | Latitude | number |
| `longitude` | Longitude | number |
| `neighborhoodNotes` | Neighborhood Notes | object_array |
| `ratings` | Ratings | object |
| `highlights` | Highlights | object_array |
| `amenities` | Amenities | array |
| `houseRules` | House Rules | array |
| `cancellationPolicy` | Cancellation Policy | text |
| `checkInDate` | Check-In Date | text |
| `checkOutDate` | Check-Out Date | text |
| `available` | Available | boolean |
| `totalPrice` | Total Price | text |
| `pricePerNight` | Price Per Night | text |
| `baseSubtotal` | Base Subtotal | text |
| `priceQualifier` | Price Qualifier | text |
| `host` | Host | object |
| `coHosts` | Co-Hosts | object_array |
| `images` | Images | object_array |
| `thumbnail` | Thumbnail | url |
