terminal · gate · no boarding pass required

gfly

Google Flights for agents. A read-only, JSON-first flight-search CLI an LLM can drive.

no API key · no account · no OAuth

$ uvx gfly search JFK LHR --depart 2026-08-15
gfly demo: airports search, schema, validation, agent

Built for the agent loop

JSON by default

Stable, versioned schemaVersion envelope when piped. Tables for humans at a TTY.

Self-describing

gfly schema and an embedded gfly agent contract — zero external files.

Semantic exit codes

Real failures get real codes: BLOCKED, SCHEMA_DRIFT, RATE_LIMITED + retryAfterSeconds.

Token-bounded

--limit / --offset / --select so an agent never drowns in 40 itineraries.

Polite by design

A persistent, cross-process throttle that survives the fresh-process-per-call model.

Read-only

It searches. It cannot book or mutate anything. Safe to hand an autonomous agent.

Gate status — exit codes

0ok7rate limited
2usage / parse8retryable (transient)
3empty results13input required
4auth required20BLOCKED (CAPTCHA / soft-block)
5not found21SCHEMA_DRIFT (upstream changed)