Partner API

Integrate LetsFG in an agent today.

Production REST API first. SDK and MCP as fallback. Search-only can ship now, and unlock or booking can stay off until commercial, privacy, and support flows are agreed.

Search-first rolloutOpenAPI 3.1Location lookup + flight searchNo scraping required
Use the right surface

Production API first. Local tools as fallback.

Production API

Use the REST API for live partner integrations.

Base URL: https://api.letsfg.co

Auth: send your key in the X-API-Key header.

If you need a dedicated partner key or custom limits, email contact@letsfg.co.

OpenAPI + docs

Everything public is already documented.

Interactive docs: Swagger and ReDoc.

Importable spec: openapi.yaml.

Fallbacks

SDK and MCP stay available as backup paths.

JS and Python SDKs live in the public repo, and remote MCP is available at https://api.letsfg.co/mcp.

That makes the hybrid rollout straightforward: production API for live traffic, SDK or MCP for local fallback and prototyping.

Stable contract

Endpoints you can wire against now.

GET/api/v1/flights/resolve-location

Resolve city or airport names to stable IATA codes before search.

Ready for search-only integrations

POST/api/v1/flights/search

Production search endpoint for price, route, duration, stopovers, and conditions.

Ready for search-only integrations

POST/api/v1/bookings/unlock

Confirms live airline price and reserves the offer for booking.

Documented now; enable later when commercial terms are aligned

POST/api/v1/bookings/book

Creates the booking after unlock using real passenger details.

Documented now; keep disabled until privacy and support workflow are agreed

Search-only example

Drop this into a provider adapter.

const baseUrl = process.env.LETSFG_BASE_URL ?? 'https://api.letsfg.co';
const apiKey = process.env.LETSFG_API_KEY!;

const headers = {
  'Content-Type': 'application/json',
  'X-API-Key': apiKey,
};

const locations = await fetch(
  `${baseUrl}/api/v1/flights/resolve-location?query=London`,
  { headers }
).then((response) => response.json());

const results = await fetch(`${baseUrl}/api/v1/flights/search`, {
  method: 'POST',
  headers,
  body: JSON.stringify({
    origin: 'LON',
    destination: 'BCN',
    date_from: '2026-06-15',
    adults: 1,
    currency: 'EUR',
  }),
}).then((response) => response.json());
API key flow

Start immediately with self-serve registration.

curl -X POST https://api.letsfg.co/api/v1/agents/register \
  -H "Content-Type: application/json" \
  -d '{"agent_name":"your-agent","email":"team@example.com"}'

That returns an API key for production calls today. If you want a dedicated partner key, contact contact@letsfg.co.

Rate limits

Standard production limits.

  • Search API: 60 req/min per agent
  • Resolve location: 120 req/min per agent
  • Unlock: 20 req/min per agent
  • Book: 10 req/min per agent
Partner rollout notes

What is manual today.

  • Partner key flow: self-serve registration exists today, and dedicated partner keys can be coordinated by email.
  • Sandbox: no separate public sandbox is documented in the repo today. For immediate rollout, use production in search-only mode.
  • Pricing: search is free. Unlock is free with GitHub star verification. Booking charges the ticket price plus Stripe processing.
  • Search-only mode does not require passenger profiles, payment, or website scraping.
  • Referral tracking, attribution, branding approval, GDPR/DPA terms, and live booking operations are handled directly at contact@letsfg.co.
  • Support: contact@letsfg.co and GitHub Issues. The public docs note typical email response time is under 1 hour.
Need a fast rollout?

Send the partner team your runtime shape and we can wire the rest around it.

If you are already building around LETSFG_API_KEY and LETSFG_BASE_URL, you can ship location lookup plus search immediately and keep unlock or booking for phase two.