LetsFG
LetsFG is a flight search and booking server connecting to 200+ connectors across 400+ airlines worldwide, enabling AI agents to search, unlock, and book real flights at raw airline prices with zero markup.
Search Flights: Search live flight availability and prices across 400+ airlines, with support for one-way/round-trips, cabin class, multi-passenger, currency selection, and automatic multi-airport city expansion (e.g., LON → LHR, LGW, STN).
Resolve Locations: Convert city or airport names to IATA codes (e.g., "London" → LHR, LGW, STN).
Unlock Flight Offer: Confirm the latest live price and reserve a selected offer for 30 minutes before booking.
Book a Flight: Create a real airline reservation (PNR) at the raw ticket price via Stripe, with idempotency key support to prevent double-bookings.
Setup Payment: Attach a Stripe payment card once to enable booking (required for GDS flights).
Start Checkout: Automate airline checkout (Ryanair, Wizz Air, EasyJet) up to the payment page — never submits payment; returns a screenshot and URL for manual completion.
Link GitHub: Star the LetsFG repo to unlock free unlimited access to search, unlock, and booking.
Get Agent Profile: View account profile, payment status, and usage statistics (searches, unlocks, bookings, fees).
System Info: Retrieve RAM/CPU details and recommended concurrency settings for optimal search performance.
Enables searching and booking flights from AirAsia via local airline connectors.
Provides flight search and booking for All Nippon Airways (ANA) through enterprise GDS/NDC sources.
Allows searching and booking flight offers from British Airways using enterprise data sources.
Supports real-time flight search and booking for easyJet using local airline connectors.
Enables retrieval of flight offers and booking for Emirates via enterprise GDS/NDC connections.
Resolves city and airport names into standardized IATA codes to facilitate travel searches.
Provides tools for searching and booking flights across Lufthansa's global network.
Allows searching and booking flights from Norwegian via local airline connectors.
Enables searching and booking of Ryanair flights, supporting low-cost travel and virtual interlining.
Provides access to flight inventory and booking for Singapore Airlines via enterprise sources.
Supports search and booking for Wizz Air flights via local airline connectors.
We're LetsFG — a community of travelers.
Finding a flight shouldn't mean checking 47 websites. Or 3 hours of searching. Or having that feeling you could've got a better deal if you'd just waited a little longer.
So we built something about it. No markup. No tracking. No price that goes up because you looked twice.
Join the community. Help others find cheaper flights. Spread the word.⭐ Star the repo. Share with a friend ✈️
Your AI agent just learned to book flights.
Hundreds of airlines. Real prices. One function call.
LetsFG gives your AI agent flight search and booking superpowers. Our server-side engine scans the entire world for the cheapest price — free with a 90-day Bearer token, or paid with the Developer API for direct booking URLs. Zero markup. Real airline tickets.
The same flight costs $20–$50 less because you skip OTA inflation, cookie tracking, and surge pricing.
CLI or scripts: Run letsfg auth (one-time Twitter/X challenge) to get a 90-day token, then letsfg search hits our cloud engine instantly. Developer API: Paid, but returns direct airline booking URLs with no per-booking fee. → Get started
Supporters
Three ways to use LetsFG
Path 1 — CLI / SDK | Path 2 — PFS (Programmatic Flight Search via letsfg.co) | Path 3 — Developer API | |
Best for | Developers, personal use, AI agents — easiest way in | Scripts/agents calling the API directly with a Bearer token | Products, teams, and builders who want raw offers, direct booking URLs, and no concierge fee |
Speed | 60–90 s | 60–90 s | 2–5 s (discover) · 60–90 s (full search) |
Search cost | Free (Twitter/X auth, one-time) | Free (Twitter/X auth, one-time) | Prepaid credits ($0.50/$0.20/$0.10 per search, monthly tiers) |
Booking URL | 1% concierge fee (min $3) via letsfg.co | 1% concierge fee (min $3) via letsfg.co | Direct airline URLs, no per-booking fee |
Setup |
| Twitter/X challenge — see below | |
Runs where | Our servers (auth + ranking local) | Our servers | Our servers |
CLI / SDK (Path 1):
pip install letsfgand runletsfg authonce — a 30-second Twitter/X challenge gives you a 90-day Bearer token. After that,letsfg searchcalls our server-side engine and applies the open-source ranking algorithm locally. Search is free and unlimited. Booking links go through letsfg.co (1% concierge fee, min $3).PFS — Programmatic Flight Search (Path 2): For scripts and agents that call the API directly. letsfg.co is human-only by default (Cloudflare Turnstile + bot protection). Register a 90-day Bearer token via a one-time Twitter/X challenge:
POST https://letsfg.co/api/agent-access/request→ get{ challenge_code, tweet_text }Post the tweet from your Twitter/X account
POST https://letsfg.co/api/agent-access/verify{ "challenge_code": "..." }→ receive your Bearer tokenSearch:
POST https://letsfg.co/api/searchwithAuthorization: Bearer <token>
Full guide and response schema: letsfg.co/for-agents. Search results include live flight offers with booking links via letsfg.co (1% concierge fee, min $3).
Developer API (Path 3): Paid server-side search at letsfg.co/developers. Prepaid credits, direct airline booking URLs (no checkout step), full NL query parsing, and a
/discoverendpoint that checks 20 destinations in one call for 1 credit (2–5 s). Includes a free sandbox at/sandbox/flights/*. Full docs: letsfg.co/developers/api/docs.
Free server-side search: Use Path 1 or PFS — one Twitter/X challenge gives you a 90-day token and free searches on our servers. No Playwright, no local install beyond the SDK. Direct booking URLs with no per-booking fee: Use the Developer API (Path 3) — prepaid credits, instant results, no checkout layer.
Related MCP server: Flights MCP
Real prices: LetsFG vs Google Flights
We searched 5 routes on Google Flights and LetsFG on the same day (June 15, 2026). Same airline, same itinerary — LetsFG was cheaper every time:
Route | Airline | Google Flights | LetsFG | You Save |
LAX → Paris (CDG) | WestJet, 1 stop | $723 | $687 | $36 |
Warsaw → Bali (DPS) | Etihad, 1 stop | $876 | $842 | $34 |
SFO → London (LHR) | WestJet, 1 stop | $669 | $636 | $33 |
Chicago → Miami | Spirit, nonstop | $120 | $114 | $6 |
London → Barcelona | Vueling, nonstop | $62 | $56 | $6 |
LA → New York (JFK) | Frontier, 1 stop | $125 | $124 | $1 |
$116 saved across 6 flights. Google Flights inflates further on repeat searches. LetsFG returns the raw airline price every time.
Why the difference? Google Flights only searches its own limited set of airline partners. LetsFG searches everywhere — Skyscanner, Kiwi, Kayak, Momondo, plus direct airline websites (Ryanair, United, Southwest, EasyJet, Spirit, Norwegian, AirAsia, and hundreds more). More sources = better prices. And unlike travel websites, LetsFG returns the raw price with zero markup, no tracking, no inflation.
Try it right now — no install needed
Human users: Use letsfg.co and search flights instantly in your browser:
🌐 Search on letsfg.co
Search any route, compare live results, and unlock the booking links for the flights you want — no installation needed.
Agents / scripts (free server-side): Register a free Bearer token via a one-time Twitter/X challenge → use POST /api/search. This is PFS — Programmatic Flight Search powered by the letsfg.co engine, free for 90 days per token. See letsfg.co/for-agents for the full guide.
When you're ready to integrate it into your own agent, keep reading.
Pricing
How you use it | Search | Booking URL unlock | Runs where? |
CLI / Python SDK / npm | ✅ Free (Twitter/X token) | 1% fee (min $3) via letsfg.co | Our servers |
MCP Server | ✅ Free (Twitter/X token) | 1% fee (min $3) via letsfg.co | Our servers |
letsfg.co (website / agent API) | ✅ Free | 1% fee (min $3) via letsfg.co | Our servers |
Developer API | Prepaid credits | Included (direct airline URLs) | Our servers |
CLI / SDK / MCP = free search. Run letsfg auth once (30-second Twitter/X challenge) and searches are free for 90 days. No credits, no Playwright. Booking links go through letsfg.co — the same 1% concierge fee (min $3) applies as on the website.
Developer API = prepaid, business use. letsfg.co/developers returns direct airline booking URLs with no per-booking fee. Monthly billing: $0.50/search for the first 10, $0.20 for 11–1,000, then $0.10/search. Resets monthly. Minimum top-up: $5.
PFS (raw API) = same as CLI but you call the API directly. Get a 90-day Bearer token via one Twitter/X challenge and call POST /api/search yourself. Purpose-built for agents (OpenClaw, Claude, GPT, etc.) that call the API directly.
💡 Know someone who travels? The more people discover LetsFG, the more airlines we cover — and the better it gets for everyone. ⭐ Star · Share with a friend
Why developers star this repo
Google Flights / Expedia | LetsFG | |
Price | Inflated (tracking, cookies, surge) | Raw airline price. $116 cheaper across 6 verified routes. |
Coverage | Misses budget airlines | Hundreds of airlines — OTAs, budget carriers, full-service |
Speed | 30 s+ (page loads, ads, redirects) | CLI/PFS: 60–90 s · API discover: 2–5 s |
Repeat search raises price? | Yes | Never |
Works in AI agents? | No API | CLI · MCP · PFS (Twitter/X token, free) · Developer API (prepaid) |
Booking | Redirects to OTA checkout | Real airline PNR, e-ticket to inbox |
Cabin class filter | No | Economy, premium, business, first |
Cost to you | Hidden markup | CLI/PFS: free search. Developer API: prepaid credits. |
Get started
Pick where you want search to run. Local runs on your machine for free; PFS and the Developer API run on our servers.
🖥️ CLI / SDK — free, one-time auth
pip install letsfg
letsfg auth # one-time Twitter/X challenge → 90-day Bearer token
letsfg search LHR BCN 2026-06-15One auth step, then searches are free for 90 days — no install of browsers, no scrapers. The search runs on our servers.
letsfg search LHR JFK 2026-06-15 --cabin C # cabin class: M economy, W premium, C business, F firstBooking from CLI search: you get a letsfg.co booking link, not a direct airline URL. Unlock it through the letsfg.co concierge checkout (1% fee, min $3) to reveal the airline link. Want direct airline URLs with no fee? Use the Developer API below.
🐦 PFS — Programmatic Flight Search (free, server-side)
Run LetsFG's full search on our servers — no local browser, no install. Access requires a one-time Twitter/X challenge: letsfg.co is human-only (Cloudflare Turnstile), so a Bearer token is the only programmatic way in. The token is free and lasts 90 days.
# 1. Request a challenge code
curl -X POST https://letsfg.co/api/agent-access/request
# 2. Tweet the returned challenge code to @LetsFG_
# 3. Verify the tweet → receive a 90-day Bearer token
curl -X POST https://letsfg.co/api/agent-access/verify \
-H "Content-Type: application/json" \
-d '{"challenge_code":"<the code from step 1>"}'
# 4. Search with the token
curl -X POST https://letsfg.co/api/search \
-H "Authorization: Bearer <token>" \
-H "Content-Type: application/json" \
-d '{"origin":"LHR","destination":"BCN","date_from":"2026-06-15"}'Search is free; booking links go through letsfg.co (1% fee, min $3). Full guide and response schema: letsfg.co/for-agents.
⚡ Developer API — paid, server-side, direct booking URLs
For products and teams. Prepaid credits, results in seconds, direct airline booking URLs with no concierge fee — plus /discover (20 destinations in one call, 1 credit), async polling, NL query parsing, and a free sandbox.
# Register, then search with your API key
curl -X POST https://letsfg.co/developers/api/v1/agents/register \
-H "Content-Type: application/json" \
-d '{"agent_name":"my-agent","email":"you@example.com"}'
curl -X POST https://letsfg.co/developers/api/v1/flights/search \
-H "X-API-Key: trav_..." \
-H "Content-Type: application/json" \
-d '{"origin":"LHR","destination":"BCN","date_from":"2026-06-15"}'Pricing: $0.50/search for the first 10 each month, $0.20 for 11–1,000, $0.10 beyond. Minimum top-up $5. Test for free in the sandbox first. Full docs: letsfg.co/developers/api/docs.
# Search (free with letsfg auth token)
letsfg search LON BCN 2026-04-01 --return 2026-04-08 --sort price
# Unlock (confirms live price, holds for 30 min — 1% fee, min $3)
letsfg unlock off_xxx
# Book (ticket price only, zero markup)
letsfg book off_xxx \
--passenger '{"id":"pas_0","given_name":"John","family_name":"Doe","born_on":"1990-01-15","gender":"m","title":"mr"}' \
--email john.doe@example.com💡 Like what you see? Support us — ⭐ Star · Share with a friend
Works everywhere your agent runs
MCP Server (Claude Desktop / Cursor / Windsurf / OpenClaw)
{
"mcpServers": {
"letsfg": {
"command": "npx",
"args": ["-y", "letsfg-mcp"]
}
}
}Run letsfg auth inside the MCP session once (prints the tweet to post, then saves the token). After that, searches work immediately.
{
"mcpServers": {
"letsfg": {
"command": "npx",
"args": ["-y", "letsfg-mcp"],
"env": {
"LETSFG_API_KEY": "trav_your_api_key"
}
}
}
}Get a key: letsfg register --name my-agent --email you@example.com
5-minute quickstarts: Claude Desktop · Cursor · Windsurf
Python SDK
from letsfg import LetsFG
bt = LetsFG() # reads LETSFG_API_KEY from env
flights = bt.search("LHR", "JFK", "2026-04-15")
print(f"{flights.total_results} offers, cheapest: {flights.cheapest.summary()}")JavaScript SDK
import { LetsFG } from 'letsfg';
const bt = new LetsFG({ apiKey: 'trav_...' });
const flights = await bt.search('LHR', 'JFK', '2026-04-15');
console.log(`${flights.totalResults} offers`);Python SDK (cloud search)
from letsfg.local import search_local
# Reads LETSFG_BEARER_TOKEN env var or ~/.letsfg/config.json (set by `letsfg auth`)
result = await search_local("GDN", "BCN", "2026-06-15")
for offer in result.offers[:5]:
print(f"{offer.airlines[0]}: {offer.currency} {offer.price}")Install
Package | Command | What you get |
Python SDK + CLI |
| SDK + CLI (run |
MCP Server |
| Claude, Cursor, Windsurf (run |
JS/TS SDK |
| SDK + CLI + open-source ranking engine |
Remote MCP |
| No install (API key required) |
Agent Skill |
| Install flight search skill for any AI agent (skills.sh) |
Smithery | One-click MCP install |
CLI Commands
Command | Description |
| One-time Twitter/X challenge → saves 90-day Bearer token |
| Search flights (free after |
| Register an account for the Developer API |
| Attach a payment method (required for unlock) |
| Recover lost API key via email |
| Resolve city/airport to IATA codes |
| Confirm live price & pay unlock fee (1% of ticket, min $3) |
| Book the flight |
| View profile & usage stats |
All commands accept --json for structured output and --api-key to override the env variable.
How it works
CLI / SDK / MCP (free, cloud-backed)
letsfg auth (once) → Bearer token (90-day) → Search (free) → Unlock & Book via letsfg.coAuth —
letsfg authruns the Twitter/X challenge:POST /api/agent-access/request→ post the printed tweet →POST /api/agent-access/verify. Token saved to~/.letsfg/config.json, valid 90 days.Search —
letsfg search LHR BCN 2026-06-15callsPOST https://letsfg.co/api/search, polls until done (60–90 s), and applies the open-source ranking algorithm locally.Unlock & Book — booking links go through letsfg.co (1% concierge fee, min $3). Stripe card or MPP crypto accepted.
PFS — raw API (same as CLI, without the wrapper)
Twitter/X challenge → Bearer token (90-day) → POST /api/search → poll GET /api/results/<id>Get a Bearer token —
POST /api/agent-access/request→ post the tweet →POST /api/agent-access/verify { "challenge_code": "..." }. Token valid 90 days.Search —
POST https://letsfg.co/api/searchwithAuthorization: Bearer <token>. Returns{ search_id }. PollGET /api/results/<search_id>every 10 s untilstatus: "done".Unlock & Book — booking links go through letsfg.co (1% concierge fee, min $3).
Developer API — paid, direct booking URLs
Register → Fund balance → Discover or Search (credits) → Direct booking URL (no checkout)Discover —
POST /flights/discoverwith up to 20 destinations, get indicative prices sorted cheapest-first. 1 credit, 2–5 s. Use to rank options before committing to a full search.Full search —
POST /flights/search(blocking) or/flights/search/async(non-blocking + poll). 1 credit, 60–90 s.Book — each offer includes a direct airline
booking_url. No concierge fee, no checkout step.
The server-side engine builds cross-airline round-trips by combining one-way fares from different carriers. A Ryanair outbound + Wizz Air return can save 30-50% vs booking a round-trip on either airline alone.
Search a city code and LetsFG automatically searches all airports in that city. LON expands to LHR, LGW, STN, LTN, SEN, LCY. NYC expands to JFK, EWR, LGA. Works for 25+ major cities worldwide.
Architecture
CLI / SDK / MCP / PFS
CLI / SDK / MCP / AI Agent
│ Twitter/X challenge → 90-day Bearer token
▼
POST letsfg.co/api/search (bot-protected, token required)
│
▼
letsfg.co server-side search engine
│
▼
GET /api/results/<search_id> (poll every 10 s until done)
│
▼
Ranking applied locally (sdk/js/src/ranking.ts, open-source)
│
▼
Results + booking links via letsfg.co (1% fee)Developer API
Product / Team / Agent
│ API key + prepaid credits
▼
letsfg.co/developers/api/v1
├─ /flights/discover (indicative prices, 20 dest, 1 credit, 2–5 s)
├─ /flights/search (full search, 1 credit, 60–90 s)
├─ /flights/search/async (non-blocking + poll)
├─ /flights/parse-query (Gemini NL parsing, free)
└─ /sandbox/flights/* (fake data, same schema, free)
│
▼
Direct airline booking_url — no checkout, no concierge feeRegion | Airlines |
Europe | Ryanair, Wizz Air, EasyJet, Norwegian, Vueling, Eurowings, Transavia, Pegasus, Turkish Airlines, Condor, SunExpress, Volotea, Smartwings, Jet2, LOT Polish Airlines, Finnair, SAS, Aegean, Aer Lingus, ITA Airways, TAP Portugal, Icelandair, PLAY |
Middle East & Africa | Emirates, Etihad, Qatar Airways, flydubai, Air Arabia, flynas, Salam Air, Air Peace, FlySafair, EgyptAir, Ethiopian Airlines, Kenya Airways, Royal Air Maroc, South African Airways |
Asia-Pacific | AirAsia, AirAsia X, IndiGo, SpiceJet, Akasa Air, Air India, Air India Express, Alliance Air, Star Air, EaseMyTrip OTA, VietJet, Cebu Pacific, Scoot, Jetstar, Peach, Spring Airlines, Lucky Air, 9 Air, Nok Air, Batik Air, Jeju Air, T'way Air, ZIPAIR, Skymark, H.I.S. Travel OTA, Singapore Airlines, Cathay Pacific, Malaysian Airlines, Thai Airways, Korean Air, ANA, JAL, Qantas, Virgin Australia, Bangkok Airways, Air New Zealand, Garuda Indonesia, Philippine Airlines, US-Bangla, Biman Bangladesh |
Americas | Southwest, JetBlue, Frontier, Spirit, Allegiant, Avelo, Breeze, Sun Country, Flair, Porter, WestJet, Volaris, VivaAerobus, GOL, Azul, LATAM, JetSmart, Flybondi, Arajet, Wingo, Sky Airline, Copa, Avianca |
Oceania | Rex, Bonza, Link Airways, Air Vanuatu, Fiji Airways |
Star History
letsfg.co · API Docs · Connector Health · PyPI · npm · Smithery · Instagram · TikTok · X
Open source · MIT License · Made with ❤️ by travelers, for travelers
Want updates? Click Watch above, or follow LetsFG on Instagram, @letsfg_ on TikTok, or @LetsFG_ on X.
Maintenance
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/LetsFG/LetsFG'
If you have feedback or need assistance with the MCP directory API, please join our Discord server