Discover/Marriott API
live

Marriott APImarriott.com

Access Marriott hotel listings, property details, guest reviews, and room availability across all Marriott brands via a structured JSON API.

Endpoint health
verified 4d ago
get_reviews
get_rooms_and_pricing
list_hotels
get_hotel_details
4/4 passing latest checkself-healing
Endpoints
4
Updated
26d ago

What is the Marriott API?

The Marriott API covers 4 endpoints that expose hotel listings, property metadata, guest reviews, and availability URLs across all Marriott brands worldwide. The list_hotels endpoint returns full arrays of properties for a given brand — including MARSHA codes, coordinates, and contact details — while get_hotel_details provides per-property flags like has_spa, has_golf, and bookable status. Review data and room availability links are also accessible through dedicated endpoints.

Try it
Marriott brand code
Locale for property names and descriptions (e.g., en-US, de-DE)
api.parse.bot/scraper/3736ff40-fd43-4adf-a6c0-81a3d2f86e39/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
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'
Python SDK · recommended

Typed, relational, agent-ready

A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.

  • Fully typed · autocompletes
  • Objects link to objects
  • Typed errors & pagination

Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:

uv add parse-sdk
uv run parse init
uv run parse add --marketplace marriott-com-api

uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.

from parse_apis.marriott_hotels_api import Marriott, HotelSummary, Hotel, Review, Brand

marriott = Marriott()

# List Westin hotels globally
for hotel_summary in marriott.hotelsummaries.list(brand=Brand.WESTIN, limit=3):
    print(hotel_summary.name, hotel_summary.city, hotel_summary.country)

# Navigate from summary to full detail
detail = hotel_summary.details()
print(detail.name, detail.description_main, detail.year_built)
print(detail.has_fitness, detail.has_spa, detail.number_of_rooms)

# Access reviews via the detail resource's sub-resource
for review in detail.reviews.list(offset=0):
    print(review.title, review.rating, review.user, review.submission_time)

# Check availability for specific dates
avail = detail.availability.check(check_in="2026-08-01", check_out="2026-08-03")
print(avail.url, avail.status_code, avail.message)
All endpoints · 4 totalmissing one? ·

List all hotels for a specific Marriott brand. Returns an array of hotel objects with name, location, and contact information. Each brand has hundreds of properties worldwide; no server-side filtering beyond brand selection.

Input
ParamTypeDescription
brandstringMarriott brand code
localestringLocale for property names and descriptions (e.g., en-US, de-DE)
Response
{
  "type": "object",
  "fields": {
    "total": "integer total number of hotels returned",
    "hotels": "array of hotel summary objects with name, marsha_code, city, address, country, latitude, longitude, phone, brand"
  },
  "sample": {
    "data": {
      "total": 510,
      "hotels": [
        {
          "city": "New York",
          "name": "New York Marriott Marquis",
          "brand": "MC",
          "phone": "+1 (555) 012-3456",
          "address": "1535 Broadway",
          "country": "USA",
          "latitude": "40.758855",
          "longitude": "-73.985869",
          "marsha_code": "NYCMQ"
        }
      ]
    },
    "status": "success"
  }
}

About the Marriott API

Hotel Listings and Property Metadata

The list_hotels endpoint accepts an optional brand code and locale parameter, returning every property under that brand as an array of hotel objects. Each object includes name, marsha_code, city, address, country, latitude, longitude, phone, and brand. There is no server-side filtering beyond brand selection, so client-side filtering by city or country must be applied after retrieval. The MARSHA code returned here is the key identifier used by all other endpoints.

The get_hotel_details endpoint takes a property_id (MARSHA code) and an optional brand parameter, returning comprehensive metadata for that property: email, phone, address, currency, latitude, boolean amenity flags (has_spa, has_golf), and a bookable flag indicating whether the property accepts online reservations. The property must belong to the specified brand to return results.

Guest Reviews

The get_reviews endpoint retrieves paginated guest reviews for any property identified by its MARSHA code. Results are sorted by most recent submission and support offset-based pagination via limit and offset parameters. Each review object includes id, rating, title, text, user, submission_time, and is_recommended. The total field in the response indicates the full review count available for that property.

Room Availability

