Skip to main content
Jinko gives any agent the ability to discover, price, book, and manage travel products. One backend for flights and hotels, one trip that holds them together, one Stripe checkout to close the sale.

Get an API key

Grab your API key and ask your coding agents to build.

Quickstart

Connect a client and run your first search in under two minutes.

What you can build

Jinko is the travel layer for products that already have a user, a conversation, or a checkout. A few shapes we see in production:

Slack and Teams bot agents

Book a flight, a hotel, or a full trip without leaving the thread. The agent collects travelers, surfaces prices, and hands the user a checkout link.

Voice agents

Concierge over the phone. The voice agent searches, prices, and confirms a trip while the caller is on the line, then sends a booking link by SMS.

Travel websites

Sell flights and hotels under your own brand. Same trip, same checkout, your UI on top of Jinko inventory.

Internal travel copilots

Help employees self-book within policy. The copilot searches, picks compliant fares, and books in one transaction.
View more use cases →

Three ways to connect

Jinko ships the same booking surface through three products. Pick the one that fits where your code already lives.

MCP

For agentic clients (Claude, ChatGPT, Cursor, voice agents, custom MCP hosts). One URL, OAuth or bearer auth, and your agent gains the full tool surface.

API

For backend services, custom apps, and travel websites. REST over HTTPS with a typed OpenAPI spec and a TypeScript SDK.

CLI

For shell agents, scripts, and CI runners. The same booking flow, end to end from a terminal.
All three products talk to the same backend, see the same inventory, and share the same trip_id. You can start a trip from a CLI script, hand it off to a website checkout, and inspect it from an MCP client. Same trip, every time.

The trip, one booking unit for the whole journey

A real journey is rarely one item. A trip from JFK to Paris is usually a flight, plus a hotel, plus bags, plus a chosen seat. The trip is the object that holds all of that together. Think of the trip as a single booking unit. You add items to it (flights and hotels today, more on the way), set the travelers once, and check out once. The user pays a single Stripe charge and receives a single confirmation with a single Jinko booking reference. A trip moves through four stages:
  1. Add items. Call trip(add_item) with a flight trip_item_token from flight_search, a hotel offer_id (the htl_* token) from hotel_search, or both. Each call appends to the same trip.
  2. Set travelers. Call trip(upsert_travelers) once per trip. Names, dates of birth, and contact info travel with every item on the trip.
  3. Book. Call book to schedule checkout. You get back a Stripe checkout_url.
  4. Pay and fulfill. The user pays on the Stripe page. Webhooks finalize the booking automatically. Poll get_trip to watch fulfillment land.
The same trip_id works whether you drive it from MCP, the API, or the CLI. Start somewhere, finish somewhere else. For a step-by-step example with two items in the same trip, see the Flight + Hotel guide.

Where to go next

Quickstart

Connect a client and book your first trip.

Guides

End-to-end walkthroughs for flight, hotel, and combined bookings.

MCP reference

Every MCP tool, parameters, and what the model sees.

API reference

REST endpoints, request and response shapes, and the OpenAPI spec.