GET

Marriott Bonvoy Search API

Search for Marriott Bonvoy hotels by geographic coordinates with real-time availability and pricing.

Overview

Coordinate-Based Search

This endpoint searches by latitude and longitude, making it ideal for map-based applications and proximity searches.

The Marriott Bonvoy Search endpoint returns hotels near a geographic location with real-time pricing, brand information, ratings, and distance from the search center. Supports pagination, sorting, and currency selection.

Endpoint URL

GET https://api.stayapi.com/v1/marriott/bonvoy/search

Parameters

Parameter Type Required Description
latitude float Required Latitude of search center (-90 to 90)
longitude float Required Longitude of search center (-180 to 180)
check_in string Required Check-in date in YYYY-MM-DD format
check_out string Required Check-out date in YYYY-MM-DD format
adults integer Optional Number of adults (1-10). Default: 2
rooms integer Optional Number of rooms (1-8). Default: 1
currency string Optional Currency code (e.g., USD, EUR, GBP). Default: USD
offset integer Optional Pagination offset. Default: 0
limit integer Optional Results per page (max 20). Default: 20
sort_by string Optional Sort field (DISTANCE, PRICE, etc.). Default: DISTANCE

Finding Coordinates

Use Google Maps or a geocoding service to get latitude and longitude for your target location. For example, Bangkok is approximately 13.7563, 100.5018.

Response Format

The response includes a list of Marriott hotels with pricing, brand details, ratings, and distance from the search coordinates.

Response Structure

  • success: Boolean indicating request success
  • hotels: Array of hotel objects
  • total: Total number of matching hotels
  • page_info: Pagination metadata (offset, limit, has_more)

Hotel Object Fields

Field Type Description
property_id string Marriott property code (e.g., "BKKDT", "LAXJW")
name string Hotel name
brand object Brand details (id, name) e.g., "JW Marriott", "The Ritz-Carlton"
location object GPS coordinates (latitude, longitude)
description string Hotel description
rating float Guest rating score
review_count integer Total number of reviews
image string Primary hotel image URL
url string Marriott.com hotel page URL
bookable boolean Whether the property has available rooms
price object Pricing details (per_night, total, taxes, fees, currency, points_per_night)
distance_meters float Distance from search center in meters

Error Responses

The API returns standard HTTP error codes with detailed error messages following the RFC 7807 Problem Details format.

400 Bad Request

Invalid request parameters (e.g., invalid dates, out-of-range coordinates)

{
  "type": "https://api.stayapi.com/errors/invalid-dates",
  "title": "Invalid Dates",
  "status": 400,
  "detail": "Check-out date must be after check-in date"
}

502 Bad Gateway

Upstream service error from Marriott

{
  "type": "https://api.stayapi.com/errors/upstream-error",
  "title": "Upstream Error",
  "status": 502,
  "detail": "Search failed"
}

Usage Tips

Best Practices

  • Use precise coordinates for best results (e.g., city center or airport location)
  • Dates must be in YYYY-MM-DD format and check-in cannot be in the past
  • Use offset and limit for pagination through large result sets
  • The property_id field can be used with the Rooms endpoint to get detailed rates
  • Sort by PRICE to find the cheapest options first
  • The distance_meters field helps rank results by proximity

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.

Related Endpoints

Marriott Bonvoy Rooms

Get room types and rates for a specific Marriott property

View Documentation →

Meta Search

Search across multiple booking platforms

View Documentation →
Request
curl -X GET "https://api.stayapi.com/v1/marriott/bonvoy/search?latitude=13.7563&longitude=100.5018&check_in=2026-04-15&check_out=2026-04-18&adults=2&currency=USD" \
  -H "X-API-Key: YOUR_API_KEY"
Response
{
  "success": true,
  "hotels": [
    {
      "property_id": "BKKDT",
      "name": "JW Marriott Hotel Bangkok",
      "brand": {
        "id": "JW",
        "name": "JW Marriott"
      },
      "location": {
        "latitude": 13.7440,
        "longitude": 100.5494
      },
      "description": "Luxury hotel in the heart of Bangkok with world-class dining and spa facilities.",
      "rating": 4.5,
      "review_count": 2847,
      "image": "https://cache.marriott.com/content/dam/marriott-renditions/BKKDT/bkkdt-exterior-0001-hor-wide.jpg",
      "url": "https://www.marriott.com/hotels/travel/bkkdt-jw-marriott-hotel-bangkok/",
      "bookable": true,
      "price": {
        "per_night": 185.00,
        "total": 555.00,
        "taxes": 55.50,
        "fees": 0,
        "currency": "USD",
        "points_per_night": 35000
      },
      "distance_meters": 1250.5
    }
  ],
  "total": 42,
  "page_info": {
    "offset": 0,
    "limit": 20,
    "has_more": true
  }
}