The get_rooms_and_pricing endpoint accepts a property_id plus optional check_in and check_out dates in YYYY-MM-DD format. When dates are omitted, it defaults to a window starting 30 days from today. The response returns a url pointing to the Marriott availability page for those dates, a status_code reflecting whether that page is currently accessible, and a message field with a plain status description. Actual nightly rates are not returned as structured fields — the URL is the entry point for pricing data.

Reliability & maintenanceVerified

The Marriott API is a managed, monitored endpoint for marriott.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when marriott.com changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.

This isn't an official marriott.com API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.

Last verified
4d ago
Latest check
4/4 endpoints passing
Maintenance
Monitored & self-healing
Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Build a brand comparison tool by pulling list_hotels for multiple Marriott brand codes and mapping properties by country or latitude/longitude.
  • Aggregate amenity data across a portfolio of hotels using has_spa, has_golf, and bookable fields from get_hotel_details.
  • Monitor guest sentiment trends by paginating through get_reviews and tracking rating and is_recommended distributions over time.
  • Generate direct booking deep-links for a travel app using the url returned by get_rooms_and_pricing with specific check-in and check-out dates.
  • Build a property directory filtered by city or country by retrieving full brand arrays from list_hotels and filtering client-side.
  • Identify contactable properties for B2B outreach by extracting email and phone fields from get_hotel_details for a target brand.
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo1005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 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.

Frequently asked questions
Does Marriott provide an official public developer API?+
Marriott has not published a general-purpose public developer API. This Parse API provides structured access to hotel listings, property details, reviews, and availability links without requiring a Marriott developer account.
What does `get_rooms_and_pricing` actually return — can I get nightly room rates as structured data?+
The endpoint returns a url to the Marriott availability page, an HTTP status_code, and a message. Nightly rates and room type inventory are not returned as structured fields in the response. The URL can be used to direct users to the Marriott booking page for the requested dates.
Can I filter the `list_hotels` results by city, country, or amenity on the server side?+
No server-side filtering beyond brand selection is available. The endpoint returns all properties for a brand, and any filtering by city, country, or fields like has_spa needs to be applied after you receive the full response array. You can fork this API on Parse and revise it to add a filtering endpoint for those parameters.
Are loyalty program details, points redemption rates, or Bonvoy member pricing covered?+
Not currently. The API covers property metadata, amenity flags, guest reviews, and availability page URLs. Marriott Bonvoy loyalty data, points balances, and member-rate pricing are not exposed. You can fork this API on Parse and revise it to add an endpoint targeting that data.
How does pagination work for `get_reviews`, and how do I know when I've reached the last page?+
The endpoint uses offset-based pagination controlled by the limit and offset parameters. The total field in the response contains the full count of reviews available for the property. When offset plus the count of reviews returned in the current page equals or exceeds total, you have retrieved all available reviews.
Page content last updated . Spec covers 4 endpoints from marriott.com.
Related APIs in TravelSee all →
hotels.com API
Search for hotels across millions of properties, view room availability and pricing, and get detailed information about accommodations at specific destinations. Get location suggestions and discover popular travel spots to help plan your next getaway.
booking.com API
Search for accommodations across Booking.com and instantly access detailed property information including pricing, amenities, and guest reviews to compare your options. Find the perfect stay by filtering thousands of listings and retrieving comprehensive details like room descriptions, availability, and booking terms all in one place.
expedia.com API
Search for hotels and flights across Expedia while viewing detailed property information to compare prices and amenities for your travel plans. Get comprehensive travel options all from one integration without manually browsing the website.
hotelscan.ai API
Search and compare hotels with detailed guest reviews, room availability, and pricing information across flexible dates. Find similar properties, get autocomplete suggestions for locations, and access comprehensive hotel details all in one place.
tripadvisor.com API
Search for travel destinations and discover hotels with detailed information like ratings, reviews, and amenities. Get comprehensive place details to help plan your perfect trip and compare accommodation options.
booking-com.p.rapidapi.com API
Search Booking.com properties and retrieve detailed information like pricing, amenities, reviews, and availability without manually browsing the site. Access structured property data instantly to compare accommodations and make informed booking decisions.
airbnb.com API
Search Airbnb stays by destination and dates, then retrieve listing details, availability calendars, and recent guest reviews for a specific listing.
orbitz.com API
Search for hotels and destinations on Orbitz, then view detailed property information including pricing and amenities. Get typeahead location suggestions as you type to quickly find your travel destination.