Skip to content

LetsFG/LetsFG

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

446 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
LetsFG

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.


Star to unlock    Try on Messenger    Try on Instagram    pip install


Join the community. Help others find cheaper flights. Spread the word.
⭐ Star the repo. Share with a friend ✈️

Share on X   Share on LinkedIn   Share on Reddit   Share on WhatsApp   Share on Telegram   Send via Email


Your AI agent just learned to book flights.

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.


GitHub stars PyPI npm Connector Health smithery badge MIT License


Supporters

Evomi - Residential Proxies $0.49/GB

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 — 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.


Try it right now — no install needed

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.


Pricing

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


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 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.

Get started in 30 seconds

pip install letsfg

Search flights immediately — no API key, no registration, no account needed:

letsfg search LHR BCN 2026-06-15

That 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 fast

Flying 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 economy

Want to unlock and book? Star the repo for free access:

# Star the repo on GitHub, then verify
letsfg star --github your-username

The 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


Works everywhere your agent runs

MCP Server (Claude Desktop / Cursor / Windsurf / OpenClaw)

{
  "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

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`);

Local-only (no API key, no backend)

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}")

Install

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

CLI Commands

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.


How it works

Search (free) → Unlock (free) → Book (ticket price only)
  1. 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.
  2. Unlock — confirms the live price with the airline and reserves the fare for 30 minutes.
  3. 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.


Architecture

┌─────────────────────────────────────────────────────┐
│  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

Star History

Star History Chart

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.

About

Agent-native flight search & booking. Saved $116 across 5 routes vs Google Flights (verified). 400+ airlines in 5 seconds. Join the community - Star and spread the word

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Contributors

Languages