Connects your AI agent directly to 400+ airlines for flight search and booking without OTA markup. Runs either locally via Playwright (free, slower) or against BoostedChat's server-side API (fast, prepaid credits). Returns raw flight offers with direct airline booking URLs in the developer tier, or masked links that unlock via a 1% concierge fee in the agent tier. Built on the LetsFG open-source project. Useful when you want Claude or another agent to comparison-shop across hundreds of carriers in parallel and either book immediately or hand you a link that's $20 to $50 cheaper than Google Flights. Search is free on the agent API with a Bearer token, paid on the developer API.
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.
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
| 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 | pip install letsfg && letsfg auth | Twitter/X challenge — see below | letsfg.co/developers |
| Runs where | Our servers (auth + ranking local) | Our servers | Our servers |
CLI / SDK (Path 1): pip install letsfg and run letsfg auth once — a 30-second Twitter/X challenge gives you a 90-day Bearer token. After that, letsfg search calls 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 https://letsfg.co/api/agent-access/verify { "challenge_code": "..." } → receive your Bearer tokenPOST https://letsfg.co/api/search with Authorization: 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 /discover endpoint 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.
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.
Human users: Use letsfg.co and search flights instantly in your browser:
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.
| 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
| 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. |
Pick where you want search to run. Local runs on your machine for free; PFS and the Developer API run on our servers.
pip install letsfg
letsfg auth # one-time Twitter/X challenge → 90-day Bearer token
letsfg search LHR BCN 2026-06-15
One 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 first
Booking 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.
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.
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
{
"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
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()}")
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`);
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}")
| Package | Command | What you get |
|---|---|---|
| Python SDK + CLI | pip install letsfg | SDK + CLI (run letsfg auth once for free search) |
| MCP Server | npx letsfg-mcp | Claude, Cursor, Windsurf (run letsfg auth once) |
| JS/TS SDK | npm install -g letsfg | SDK + CLI + open-source ranking engine |
| Remote MCP | https://letsfg.co/developers/api/mcp | No install (API key required) |
| Agent Skill | npx skills add LetsFG/LetsFG | Install flight search skill for any AI agent (skills.sh) |
| Smithery | smithery.ai/servers/letsfg | One-click MCP install |
| Command | Description |
|---|---|
letsfg auth | One-time Twitter/X challenge → saves 90-day Bearer token |
letsfg search <origin> <dest> <date> | Search flights (free after letsfg auth) |
letsfg register | Register an account for the Developer API |
letsfg setup-payment | Attach a payment method (required for unlock) |
letsfg recover --email <email> | Recover lost API key via email |
letsfg locations <query> | Resolve city/airport to IATA codes |
letsfg unlock <offer_id> | Confirm live price & pay unlock fee (1% of ticket, min $3) |
letsfg book <offer_id> | Book the flight |
letsfg me | View profile & usage stats |
All commands accept --json for structured output and --api-key to override the env variable.
letsfg auth (once) → Bearer token (90-day) → Search (free) → Unlock & Book via letsfg.co
letsfg auth runs 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.letsfg search LHR BCN 2026-06-15 calls POST https://letsfg.co/api/search, polls until done (60–90 s), and applies the open-source ranking algorithm locally.Twitter/X challenge → Bearer token (90-day) → POST /api/search → poll GET /api/results/<id>
POST /api/agent-access/request → post the tweet → POST /api/agent-access/verify { "challenge_code": "..." }. Token valid 90 days.POST https://letsfg.co/api/search with Authorization: Bearer <token>. Returns { search_id }. Poll GET /api/results/<search_id> every 10 s until status: "done".Register → Fund balance → Discover or Search (credits) → Direct booking URL (no checkout)
POST /flights/discover with 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.POST /flights/search (blocking) or /flights/search/async (non-blocking + poll). 1 credit, 60–90 s.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.
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 fee
| Region | 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 |
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.
BOOSTEDTRAVEL_API_KEY*secretYour BoostedTravel API key
io.github.mindstone/mcp-server-microsoft-teams
com.mintmcp/outlook-email
helbertparanhos/resend-email-mcp
marlinjai/email-mcp
io.github.mindstone/mcp-server-email-imap
io.github.osamahassouna/email-playbook-mcp