There is no monthly request quota. Earlier versions of these docs described
a “1,000 requests per 30 days” allowance per key. That model has been retired.
Usage is metered in US dollars against your organization’s credit balance,
and a cheap call and an expensive one no longer count the same.One exception: a legacy person-bound key — an older bare
jnk_ key (no _t_) still accepted and tied to a
user account rather than to a tenant — is still counted against a per-user
allowance of 1,000 requests per 30 days, on top of the credit above. Every
production tenant key is metered in dollars only. New keys from the dashboard
or platform MCP get_api_key are tenant keys: jnk_t_ in production and
jnk_sandbox_t_ in sandbox. Sandbox calls are not billed.Credit
Credit belongs to the organization, not to a key. Every tenant and every API key under the organization draws on one balance, so spreading work across several keys does not give you more to spend. Calls are priced individually — a live provider search costs more than a cache read — so your balance moves by the value of what you actually called, not by a request count. The per-call price and this cycle’s usage are itemised on the Billing page.Keeping live-search spend down
A liveflight_search goes to the supplier on every call, in search mode and in price-check mode, and costs more than a cache read. Cached discovery (flight_calendar, find_destination, find_dates, lowest_fare) reads Jinko’s fare cache and costs less.
- Explore with the cache. While the user is still choosing dates or comparing routes, use the discovery endpoints. Their prices can be 5-30 minutes stale, which is fine for browsing.
- Go live once the choice is made. Call
flight_searchwhen the route and dates are fixed, or price-check the one itinerary the user picked by passing itsidasoffer_token. Do not price-check every calendar result. - Narrow before you go live. Apply the cabin, direct-only, time-of-day and price-ceiling filters on the cached call first, so the live call confirms a shortlist instead of building one.
- Reuse a live result. A fare stays usable until its
expires_at(at most 75 minutes from the search). Keep the response and serve repeat views, sorting and pagination from it instead of sending the same search again. - Search again only when you must: the fare’s
expires_athas passed, the user changed the route, dates or travelers, or checkout answeredOFFER_EXPIRED.
Included usage
Every plan includes an amount of usage each billing cycle. On the Free plan that is $5.00 per month, with no fee and no card required. The dashboard shows your balance and the date the cycle resets.Topping up
You can buy extra credit from the dashboard at any time, on any plan. Purchased credit is separate from the monthly grant and is not cleared at the cycle boundary. Included usage is always spent before purchased credit, so topping up mid-cycle never burns the free allowance you still had. To replenish credit automatically, set up Auto top-up.Running out
When a call costs more than the organization’s remaining balance, it is refused with402 Payment Required:
Rate limits
Rate limiting is a separate axis from credit. Credit caps total consumption, not burst rate, so an organization with plenty of credit can still be throttled for calling too fast. The ceiling is a sustained requests-per-second rate with a short burst allowance. Whether a ceiling applies, and its number, is set for your organization as part of its plan or contract. It is applied per organization, so all of your tenants draw from one bucket. Credit works the same way: both are one shared organization allowance, so splitting work across tenants buys you neither more to spend nor more throughput. Over the ceiling, you get429 and should back off:
Retry-After header when one is present; otherwise retry with
exponential backoff. Unlike a 402, a 429 is worth retrying.
Throughput ceilings are set per organization and per contract, so they are not
printed here — a number in a docs page would drift out of date. To find the
ceiling on your organization, or to change it, email
dev@gojinko.com.
See also
- Errors & troubleshooting — the full status-code reference
- API keys — getting, using and rotating keys
