Accor Search API
Find Accor (ALL) hotels near a location, each with its best available offer for your dates.
Overview
Search returns live pricing
Unlike a metadata-only search, this endpoint returns each property's best available offer (price, meal plan, availability) for the requested dates in the same call. It therefore takes check-in / check-out dates, which default to today and tomorrow if you omit them.
The Accor Search endpoint covers all ALL — Accor Live Limitless properties (Sofitel, Fairmont, Raffles, Pullman, Novotel, Mercure, Ibis, Mövenpick, Swissôtel, plus partner hotels like Hard Rock). It returns distance-sorted properties with brand details, star classification, a guest-review summary, structured address, top amenities, distance from the search center, and the property\'s best offer.
Endpoint URL
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| latitude | float | One of | Latitude of search center (-90 to 90). Provide with longitude, or use destination_slug instead. |
| longitude | float | One of | Longitude of search center (-180 to 180). |
| destination_slug | string | One of | Accor destination slug, e.g. new-york-ny-usa. Alternative to latitude/longitude. |
| radius_km | integer | Optional | Search radius in km (1-200), geo mode only. Default: 50 |
| check_in | date | Optional | Check-in date (YYYY-MM-DD). Default: today |
| check_out | date | Optional | Check-out date (YYYY-MM-DD). Default: check-in + 1 night |
| adults | integer | Optional | Number of adults (1-8). Default: 1 |
| currency | string | Optional | ISO-4217 currency code. Default: USD |
| country_market | string | Optional | ISO-3166 alpha-2 market country (affects price/availability). Default: US |
| limit | integer | Optional | Maximum properties to return (1-50). Default: 20 |
| offset | integer | Optional | Pagination offset (≥ 0). Default: 0 |
Pick one location mode
Provide either latitude + longitude (with optional radius_km) or a destination_slug. Omitting both returns a 400 MISSING_LOCATION error. For coordinates, geocode a place name first — for example, Times Square is approximately 40.758, -73.985.
Response Format
The response lists Accor hotels nearest-first, each with brand details, star rating, a guest-review summary, structured address, top amenities, distance from the search center, and the property\'s best available offer for the dates.
Response Structure
- success: Boolean indicating request success
- hotels: Array of hotel objects (sorted by distance)
- total: Number of hotels returned
- place: Resolved place (slug + center coordinates; populated in slug mode)
- price_range: Min/max nightly price across the results
Hotel Object Fields
| Field | Type | Description |
|---|---|---|
| id | string | Accor hotel id (a code like "C5U9" or "2185"). Use with the Rooms, Photos, and Price Calendar endpoints. |
| name | string | Hotel name |
| brand | object | Brand details (code, name) e.g., "Sofitel", "Fairmont" |
| lodging | object | Lodging type (code, name) e.g., "Hotel" |
| stars | float | Official star classification |
| rating | float | Guest-review score (0-5). May be null for some partner properties. |
| review_count | integer | Number of guest reviews |
| amenities | array | Top amenity codes (e.g., "PARKING", "PET", "RESTAURANT") |
| address | object | Structured address (street, city, postal_code, country, country_code) |
| distance_meters | integer | Distance from the search center, in meters (also distance_feet) |
| availability_status | string | "AVAILABLE" or "UNAVAILABLE" for the requested dates |
| best_offer | object | Cheapest offer for the dates: currency, amount, per_night, total, aggregation_type, formatted, tax_summary, meal_plan, nights. Null when the property has no priced offer. |
No per-hotel coordinates
This upstream does not expose per-property latitude/longitude on search results — only distance_meters from the search center. Use the address fields for mapping, or the place.location center in slug mode.
Error Responses
The API returns standard HTTP error codes with detailed messages following the RFC 7807 Problem Details format.
400 Bad Request
Missing location (neither lat/lng nor destination_slug), or invalid/past dates.
{
"type": "https://api.stayapi.com/errors/missing-location",
"title": "Missing Location",
"status": 400,
"detail": "Provide either latitude+longitude or destination_slug",
"provider": "accor",
"product": "search",
"error_code": "MISSING_LOCATION"
}
422 Unprocessable Entity
A parameter is out of range (e.g., bad coordinates, limit > 50).
502 Bad Gateway
Upstream service error from Accor.
Usage Tips
Best Practices
- Take the
idfrom each result and call the Rooms, Photos, or Price Calendar endpoints — the id works on all of them - Set
currencyandcountry_marketto your guest\'s market — both affect price and availability - Results are sorted by distance (nearest first); bound the area with
radius_km - A property with
best_offer: nullhas no priced offer for those dates — try different dates
Rate Limiting
This endpoint is subject to your plan's rate limits. Each search counts as one API call regardless of the number of results returned.