API v2
The hotel API, family by family.
Base URL https://api.vistalink.com, every route under /v2. Sync endpoints answer straight away; jobs answer 202 and finish in the background.
Start with the family that matches the job. Each page has every field, a request in four forms and the price.
Families
IdentifiersTurn Booking.com and Expedia URLs, hotel websites or a name and city into hotel ids. Free.SearchFilters or free text in, ranked hotel cards out, with cached prices when you send dates.HotelsThe full profile: gallery, rooms and their listings, venues, policies, reviews and prices for a stay.RatesPrices from each hotel's own booking engine, from cache now or read live as a job.RoomsMatch one hotel's rooms across Booking.com, its own site, Expedia and your own list, with a confidence each.BookingsBook an offer on the hotel's own engine. The guest pays the property; booking is free.
Everything else
- Quick start: Get a key, make one search, read the response.
- Authentication: Bearer keys, live and test, and the scopes each endpoint needs.
- Jobs & webhooks: Poll or cancel background work, and register endpoints that hear when it finishes.
- MCP: The core v2 calls as MCP tools, billed under the same SKUs.
- Errors & limits: The error envelope, every error code, rate limits per tier and how to retry.
- Billing: Every SKU and its price, the four tiers, and how credit is spent.
- Changelog: Dated changes to the v2 API and the v1 sunset plan.
All endpoints
POST
Resolve hotel identifiers to hotel_id/v2/hotels/resolvePOST
Search hotels/v2/searchGET
Hotel detail/v2/hotels/{hotel_id}POST
Rates for a stay/v2/ratesPOST
Rates for many hotels and stays/v2/rates/batchPOST
Reconcile room types across sources/v2/rooms/reconcilePOST
Create a booking/v2/bookingsGET
Get a booking/v2/bookings/{booking_id}POST
Cancel a booking/v2/bookings/{booking_id}/cancelGET
Get a job/v2/jobs/{job_id}GET
Download a job's result/v2/jobs/{job_id}/resultGET
List jobs/v2/jobsPOST
Cancel a job/v2/jobs/{job_id}/cancelGET
List webhooks/v2/webhooksPOST
Create a webhook/v2/webhooksDELETE
Delete a webhook/v2/webhooks/{webhook_id}GET
List deliveries/v2/webhooks/{webhook_id}/deliveriesPOST
Conversational hotel search/v2/chatGET
Amenity codes/v2/amenitiesGET
Supported booking engines/v2/enginesGET
Health/v2/healthGET
This OpenAPI document/v2/openapi.json