API v2 · Reference

Pay per call, from credit.

Each billable call names its SKU in the response, so you can reconcile your credit line by line.

Price list

Every SKU, in USD.

Version 2.0, updated 2026-10-07. Resolve, jobs, webhooks, the catalog helpers and bookings cost nothing.

SKUUnitPriceNotes
search.structured.filterssearch$0.003Filters only, ranked by filters.
search.loose.filterssearch$0.005A free-text query, ranked by filters.
search.structured.semanticsearch$0.008Filters only, ranked on photos, reviews and descriptions.
search.loose.semanticsearch$0.012A free-text query, ranked on photos, reviews and descriptions.
search.extra_resultsresultRelative5% of the search's base price for each result beyond 10. Later pages of the same search are free.
hotel.detailcall$0.005The full hotel profile. Same price whether or not a search warmed the cache.
rates.direct.cachedhotel$0.002Per hotel returned observed, or stale within max_age_hours. Unknown and unsupported hotels are free.
rates.direct.livehotel$0.040Per hotel we read live from its own booking engine and return observed.
rates.batchhotelRelative25% off the cached and live unit prices when a batch has 1,000 hotels or more.
rooms.reconcile.urlsreconciliation$0.25At least one source is a URL we read. A repeat with identical inputs within 30 days is free.
rooms.reconcile.suppliedreconciliation$0.08Every source is a room list you send. A repeat with identical inputs within 30 days is free.
booking.confirmedbookingFreeBookings are free. On commissionable hotels the commission is split 50/50 with you, and your half is paid monthly by bank transfer; Enterprise can negotiate the split.
chat.turnturn$0.03Per conversational turn. A turn that only asks a clarifying question is free.
Tiers

Four tiers, one price list.

TierCreditRequests per minuteDiscountNotes
Free$5 of credit each month. It doesn’t roll over.10NoneSearch, hotel detail, cached rates and chat, charged against the monthly credit. Live rates, rate batches, room reconciliation and bookings need Build. Test keys hit the real catalogue and spend credit; they never create Stripe charges. No card needed.
BuildPrepaid credit, topped up as you go.120NoneList prices. Set a monthly spend cap in the dashboard. Adds live rates, batch rates, room reconciliation and bookings.
ScalePrepaid credit at 15% off list, topped up $2,000 at a time.60015%15% off every SKU.
EnterpriseCustom contract. Invoiced monthly.CustomCustomCustom limits and unit prices, private inventory scoping, third-party channel observations under contract and a negotiated commission split. Contact sales.

Build spends prepaid credit at list prices. Scale: Prepaid credit at 15% off list, topped up $2,000 at a time. Monthly invoicing is for Enterprise contracts only.

Third-party channel observations are available to Enterprise customers under contract. Contact sales.

Credit

How credit is spent.

  • Each billable call takes its price from your balance as it completes, and names its SKU in billing.
  • Short of credit, a call fails with 402 before any work starts.
  • Jobs reserve their maximum when they start and settle on completion; cancelling releases the rest. Jobs are kept 7 days.
  • Batches of 1,000 hotels or more get the rates.batch discount automatically.
  • Set a monthly spend cap in the dashboard; X-Credit-Remaining shows the balance on every response.
Commission

Bookings are free.

We don't charge for bookings, and VistaLink never holds the guest's money. When a hotel pays commission on a stay, you get 50% of it. We pay your share by bank transfer each month, from the commission hotels have paid us. Enterprise can negotiate the split and the terms.

Billing

What a billed call cost. Present on every billed response; billing is null on free ones.

FieldTypeDescription
sku
REQUIRED
stringThe price-list item charged, for example search.loose.semantic or hotel.detail; see pricing.json.
units
REQUIRED
integer | numberHow many units of sku were charged, for example one per priced hotel on a rates call.
amount
REQUIRED
stringTotal charged for this call, a decimal string in currency after any plan or batch discount; "0" for a stored repeat.
currencystringAlways USD: credit is held and charged in US dollars. Always USD.