directrate

Hotel chain

Best Western rates & Best Western Rewards points API

Best Western Rewards public and member rates and award points, read anonymously from the chain's booking flow — a chain no other self-serve API covers.

Public rate
✓
Member rate
✓
Award points
✓
Native calendar
✓
Comp set batch
✓
Credits per shop
5
Comp set, per hotel
0.5
Calendar, per night
0.1
  • ·A shop is a catalogue call plus one call per rate plan (~21 upstream calls), which is why it weighs 5 credits.
  • ·Award points come through the shop without a login.
  • ·The calendar is synthesised from 365-night rate-plan spans; a sold-out night inside a span is bisected.
curl -s https://api.directrate.dev/v1/shop \
  -H "x-api-key: $DIRECTRATE_API_KEY" \
  -H "content-type: application/json" \
  -d '{"chain":"bestwestern","hotel_code":"<hotel_code>","checkin":"2026-11-10","los":1}'

Find a Best Western code first: GET /v1/hotels?chain=bestwestern&q=<city> (1 credit, 5 on Best Western).

curl -s "https://api.directrate.dev/v1/hotels?chain=bestwestern&q=Chicago,%20IL&radius=5" \
  -H "x-api-key: $DIRECTRATE_API_KEY"
{
  "chain": "bestwestern",
  "hotel": {
    "code": "<hotel_code>",
    "name": "…",
    "currency": "USD"
  },
  "checkin": "2026-11-10",
  "los": 1,
  "status": "available",
  "rates": [
    {
      "room_name": "…",
      "rate_name": "…",
      "rate_type": "bar",
      "member_only": false,
      "price_per_night": 0,
      "price_per_night_after_tax": 0,
      "tax_included": true,
      "currency": "USD",
      "points_per_night": null
    }
  ],
  "lowest": {
    "bar": 0,
    "member": 0,
    "bar_after_tax": 0,
    "member_after_tax": 0
  },
  "shopped_at": "…",
  "source": "live",
  "cache_age_sec": 0
}

ShopResponse — the full schema is in the API reference.

No snapshot response is shown for Best Western on this page; the shape above is the contract every chain answers in. Run it live with a free key.

FAQ

Best Western questions

Do I need a Best Western Rewards account?

No. The member rate is what Best Western quotes an anonymous visitor who is not logged in; it comes back as its own rows with member_only: true and under lowest.member. Points come back the same way, without any login.

What does a Best Western shop cost?

5 credits live, a quarter of that from cache; errors and unknown codes are free. On the Free plan's 250 credits that is 50 shops a month; on Growth (15,000) 3,000. A /calendar night is 0.1 credit through Best Western's native calendar.

Where do I find Best Western hotel codes?

GET /hotels?chain=bestwestern&q=<city or address> returns Best Western's own property codes around a place, nearest first. Codes are the chain's internal identifiers, not shared with any other chain.

All sources: coverage matrix · chains & coverage docs · weights.