LetsFG: AI-Native Flight & Hotel Search and Booking
Give your AI agent superpowers to search and book flights and hotels with real prices, no markup, and no tracking.
- Source repo
- LetsFG/LetsFG
- Stars
- ★ 2.2k
- Last updated
- 1d ago
- License
- NOASSERTION
- Primary language
- Python
- FA score
- 43/100 · Major gaps
At a glance
- How it runs
- Works with
- Platform-specificClaude Code · OpenAI API · Claude API
- Cost
- Free tier plus a paid hosted plan
- Setup effort
- Low · running in minutes
- You'll need
- Typical use
- Developers using Claude Desktop or Cursor can quickly integrate flight search via the MCP server.
- Not a fit if
- Teams that need fully offline or self-hosted operation — search and booking run on letsfg.co cloud servers
- Users unwilling to keep a card on file — every hotel call, including search, requires one
- Travelers wanting full hotel metasearch — only free-cancellation, pay-later rates are sold
- Source review
- 43/100 · Major gaps 2 safety controls not found
What does this agent do, and when should you use it?
LetsFG is an agent-native flight and hotel search and booking platform that offers an MCP server, CLI, and Python/JavaScript SDKs. It aggregates hundreds of airlines and major booking sites, providing per-flight reliability history. Hotel bookings support free cancellation, pay-later terms, and a 10% reservation fee. Three usage paths are available: CLI/SDK for developers and personal use, PFS for direct API calls with payment method verification, and a Developer API for high-volume commercial integrations. Search runs on letsfg.co's server-side engine, and after a one-time letsfg auth (zero-amount card setup), agents get a 90-day Bearer token for free searches. Flight bookings have no LetsFG fee, while hotel bookings incur a 10% fee. The platform emphasizes no markup, with verified savings compared to Google Flights and Booking.com.
LetsFG provides commands letsfg auth, letsfg search, letsfg book, and MCP tools resolve_hotel_city, search_hotels, book_hotel, get_hotel_booking, cancel_hotel_booking. It performs searches by POSTing to https://letsfg.co/api/search and polling results, then booking via /api/agent-book. Hotel searches require a card on file and return cancellable rates; booking charges 10% immediately and provides a pay_link for the remaining 90% to be paid directly to the supplier. It also offers Developer API endpoints /flights/discover (2-5s for 20 destinations) and /flights/search (60-90s), returning direct airline booking URLs.
- Developers using Claude Desktop or Cursor can quickly integrate flight search via the MCP server.
- AI agent developers needing reliable flight price data programmatically use the PFS API.
- Users planning travel and seeking lower hotel prices can book with free cancellation and pay-later options.
- Enterprises requiring bulk price discovery to compare multiple destination options.
- Automation scripts that need flight and hotel search without browser interaction or local scraping.
How do you install or deploy this agent?
For Python SDK and CLI: run pip install letsfg. For JavaScript SDK: run npm install -g letsfg. For MCP server: run via npx -y letsfg-mcp and configure in Claude Desktop or Cursor.
How do you use this agent?
CLI: Run letsfg auth for a one-time zero-amount card setup to get a 90-day Bearer token, then use letsfg search LHR BCN 2026-06-15 to search and letsfg book to book. Python SDK: Instantiate LetsFG() and call search(), search_hotels(), etc. MCP: Run letsfg auth within the MCP session, then use search and booking tools directly. Do not use letsfg register or letsfg setup-payment — those belong to the paid Developer API product.
What are this agent's strengths and limitations?
- No markup: prices verified lower than Google Flights and Booking.com, with stable prices on repeat searches.
- Covers hundreds of airlines and major OTAs, with free-cancellation hotel rates.
- MCP, CLI, Python, and JS SDKs make integration easy for agents.
- Search and booking rely on letsfg.co cloud servers, creating provider lock-in.
- Hotel booking requires a card on file and a 10% non-refundable reservation fee.
- Hotels are limited to free-cancellation, pay-later rates, so fewer results than metasearch.
How does this agent compare with similar options?
Compared to Google Flights, LetsFG saved a total of $133 across five routes due to broader search and no demand-based inflation. Compared to Booking.com, it saved $207 across three hotels by selling at wholesale cost.
Key facts side by side with the most closely related agents.
| Agent | Source review | Form / cost | Stars | Updated | Language | Full support on |
|---|---|---|---|---|---|---|
| LetsFG: AI-Native Flight & Hotel Search and Booking This agent | 43 · Major gaps | CLIFreemium | ★ 2.2k | 1d ago | Python | Claude Code · OpenAI API · Claude API |
| SwarmVault | 67 · Some gaps | CLIFree + model costs | ★ 723 | 3mo ago | TypeScript | Codex · Claude Code |
| OpenContext | 58 · Major gaps | CLIFree + model costs | ★ 1.3k | 4mo ago | JavaScript | Codex · Claude Code |
| Postiz Agent CLI | 54 · Major gaps | CLIFreemium | ★ 523 | 4d ago | TypeScript | Claude Code |
How does FollowAgents rate this agent?
Why each dimension lost points
Evidence shows: README explicitly warns against using Developer API registration and emphasizes zero-amount card setup; but no detailed least-privilege description, such as SDK permission scope. User confirmation: search and booking require explicit actions, but no confirmation step before booking is mentioned. Data flow transparency: README describes data flow (e.g., payment via Stripe, passenger data to airlines), but no complete data flow diagram or privacy policy. Sensitive data handling: claims not to store card numbers, but no encryption or masking details. Dependency security: no dependency list or security audit. External effects: booking incurs real charges, but no cancellation or refund policy mentioned. Rollback: no cancellation or refund mechanism mentioned. Source attribution: no clear attribution of data sources or third-party services.
Self-consistency: README and test files are consistent, e.g., MPP update note. Dependency availability: depends on external services (Stripe, airline websites), but no availability guarantees. Failure messages: tests mention error handling, but no user-friendly error message examples.
Audience and scenarios: clearly targets developers and AI agents, provides multiple usage modes. Capability boundaries: describes search and booking functions, but no explicit limitations (e.g., unsupported airlines). Trigger precision: commands and API calls have clear parameters, but no detailed trigger conditions. Environment fit: supports CLI, SDK, MCP, but no OS or browser compatibility mentioned.
Information architecture: README is well-structured with TOC and sections. Install notes: provides pip and npm install commands. Naming stability: command and API names are consistent, but no version history. Examples and FAQ: provides code examples, but lacks FAQ. Known limitations: mentions hotel search requires card, but not comprehensive. License: MIT license, but includes commercial addendum that may cause confusion. Versioning and changelog: no changelog provided. Maintenance responsibility: no clear maintainer or contribution guidelines.
Output usability: provides clear output examples (e.g., hotel booking results). Marginal value: claims cheaper than Google Flights, but no independent verification. Cost-benefit: search is free, booking has fees, but no detailed cost analysis.
Claim traceability: price comparison claims have dates, but no raw data. Cross-source corroboration: no third-party verification. Fact-inference separation: no clear distinction between facts and inferences.
- Not found in source: dependency securityPin versions and run a dependency audit (npm audit, pip-audit) before installing; prefer running it in a container.
- Not found in source: rollback or recovery pathBack up first, or work on a git branch or snapshot, so its changes can be undone.
- License includes commercial addendum that may affect usage.
- No dependency security audit or vulnerability report provided.
- Booking involves real charges; proceed with caution.
Recent releases
Latest entries from the project's GitHub Releases. Notes are quoted from upstream as written, not rewritten or tested by FollowAgents.
-
v2026.5.103 v2026.5.103 — Python SDK reads the offers the Bearer lane returns
Release notes excerpt
letsfg 2026.5.103 (PyPI). npm packages are unchanged from v2026.5.102. - LetsFG().search() on a Bearer token returned offers with an empty outbound route, no airline and no times. The models now read the flat offer /api/results sends as well as the Developer API shape (#223). - limit is now enforced on the Bearer lane; total_results keeps the full count. Update with pip install -U letsfg.View on GitHub ↗ -
v2026.5.102 v2026.5.102 — Round trips, cabin, stops and sort reach the search on both lanes
Release notes excerpt
letsfg 2026.5.102 (PyPI), letsfg 2026.5.75 and letsfg-mcp 2026.5.78 (npm). The Bearer lane (/api/search) and the API-key lane (Developer API) name the same search options differently, and each silently drops the other's names. - letsfg-mcp (#220, thanks @gmjuhasz): Bearer-lane round trips ran as one-way and every cabin as economy; the return leg was dropped from results; max_results had no effect. …View on GitHub ↗ -
v2026.5.101 v2026.5.101 — Hotel booking works from the SDKs again: held, then captured
Release notes excerpt
If you book hotels through an SDK, update now. Since 2026-09-11 the API has refused every hotel booking sent by an earlier SDK release. These versions book again: | Package | Fixed in | Update | |---|---|---| | letsfg (PyPI) | 2026.5.101 | pip install -U letsfg | | letsfg (npm) | 2026.5.74 | npm install letsfg@latest | | letsfg-mcp (npm) | 2026.5.77 | npx -y letsfg-mcp@latest | The hosted MCP at https://letsfg.co/developers/api/mcp needs no update. What went wrong …View on GitHub ↗
FAQ
Is search free?
letsfg auth (zero-amount card setup), search is free and unlimited for 90 days.How do I book a hotel?
pay_link.Can I cancel a hotel booking?
balance_due_by costs only the 10% already paid; after that, the hotel's cancellation ladder applies, up to 100%.