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 ✈️
400+ airlines. Real prices. One function call.
LetsFG gives your AI agent flight search and booking superpowers. 200+ connectors fire in parallel on your machine, scanning the entire world for the cheapest price. Zero markup. Real airline tickets.
The same flight costs $20–$50 less because you skip OTA inflation, cookie tracking, and surge pricing.
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 — 200+ connectors including Skyscanner, Kiwi, Kayak, Momondo, plus direct airline websites (Ryanair, United, Southwest, EasyJet, Spirit, Norwegian, AirAsia, and 190+ more). More sources = better prices. And unlike travel websites, LetsFG returns the raw price with zero markup, no tracking, no inflation.
Don't want to install anything? Message our AI assistant and search flights instantly:
Ask it anything: "Find me the cheapest flight from London to Barcelona next month" — it searches 200 airlines in real time and gives you the best deals.
When you're ready to integrate it into your own agent, keep reading.
| How you use it | Search | Unlock | Book | Runs where? |
|---|---|---|---|---|
| CLI / Python SDK / npm | ✅ Free | ✅ Free | Ticket price only | Your machine |
| MCP Server (local) | ✅ Free | ✅ Free | Ticket price only | Your machine |
| Messenger / Instagram | ✅ Free | 1% (min $1) | Ticket price only | Our servers |
Local = 100% free. The CLI, Python SDK, npm packages, and local MCP server run 200+ connectors covering 400+ airlines on your machine. No API key needed, no fees, no limits.
Messenger/Instagram = free search + small unlock fee. When you chat with us on Messenger/Instagram, search is completely free. We charge 1% of the ticket price (min $1) to unlock offer details. Booking is at the raw airline price — zero markup.
💡 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 | 200+ connectors, 400+ airlines |
| Speed | 30s+ (loading, ads, redirects) | ~10 seconds |
| Repeat search raises price? | Yes | Never |
| Works in AI agents? | No | Native (CLI, MCP, SDK) |
| 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/local: 100% free. Server: free search, 1% unlock. |
pip install letsfgSearch flights immediately — no API key, no registration, no account needed:
letsfg search LHR BCN 2026-06-15That single command fires 200+ connectors on your machine and returns real-time prices from 400+ airlines. Free. Unlimited. Zero setup.
Short on time? Use --mode fast to search only OTAs + key airlines (~25 connectors, 20-40s instead of 6+ min):
letsfg search LHR BCN 2026-06-15 --mode fastFlying business or first? Filter by cabin class — only get results that match:
letsfg search LHR JFK 2026-06-15 --cabin C # business class
letsfg search LHR JFK 2026-06-15 --cabin F # first class
letsfg search LHR JFK 2026-06-15 --cabin W # premium economyWant to unlock and book? Star the repo for free access:
# Star the repo on GitHub, then verify
letsfg star --github your-usernameThe CLI auto-registers behind the scenes and saves your API key to ~/.letsfg/config.json. No manual steps.
Full search → unlock → book flow
# Search (free, unlimited)
letsfg search LON BCN 2026-04-01 --return 2026-04-08 --sort price
# Unlock (confirms live price, holds for 30 min — free)
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 [email protected]💡 Like what you see? Support us — ⭐ Star · Share with a friend
{
"mcpServers": {
"letsfg": {
"command": "npx",
"args": ["-y", "letsfg-mcp"]
}
}
}That's it — search works immediately, no API key needed. 200+ connectors covering 400+ airlines run locally.
Add API key for unlock/book
{
"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 [email protected]
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
result = await search_local("GDN", "BCN", "2026-06-15")
# Fast mode — OTAs + key airlines only, 20-40s
result = await search_local("GDN", "BCN", "2026-06-15", mode="fast")
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 + 200+ local connectors (400+ airlines) |
| MCP Server | npx letsfg-mcp |
Claude, Cursor, Windsurf — no API key needed |
| JS/TS SDK | npm install -g letsfg |
SDK + CLI |
| Remote MCP | https://api.letsfg.co/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 star --github <username> |
⭐ Verify GitHub star (required for free access) |
letsfg search <origin> <dest> <date> |
Search flights (free) |
letsfg register |
Get your API key |
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 & reserve 30 min |
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.
Search (free) → Unlock (free) → Book (ticket price only)
- Search — 200+ local connectors fire in parallel on your machine, covering 400+ airlines. Filter by cabin class (economy, premium, business, first). Returns full details: price, airlines, duration, stopovers, conditions.
- Unlock — confirms the live price with the airline and reserves the fare for 30 minutes.
- Book — creates a real airline PNR. E-ticket sent to the passenger's inbox.
All search runs locally via Playwright + httpx. Results are deduplicated, currency-normalized, and sorted. Best price wins.
Virtual interlining
The combo 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.
City-wide airport expansion
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.
┌─────────────────────────────────────────────────────┐
│ AI Agents / CLI / SDK / MCP Server │
├─────────────────────────────────────────────────────┤
│ Local connectors (200+ connectors, 400+ airlines) │
│ Ryanair, EasyJet, Spirit, Southwest, AirAsia, etc │
├─────────────────────────────────────────────────────┤
│ Dedup + Combo Engine + Currency Normalization │
│ (virtual interlining for cross-airline round-trips)│
├─────────────────────────────────────────────────────┤
│ Backend API (unlock, book, telemetry) │
└─────────────────────────────────────────────────────┘
200+ connectors, 400+ airlines — full list
| 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, VietJet, Cebu Pacific, Scoot, Jetstar, Peach, Spring Airlines, Lucky Air, 9 Air, Nok Air, Batik Air, Jeju Air, T'way Air, ZIPAIR, 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 |
Documentation · Connector Health · PyPI · npm · Smithery · Messenger · Instagram
Open source · MIT License · Made with ❤️ by travelers, for travelers
Want updates? Click Watch above, or follow @amjaworsky on X.