Wire it up. See the schema.
- 100 free requests on signup
- Every endpoint included
- No credit card required
- Same schema as paid
A quick demo might save your team weeks of engineering work.
Resources
Free Tools
Pull hotel search, room offers, a per-date price calendar, and photos across Accor brands like Sofitel, Fairmont, Pullman, Novotel, Mercure, and Ibis as clean JSON.
curl "https://api.stayapi.com/v1/accor/search" \ -G \ -H "x-api-key: $STAYAPI_KEY" \ -d "latitude=40.758" \ -d "longitude=-73.985" \ -d "radius_km=15" \ -d "currency=USD" \ -d "limit=3"
curl "https://api.stayapi.com/v1/accor/hotel/rooms" \ -G \ -H "x-api-key: $STAYAPI_KEY" \ -d "hotel_id=C5U9" \ -d "check_in=2026-06-20" \ -d "check_out=2026-06-22" \ -d "adults=2"
curl "https://api.stayapi.com/v1/accor/hotel/price-calendar" \ -G \ -H "x-api-key: $STAYAPI_KEY" \ -d "hotel_id=2185" \ -d "date_from=2026-06-20" \ -d "date_to=2026-06-27"
curl "https://api.stayapi.com/v1/accor/hotel/photos" \ -G \ -H "x-api-key: $STAYAPI_KEY" \ -d "hotel_id=2185" \ -d "categories=BEDROOM,POOL"
{
"success": true,
"total": 3,
"price_range": {
"min": 36,
"max": 1620
},
"hotels": [
{
"id": "C5U9",
"name": "Hard Rock Hotel New York - Partner of ALL Accor",
"brand": {
"code": "HAR",
"name": "Hard Rock"
},
"stars": 4.5,
"rating": null,
"amenities": [
"PARKING",
"PET",
"RESTAURANT"
],
"address": {
"street": "159 W 48 Street",
"city": "New York",
"postal_code": "10036",
"country_code": "US"
},
"distance_meters": 304,
"availability_status": "AVAILABLE",
"best_offer": {
"currency": "USD",
"per_night": 405,
"total": 405,
"formatted": "$405",
"meal_plan": "EUROPEAN_PLAN",
"nights": 1
}
}
]
}
{
"success": true,
"hotel_id": "C5U9",
"currency": "USD",
"availability_status": "AVAILABLE",
"total_offers": 21,
"room_types": [
{
"accommodation_code": "KGD",
"rates": [
{
"rate_code": "1RA4",
"rate_label": "ADVANCE SAVER RATE",
"meal_plan": "EUROPEAN_PLAN",
"per_night": 513.78,
"total": 1027.55,
"formatted": "$1,027.55",
"cancellation_label": "Non-refundable",
"guarantee_label": "Online payment",
"points": null,
"alternative": {
"amount": 1076.8,
"formatted": "$1,076.80",
"bookable": true
},
"nights": 2
}
]
}
]
}
{
"success": true,
"hotel_id": "2185",
"name": "Sofitel New York",
"brand": {
"code": "SOF",
"name": "Sofitel"
},
"currency": "USD",
"total": 8,
"calendar": [
{
"date": "2026-06-20",
"status": "AVAILABLE",
"amount": 479,
"formatted": "$479",
"aggregation_type": "TOTAL_STAY",
"nights": 1
},
{
"date": "2026-06-22",
"status": "UNAVAILABLE",
"amount": null,
"formatted": null,
"nights": null
}
]
}
{
"success": true,
"hotel_id": "2185",
"name": "Sofitel New York",
"total": 6,
"photos": [
{
"category": "BEDROOM",
"type": "IMAGE",
"url": "https://www.ahstatic.com/photos/2185_ro_00_p_3000x2250.jpg",
"formats": [
{
"url": "https://www.ahstatic.com/photos/2185_ro_00_p_3000x2250.jpg",
"width": 3000,
"height": 2250
},
{
"url": "https://www.ahstatic.com/photos/2185_ro_00_p_1024x768.jpg",
"width": 1024,
"height": 768
}
],
"video": null
}
],
"categories": [
{
"code": "BEDROOM",
"label": "Rooms"
}
]
}
Trusted by hospitality teams at
Accor runs ALL, Accor Live Limitless, across dozens of brands from Raffles and Sofitel down to Ibis, but there is no public data API for the brand.com rates, room offers, and availability that revenue and product teams track. The usual answer is a scraping stack: headless browsers, rotating proxies, and a parser that breaks every time the booking flow changes.
StayAPI is that layer, run for you. You send a destination or a hotel_id and get structured JSON back: search results with each property's best offer, room rate plans with cancellation and loyalty pricing, a cheapest-price-per-date calendar, and the full photo gallery. The same data, the same shape, on every call.
X-API-Key in, JSON out. Search, rooms, price calendar, and photos behind one base URL, covering Sofitel, Fairmont, Pullman, Novotel, Mercure, Ibis, and partner properties. No SDK to install.
Fetching, parsing, proxy rotation, and source uptime are ours. You take the id off a search result and call rooms, photos, or the price calendar with it.
Every call hits Accor live, so brand.com rates, member pricing, and availability are current to the request and to the currency and country_market you ask for.
Each returns normalized JSON in the same shape. Click any endpoint for parameters, an example response, and a live playground.
The same endpoints, pointed at different jobs. These are the ones we see most.
Pull Accor's own brand.com rate per room and date, then compare it against what the OTAs show for the same property to catch parity gaps.
Poll rooms for a property across dates and occupancy to watch rate plans, member prices, and cancellation terms move over time.
Use the per-date cheapest offer to map a property's seasonality, find the best dates to stay, and chart how a 60-day window prices out.
Benchmark the brand.com member rate against third-party channels to quantify the gap a guest sees on the official site versus an OTA.
Keep room photos, pool and spa galleries, and category labels current in your own database from one normalized response with public image URLs.
The same endpoints are exposed as MCP tools. Connect Claude, Cursor, or Claude Code, ask in plain English, and the agent calls the tool and answers from live Accor data.
Flat monthly plans, every endpoint included on every plan. 1 request = 1 credit. No per-endpoint multipliers, no surprise overages.
Wire it up. See the schema.
Kick the tires in production.
Small prod workloads and growing apps.
Daily pulls in production.
Above 100k / month, annual terms, white-glove onboarding.
Every plan ships every endpoint. Same uptime, same schema, same response time.
Don't see your question? Email us at info@stayapi.com.
Accor has connectivity programs for distribution partners, but no public, self-serve data API for the brand.com rates, rooms, and availability that revenue and product teams need. StayAPI gives you that data over plain REST with a key you get in 30 seconds.
Yes. Call /v1/accor/search to find properties with each one's best offer, then pass the id to /v1/accor/hotel/rooms for full rate plans: per-night and total price, meal plan, cancellation terms, and member or loyalty pricing. It works across Accor brands like Sofitel, Pullman, Novotel, and Ibis. See the rooms endpoint docs.
Call /v1/accor/hotel/price-calendar with a hotel_id, date_from, and date_to. For each date in the window it returns the cheapest available offer for a stay starting that day, with a null price on unavailable dates. The window can span up to 60 days. See the price calendar docs.
You get 100 free requests on signup, every endpoint included, no credit card. After that it is flat monthly plans. One request equals one credit, with no per-endpoint multipliers.
JSON over HTTPS, the same shape on every call. REST works in any language with no SDK to install. Prices respect the currency and country_market you pass, since both affect Accor's brand.com pricing. Examples live in the docs.
Both end with live Accor data in your stack. The fast path is on the left.
100 free requests after sign up. Fastest way to see if the schema fits.
Start free15 minutes. Volume + endpoint mix. Walk out with a quote.
Book a demo