airbnb.pt APIairbnb.pt ↗
Access Airbnb rental listings, availability calendars, amenities, and guest reviews via 4 structured API endpoints. Search by location, dates, price, and guest count.
curl -X GET 'https://api.parse.bot/scraper/a19880b2-0c85-4abb-bbbb-517e6e17a4f6/search_rentals?adults=2&check_in=2026-05-01&location=Paris%2C+France&check_out=2026-05-07' \ -H 'X-API-Key: $PARSE_API_KEY'
Search for rentals with various filters including location, dates, guest count, price range, and property type. Returns paginated listing results with prices, ratings, photos, and coordinates.
| Param | Type | Description |
|---|---|---|
| limit | integer | Number of results per page |
| adults | integer | Number of adults |
| offset | integer | Pagination offset |
| check_in | string | Check-in date in ISO format YYYY-MM-DD |
| location | string | Search location query (e.g. 'Paris, France', 'New York') |
| check_out | string | Check-out date in ISO format YYYY-MM-DD |
| price_max | integer | Maximum nightly price in EUR |
| price_min | integer | Minimum nightly price in EUR |
| property_type_ids | string | Comma-separated property type IDs: 1=House, 2=Guesthouse, 3=Apartment, 4=Hotel |
{
"type": "object",
"fields": {
"listings": "array of listing objects with id, title, subtitle, name, price, price_short, rating, review_count, photos, lat, lng",
"pagination": "object with offset and has_next_page"
},
"sample": {
"data": {
"listings": [
{
"id": "899312813265883717",
"lat": 38.6806,
"lng": -9.1514,
"name": "Casa Quinta da Alegria",
"price": "€ 795 no total",
"title": "Apartamento em Almada",
"photos": [
"https://a0.muscache.com/im/pictures/miso/Hosting-899312813265883717/original/000aceb4-e727-4f9b-875c-ff45af62c0cd.jpeg"
],
"rating": "4,91 (65)",
"subtitle": "Casa Quinta da Alegria",
"price_short": "€ 795",
"review_count": "Classificação média de 4,91 em 5 estrelas, 65avaliações"
}
],
"pagination": {
"offset": 0,
"has_next_page": true
}
},
"status": "success"
}
}About the airbnb.pt API
The Airbnb.pt API covers 4 endpoints for querying short-term rental data: search listings by location and date range, retrieve full property details including amenities and cancellation policy, fetch a 12-month availability calendar, and pull paginated guest reviews. The search_rentals endpoint returns coordinates, photos, ratings, and nightly prices in a single response, making it straightforward to build map-based or list-based rental finders.
Search and Discovery
The search_rentals endpoint accepts a location string (e.g. 'Lisbon, Portugal' or 'New York'), optional check_in / check_out dates in YYYY-MM-DD format, adults count, and price_min / price_max bounds in EUR. Each result in the listings array includes a numeric id, title, subtitle, price, price_short, rating, review_count, a photos array, and lat/lng coordinates. Pagination is handled via offset and the has_next_page boolean in the pagination object.
Listing Details and Policies
get_listing_details takes a listing_id and returns a structured property record with an HTML description, an amenities array of title strings, house_rules, max_guests, cancellation_policy title, and a structured_price object for display-ready pricing. The title field may be null if the relevant section is unavailable for a given listing.
Availability and Pricing Calendar
get_listing_availability accepts a listing_id, year, and month (1–12) and returns up to 12 months of daily records. Each entry in the availability array carries a date string (YYYY-MM-DD), an available boolean, and a price string or null for days where pricing is not published. This is useful for building occupancy heatmaps or detecting open windows across a range of dates.
Guest Reviews
get_listing_reviews returns a reviews array with per-review id, text, rating (integer), and author (string or null), plus a total_count integer for the listing. Results are sorted by quality and support limit / offset pagination, so you can page through large review sets incrementally.
- Build a rental price tracker that monitors nightly rates across Lisbon or other markets using
search_rentalswithprice_min/price_maxfilters. - Populate a map-based rental finder using the
lat,lng,photos, andratingfields returned bysearch_rentals. - Generate occupancy reports by iterating
get_listing_availabilityacross multiple listings and flaggingavailable: falsedates. - Aggregate guest sentiment by collecting
textandratingfields fromget_listing_reviewsacross a set of competing properties. - Compare cancellation policies and
max_guestsacross listings in a destination usingget_listing_details. - Alert on newly opened availability windows by diffing consecutive
get_listing_availabilityresponses for a watched listing. - Audit amenity offerings at scale by extracting the
amenitiesarray fromget_listing_detailsacross a portfolio of properties.
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 250 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does Airbnb have an official developer API?+
What does `get_listing_availability` actually return, and how far out does it go?+
year and month you specify. Each record includes a date string, an available boolean, and a price string (or null when nightly pricing is not published for that date). It does not return minimum-stay requirements or blocked-reason codes.Are host profiles or host contact details available through this API?+
Does `search_rentals` filter by property type such as entire home vs. private room?+
search_rentals inputs cover location, dates, guest count, and price range. A property-type filter is not currently a supported parameter. You can fork the API on Parse and revise it to add property-type filtering to the search endpoint.How does pagination work across endpoints that support it?+
search_rentals returns a pagination object with an offset integer and a has_next_page boolean — pass the next offset value to retrieve subsequent pages. get_listing_reviews uses the same limit and offset pattern, and also returns total_count so you can calculate how many pages remain.