marriott.com APImarriott.com ↗
Access Marriott hotel listings, property details, guest reviews, and room availability across all Marriott brands globally via a simple REST API.
curl -X GET 'https://api.parse.bot/scraper/3736ff40-fd43-4adf-a6c0-81a3d2f86e39/list_hotels?brand=MC&locale=en-US' \ -H 'X-API-Key: $PARSE_API_KEY'
List all hotels for a specific Marriott brand. Returns an array of hotel objects with name, location, and contact information.
| Param | Type | Description |
|---|---|---|
| brand | string | Marriott brand code (e.g., MC for Marriott, SI for Sheraton, WI for Westin, RC for Ritz-Carlton, CY for Courtyard) |
| locale | string | Locale for property names and descriptions (e.g., en-US, de-DE) |
{
"type": "object",
"fields": {
"total": "integer total number of hotels returned",
"hotels": "array of hotel objects with name, marsha_code, city, address, country, latitude, longitude, phone, brand"
},
"sample": {
"data": {
"total": 634,
"hotels": [
{
"city": "Algiers",
"name": "Algiers Marriott Hotel Bab Ezzouar",
"brand": "MC",
"phone": "+1 (555) 012-3456",
"address": "Trust Complex Buildings, Nouveau Quartier des Affaires, Bab Ezzouar",
"country": "Algeria",
"latitude": "36.712008",
"longitude": "3.193064",
"marsha_code": "ALGMC"
}
]
},
"status": "success"
}
}About the marriott.com API
The Marriott API covers 4 endpoints that expose hotel listings, detailed property metadata, guest reviews, and availability URLs across every Marriott brand globally. Use list_hotels to enumerate properties by brand code — MC, SI, WI, RC, CY, and others — with each record returning the hotel's MARSHA code, coordinates, address, phone number, and country. Downstream endpoints accept that MARSHA code to fetch richer data on a single property.
Hotel Discovery and Brand Filtering
The list_hotels endpoint accepts an optional brand parameter using Marriott's standard brand codes (e.g., RC for Ritz-Carlton, WI for Westin, SI for Sheraton). Omitting it returns hotels across all brands. Each object in the hotels array includes marsha_code, name, city, address, country, latitude, longitude, phone, and brand. A locale parameter controls the language of returned names and descriptions, supporting values like en-US or de-DE.
Property Details
get_hotel_details takes a required property_id (MARSHA code obtained from list_hotels) and an optional brand code. The response returns a single hotel object with full metadata: description_main, geographic coordinates, address fields, and amenities flags. This is the primary endpoint for building property pages or enriching a hotel database with Marriott-sourced details.
Guest Reviews
get_reviews returns paginated guest reviews for a given MARSHA code. The response includes total (total reviews available), limit, and offset for pagination control, plus a reviews array where each entry carries id, rating, title, text, user, submission_time, and is_recommended. Reviews are ordered by most recent submission, making it straightforward to surface fresh feedback.
Room Availability and Pricing
get_rooms_and_pricing accepts a property_id and optional check_in / check_out dates in YYYY-MM-DD format. When dates are omitted, the endpoint defaults to a window starting 30 days from today. The response returns a constructed availability url, a message string, and a status_code indicating whether the availability page is currently accessible — useful for validating that a property is bookable before redirecting a user.
- Build a hotel comparison tool filtered by Marriott brand using
list_hotelswith thebrandparameter - Populate a travel app's property pages with addresses, coordinates, and descriptions from
get_hotel_details - Display aggregated guest ratings and review text pulled from
get_reviewsalongside booking options - Monitor review sentiment over time by paginating
get_reviewswithlimitandoffsetfor a set of MARSHA codes - Validate hotel availability before deep-linking users to Marriott's booking page via
get_rooms_and_pricing - Geocode a portfolio of Marriott properties using
latitudeandlongitudefields for map-based travel tools - Localize hotel names and descriptions for non-English markets using the
localeparameter inlist_hotels
| 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 Marriott offer an official developer API?+
What does `get_reviews` return and how does pagination work?+
id, rating (numeric), title, text, user, submission_time, and is_recommended (boolean). The total field in the response tells you how many reviews exist for that property. Use offset incrementally with a fixed limit to page through all available reviews.Does the API return actual room rates or booking data?+
get_rooms_and_pricing endpoint returns a constructed availability page url and an HTTP status_code confirming whether that page is accessible — it does not return structured room-type data, nightly rates, or inventory counts directly. You can fork this API on Parse and revise it to add an endpoint that extracts structured pricing fields from the availability page.Are all Marriott brands covered, or only a subset?+
list_hotels endpoint supports brand codes for the major Marriott portfolio brands including Marriott (MC), Sheraton (SI), Westin (WI), Ritz-Carlton (RC), and Courtyard (CY), among others. Smaller sub-brands or newly added labels may not be enumerated. You can fork this API on Parse and revise it to add support for additional brand codes if a specific brand is missing.