Skip to main content
Farelint offers three monthly plans. There is no public Free tier and no automatic overage.

Monthly plans

Prices are in USD per month. Running collection limits are 5 for Starter, 15 for Growth and 30 for Scale. See concurrent requests for queueing and source capacity. New accounts have no active plan and zero credits until activation. Create a developer account, then contact Farelint to activate a plan. Paid checkout is being connected; signing up does not start a paid subscription. Existing developer preview accounts retain their test access and balances until Stripe is connected. This is legacy test access, not a public Free plan.

Credits per airline

Search prices vary by airline. GET /v1/airlines discloses async_credits, sync_credits, cost_version and pricing_basis. Explicit /v1/searches/async and the original /v1/searches charge the source weight only. /v1/searches/sync adds 2 credits to that weight. These search rates match Farelint’s published pricing API on 3 November 2026: The website pricing table also shows current rates. The source rate covers one search context: one airline, airport pair, exact departure and optional return dates, passenger mix, cabin and market. It can return several options; there is no per-flight charge within that result. Separate date combinations or airline searches are separate requests. Details operations use their own disclosed rate when enabled. Rates reflect current provisional pilot calibration. Ryanair, easyJet, Emirates and Qatar use resource-pilot-20261030-v2; AEGEAN uses aegean-nonstop-20261102-v1 for its bounded one-way nonstop shortlist. Supported request scope and enabled operation flags remain authoritative; a listed price does not enable collection or establish route availability. See airline coverage.

Async, sync and MCP

For example, a completed Ryanair async search uses 2 credits, or 4 credits through sync. A completed Emirates async search uses 10 credits, or 12 credits through sync. See the MCP guide for agent setup. Admission freezes credit_quote.source_credits, sync_surcharge, total_credits, delivery mode, basis and cost_version. max_credits caps the total, including the sync surcharge. A later price change never reprices an existing job.

Reservations and charges

Submitting a job reserves its full quoted cost before it enters the queue. Reservation reduces available credits while the job is queued or running; it is settled only when the job reaches a terminal state. Complete results charge once; partials and failures release the whole reservation, including the sync fee. Confirmed complete no_flights is charged. Retries add no customer charge; their compute is retained separately. Replaying an idempotency key and polling are free. A synchronous client disconnect does not cancel its accepted job or create another charge; retrieve the same job or reuse the same key. Use async when a client or proxy cannot keep a connection open. Use a new idempotency key for a different payload or delivery mode. Reusing a key with different input returns 409 idempotency_conflict.

Balance and monthly periods

The current ledger uses UTC calendar months and initializes each new month’s grant from the assigned plan allowance. Unused credits do not roll into the next monthly grant. Paid subscription billing-period synchronization is not enabled yet; plan assignment is operator-managed. Existing grants, consumed credits and reservations are preserved; changing a plan does not refill an existing grant. GET /v1/usage returns period, granted, consumed, reserved, available, overages: false, ledger and next_cursor. Pages hold up to 50 newest-first entries. Pass ?cursor=NEXT_CURSOR for the next workspace-scoped page. Insufficient credits return 402. Uncharged failed attempts still count toward the 30-attempt/hour budget. Month-boundary reservations settle against their original grant.

Concurrent requests

Existing developer preview accounts have one running slot. Accounts without an active plan cannot submit requests (402 subscription_required). API keys cannot select or upgrade a plan. The limit applies to running jobs across every API key, sync and async search endpoints, MCP tools and details operations. Requests beyond this execution limit remain queued, subject to the existing queue limit of ten waiting jobs, job deadlines, available workers and independent source slots. Submitting a job reserves its quoted credits; waiting does not charge extra credits. Polling and webhook delivery occupy no collection slot. The synchronous endpoint’s two-credit surcharge does not bypass the queue. GET /v1/usage additionally returns plan: {id, name} and concurrency: {limit, running, queued}. Counts are workspace-scoped snapshots. A downgrade leaves already-running work intact and pauses new claims until usage falls below the lower limit. The pilot retains a separate 30-attempt/hour safety budget and one slot per airline. These limits and available workers can reduce actual simultaneous execution below a plan ceiling.

How source weights are calculated

The resource policy is max(1, ceil((CPU seconds + 0.125 × sampled memory GiB-seconds) / 10)). The airline weight is the 75th percentile of eligible attempt weights. It measures the whole capture container, including browser children; wall time is reported separately. Memory time is sampled every second. This is a credit-unit policy, not a dollar estimate; it excludes container startup, queue/API/delivery, proxy/network cost and margin. AEGEAN has one eligible complete measurement; details operations remain unmeasured. More representative samples are needed before treating calibration as representative production cost. GET /v1/jobs/{id} exposes compute when recorded: CPU-seconds, sampled GiB-seconds, peak bytes, capture wall time and attempt coverage. Historical requests without instrumentation return null. Missing measurement is never reported as zero. Compute does not cause a variable post-hoc bill.