Marriott Bonvoy Hotel Directory, Rates & Award Category Scraper
TRAVELLEAD GENERATION
Marriott Bonvoy Hotel Directory, Rates & Award Category Scraper
Scrapes Marriott Bonvoy's complete hotel directory — ~8,800 properties across 32 brands — including Bonvoy award categories (1–8), points redemption tiers (off-peak / standard / peak), Free Night Certificate eligibility, cash rates, and hotel facts.
What you get
Each output record contains:
| Field | Description |
|---|---|
marriott_id |
5-character MARSHA code (e.g. NYCSM) |
brand_code / brand_name / brand_tier |
Brand identity and tier (luxury, premium, select, longer_stays, all_inclusive) |
property_name, address, city, state_province, country, country_code |
Full address |
lat, lng |
GPS coordinates |
award_category |
Bonvoy award category 1–8 |
award_points_off_peak / _standard / _peak |
Points required per night at each tier |
free_night_certificate_eligible |
Whether the property accepts Free Night Award certificates |
free_night_certificate_cap |
Maximum points cap for Free Night certificates |
lowest_published_rate_usd |
Lowest member rate snapshot |
guest_rating, review_count, star_rating |
Rating data |
total_rooms, total_suites, has_spa, has_pool, pet_friendly |
Property facts |
amenities |
Comma-separated amenity list |
property_url |
Direct Marriott.com URL |
Use cases
- Points redemption planning — identify best-value award properties by category and brand
- Market research — map Marriott's global footprint by brand tier and country
- Hotel data aggregation — build hotel databases with verified Bonvoy data
- Free Night Certificate optimization — filter properties eligible at your certificate cap
Input
| Parameter | Type | Description |
|---|---|---|
maxItems |
integer | Maximum properties to scrape. 0 = all (~8,800). Default: 10. |
brandCodes |
array | Filter by brand codes (e.g. ["JW", "RC", "SI"]). Empty = all brands. |
countryFilter |
string | ISO 2-letter country code (e.g. "US", "JP"). Empty = all countries. |
Brand codes reference
| Code | Brand | Tier |
|---|---|---|
| RZ | The Ritz-Carlton | Luxury |
| LC | The Luxury Collection | Luxury |
| JW | JW Marriott | Luxury |
| WH | W Hotels | Luxury |
| EB | EDITION | Luxury |
| MC | Marriott Hotels | Premium |
| SI | Sheraton | Premium |
| WI | Westin | Premium |
| MD | Le Meridien | Premium |
| BR | Renaissance Hotels | Premium |
| AK | Autograph Collection | Premium |
| CY | Courtyard by Marriott | Select |
| FP | Four Points by Sheraton | Select |
| SH | SpringHill Suites | Select |
| FI | Fairfield by Marriott | Select |
| MX | Moxy Hotels | Select |
| EE | Aloft Hotels | Select |
| RI | Residence Inn | Longer Stays |
| TS | TownePlace Suites | Longer Stays |
| EL | Element Hotels | Longer Stays |
| AL | Marriott All-Inclusive | All-Inclusive |
Example output
{
"marriott_id": "NYCSM",
"brand_code": "JW",
"brand_name": "JW Marriott",
"brand_tier": "luxury",
"property_name": "JW Marriott Essex House New York",
"city": "New York",
"state_province": "New York",
"country": "United States",
"country_code": "US",
"lat": 40.7648,
"lng": -73.9763,
"award_category": 8,
"award_points_off_peak": 50000,
"award_points_standard": 70000,
"award_points_peak": 90000,
"free_night_certificate_eligible": false,
"free_night_certificate_cap": null,
"guest_rating": 8.9,
"review_count": 2847,
"total_rooms": 509,
"has_spa": true,
"has_pool": false,
"property_url": "https://www.marriott.com/hotels/travel/nycsm-jw-marriott-essex-house-new-york/",
"scraped_at": "2026-05-27T15:40:12.000Z"
}
Notes
- Residential proxy required — Marriott.com uses Akamai Bot Manager; datacenter IPs are blocked. This actor uses DataImpulse residential proxy automatically.
- Full crawl runtime — Scraping all ~8,800 properties requires 4–6 hours and 2 GB memory. For market research, filter by
brandCodesorcountryFilterto reduce scope. - Award data accuracy — Bonvoy award categories and points tiers are read directly from Marriott's property pages and reflect current values at time of scrape. Marriott adjusts categories annually.
- Rate snapshots —
lowest_published_rate_usdavailability depends on the lookahead window used during scraping.