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 Marriott.com hotel search results, room types, rate plans, and Bonvoy member pricing as clean JSON.
curl "https://api.stayapi.com/v1/marriott/bonvoy/search" \ -G \ -H "x-api-key: $STAYAPI_KEY" \ -d "latitude=13.7563" \ -d "longitude=100.5018" \ -d "check_in=2026-04-15" \ -d "check_out=2026-04-18" \ -d "adults=2" \ -d "currency=USD"
curl "https://api.stayapi.com/v1/marriott/bonvoy/rooms" \ -G \ -H "x-api-key: $STAYAPI_KEY" \ -d "property_id=BKKDT" \ -d "check_in=2026-04-15" \ -d "check_out=2026-04-18" \ -d "adults=2" \ -d "currency=USD"
{
"success": true,
"hotels": [
{
"property_id": "BKKDT",
"name": "JW Marriott Hotel Bangkok",
"brand": {
"id": "JW",
"name": "JW Marriott"
},
"location": {
"latitude": 13.744,
"longitude": 100.5494
},
"rating": 4.5,
"review_count": 2847,
"bookable": true,
"price": {
"per_night": 185.0,
"total": 555.0,
"taxes": 55.5,
"fees": 0,
"currency": "USD",
"points_per_night": 35000
},
"distance_meters": 1250.5
}
],
"total": 42,
"page_info": {
"offset": 0,
"limit": 20,
"has_more": true
}
}
{
"success": true,
"property_id": "BKKDT",
"room_types": [
{
"name": "Deluxe Room",
"bed_type": "1 King",
"view": "City View",
"category": "STANDARD",
"available_rooms": 5,
"rates": [
{
"name": "Best Available Rate",
"rate_plan_code": "BAR",
"per_night": 185.0,
"total": 555.0,
"fees": 0,
"currency": "USD",
"members_only": false,
"free_cancellation_until": "2026-04-13T18:00:00"
},
{
"name": "Member Rate",
"rate_plan_code": "MBR",
"per_night": 166.5,
"total": 499.5,
"fees": 0,
"currency": "USD",
"members_only": true,
"free_cancellation_until": "2026-04-13T18:00:00"
}
]
}
],
"total": 2
}
Trusted by hospitality teams at
Marriott has no public data API for the brand.com rates and availability that revenue and rate-shopping teams actually need. To compare what Marriott.com shows against the OTAs, 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. This is a focused pair: search Marriott properties near a coordinate, then pull room types and rate plans for a property_id. You get structured JSON back with per-night and total prices, member-only rates, cancellation deadlines, and Bonvoy points. The same shape on every call.
X-API-Key in, JSON out. Search Marriott hotels by coordinates, then fetch rooms and rates for a property_id. No SDK to install.
Fetching the Marriott.com booking flow, parsing rate plans, and proxy rotation are ours. You consume normalized JSON and never touch a headless browser.
Every call hits Marriott live, so rates, member pricing, and room availability are current to the request, not a stale nightly snapshot.
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 the Marriott.com rate per room type and date, then compare it against Booking.com or Expedia for the same property to catch parity gaps.
Watch room types and available_rooms for a Marriott property over time to track how inventory and rate plans move toward the stay date.
Read the members_only flag and Bonvoy points fields to compare member-only direct rates against the public best available rate and the OTAs.
Search by coordinate across a market and benchmark Marriott hotels on price, rating, brand, and distance using the same fields for every property.
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.
Marriott runs developer programs for connectivity and channel partners, but they are gated, contract-bound, and not built for pulling brand.com search results or competitor rates. StayAPI gives you Marriott.com search and room rates over plain REST with a key you get in 30 seconds.
Yes. Call /v1/marriott/bonvoy/rooms with a property_id and your dates to get room types and rate plans as JSON: per-night and total price, the members_only flag, cancellation deadlines, and Bonvoy points. See the rooms endpoint docs.
Call /v1/marriott/bonvoy/search with a latitude, longitude, and check-in / check-out dates. You get Marriott properties near that point with live pricing, brand, rating, and distance, each with a property_id you pass to the rooms endpoint. See the search endpoint docs.
You get 100 free requests on signup, both endpoints included, no credit card. After that it is flat monthly plans starting at $49. One request equals one credit, with no per-endpoint multipliers.
Both end with live Marriott Bonvoy 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