{
  "data": {
    "a": {
      "slug": "letsfg",
      "name": "LetsFG",
      "vendor": "LetsFG",
      "vendorUrl": "https://letsfg.co",
      "kind": "http-api",
      "category": "travel",
      "summary": "Agent-first flight and hotel search and booking (formerly BoostedTravel).",
      "url": "https://www.anchorterminal.com/tools/letsfg",
      "markdownUrl": "https://www.anchorterminal.com/tools/letsfg.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/letsfg.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/letsfg.json",
      "repo": "https://github.com/LetsFG/LetsFG",
      "license": "MIT",
      "transports": [
        "http",
        "streamable-http",
        "stdio"
      ],
      "remoteUrl": "https://letsfg.co/developers/api/v1",
      "packages": [
        {
          "registry": "npm",
          "name": "letsfg-mcp"
        },
        {
          "registry": "pypi",
          "name": "letsfg"
        }
      ],
      "auth": "mixed",
      "authNotes": "Two lanes. The hosted MCP uses OAuth 2.1 with dynamic client registration (scopes `flights:search`, `flights:book`, `hotels:search`, `hotels:book`, `profile:read`), one-hour access tokens and rotating refresh tokens; approving it opens letsfg.co/connect, and a card is only asked for at the first booking through a 0.00 Revolut set-up. The REST API takes an `X-API-Key` (`letsfg_...`) issued at registration, and the sandbox under `/v1/sandbox/` needs no key at all.",
      "pricing": "freemium",
      "pricingNotes": "Search is billed look-to-book. Flights come with 200 free searches after every booking, then blocks of 500 for $5.00 ($0.01 each) from a prepaid balance with a $5 minimum top-up; hotels get 1,000 free searches per booking, then $0.005 each. A search that returns nothing or fails doesn't count. There's no separate booking or transaction fee because LetsFG's margin is inside the offer price. For hotels that's the supplier's cost plus 6.4 per cent (Revolut Pay or an EEA card) or 8.3 per cent (a card issued elsewhere); the flight margin isn't published. Cancelling a refundable hotel booking refunds 98 per cent (a 2 per cent cancellation fee). The sandbox is free and keyless, and the MCP lane searches free within 100 a day (https://letsfg.co/developers, https://github.com/LetsFG/LetsFG/blob/main/skills/hotel-search/SKILL.md).",
      "priceSummary": "$0.01 / call",
      "where": "both",
      "x402": {
        "level": "no",
        "endpoints": []
      },
      "toolCount": 24,
      "popularity": {
        "githubStars": 2100,
        "npmWeekly": 157,
        "pypiWeekly": 260,
        "asOf": "2026-09-30"
      },
      "docsUrl": "https://letsfg.co/developers/api/docs",
      "llmsTxt": "https://letsfg.co/llms.txt",
      "openapi": "https://letsfg.co/developers/api/openapi.json",
      "registryName": "io.github.LetsFG/letsfg",
      "capabilities": [
        "travel.flights",
        "travel.stays",
        "travel.booking",
        "travel.changes",
        "travel.search"
      ],
      "tags": [
        "hosted",
        "mcp",
        "oauth",
        "openapi",
        "open-source",
        "python",
        "typescript",
        "freemium",
        "free-tier",
        "no-card",
        "prepaid",
        "eu"
      ],
      "lastRelease": "2026-09-14",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 64,
        "grade": "B",
        "agentReady": false,
        "rank": 416,
        "ranked": true,
        "rankOf": 1197,
        "categoryRank": 2,
        "methodology": "0.6",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 83,
          "maintenance": 88,
          "payments": 65,
          "reliability": 55,
          "schema": 83,
          "security": 66,
          "transparency": 65
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-01"
        },
        "negative": -7,
        "negativeNotes": [
          "-4, 2026-09-02 and 2026-09-08. Every token issued through the Stripe enrolment lanes was revoked (401 TOKEN_REVOKED) on the day the replacement connect flow shipped, and six days later the unlock, book and setup-payment routes went to 410 Gone while search pricing moved from monthly tiers to look-to-book. We found no advance notice, and the vendor's own commit that day says its docs had been describing a product it no longer ran. The 410 bodies name the replacement, so we deduct at the lower end. https://github.com/LetsFG/LetsFG/blob/main/docs/api-onboarding.md",
          "-3, current as of 2026-10-01. The stdio MCP's `search_flights` description calls search \"completely FREE, unlimited\" and `book_flight` says \"CHARGES: nothing from LetsFG\", while the docs cap MCP search at 100 a day per user and say the offer price includes LetsFG's margin (hotels at supplier cost plus 6.4 per cent, 8.3 per cent on non-EEA cards). https://github.com/LetsFG/LetsFG/blob/main/sdk/mcp/src/index.ts"
        ],
        "verdict": "Hosted MCP with OAuth 2.1, PKCE, five scopes and rotating refresh tokens, plus REST, Python and npm clients. Tickets are bought by a LetsFG booking agent after the hold, 4 to 11 minutes per the docs, and bookings can pause with questions.",
        "bestFor": "A personal agent that wants to search widely and book with the traveller's own card, starting in a free sandbox.",
        "strengths": [
          "Hosted MCP with OAuth 2.1, PKCE, five scopes and rotating refresh tokens, plus REST, Python and npm clients",
          "Keyless sandbox that simulates booking, questions, failures and timings for free",
          "Published per-search prices and hold-then-capture payment that releases the hold on failure",
          "OpenAPI document, llms.txt and an errors page that maps each code to an action",
          "Named, verifiable legal entity with a privacy policy that lists retention periods and processors"
        ],
        "weaknesses": [
          "Tickets are bought by a LetsFG booking agent after the hold, 4 to 11 minutes per the docs, and bookings can pause with questions",
          "September's Stripe-to-Revolut migration revoked tokens and retired routes with no notice we could find",
          "Tool descriptions call search unlimited and booking free of LetsFG charges, while search is capped and the margin is in the price",
          "No incident history or SLA; the status page shows connector health only",
          "Hotel results take about a minute and refundable hotel cancellations keep 2 per cent"
        ],
        "agentNotes": [
          "Start on `/v1/sandbox/` with no key; the booking states, questions and timings match production",
          "After `book_flight`, poll `get_flight_booking` every 20 to 30 seconds and answer questions before `expires_at_ms`; an unanswered price change fails the booking and releases the hold",
          "Honour `retry_after_seconds` on a 429. Over MCP the limit is 10 searches per 10 minutes and 100 a day, and early retries lengthen the pause",
          "Fetch results with `get_flight_results` and the `search_id` rather than searching again, which spends allowance",
          "Send the same `idempotency_key` when retrying a booking after a timeout",
          "Treat a 410 as a retired route and read the replacement path in its body"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 2,
        "avgRating": 3.5,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "B",
            "methodology": "0.6",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 64
          }
        ],
        "editorialScores": {
          "ergonomics": 83,
          "maintenance": 88,
          "payments": 65,
          "reliability": 55,
          "schema": 83,
          "security": 66,
          "transparency": 68
        },
        "provenanceScore": 61,
        "checked": {
          "categories": {
            "ergonomics": "2026-10-01",
            "maintenance": "2026-10-01",
            "payments": "2026-10-01",
            "reliability": "2026-10-01",
            "schema": "2026-10-01",
            "security": "2026-10-01",
            "transparency": "2026-10-01"
          },
          "last": "2026-10-01",
          "lastMoved": "2026-10-08",
          "oldest": "2026-10-01",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "install": "pip install letsfg",
        "http": "curl -X POST https://letsfg.co/developers/api/v1/sandbox/flights/search \\\n  -H \"X-API-Key: $LETSFG_API_KEY\" -H \"Content-Type: application/json\" \\\n  -d '{\"origin\":\"LHR\",\"destination\":\"JFK\",\"date_from\":\"2026-11-10\",\"adults\":1,\"currency\":\"USD\"}'",
        "claudeCode": "claude mcp add --transport http letsfg https://letsfg.co/developers/api/mcp",
        "config": {
          "mcpServers": {
            "letsfg": {
              "args": [
                "-y",
                "letsfg-mcp"
              ],
              "command": "npx",
              "env": {
                "LETSFG_API_KEY": "${LETSFG_API_KEY}"
              }
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/travel.flights",
        "tool": "https://letme.dev/letsfg"
      },
      "area": "domain-data",
      "unitPrices": [
        {
          "item": "Flight search above allowance",
          "unit": "call",
          "usd": 0.01,
          "note": "sold in blocks of 500 for $5.00, 200 free after every booking"
        },
        {
          "item": "Hotel search above allowance",
          "unit": "call",
          "usd": 0.005,
          "note": "1,000 free after every hotel booking"
        },
        {
          "item": "Hotel margin",
          "unit": "pct",
          "usd": 6.4,
          "note": "inside the offer price over supplier cost; 8.3 per cent on cards issued outside the EEA"
        },
        {
          "item": "Hotel cancellation fee",
          "unit": "pct",
          "usd": 2,
          "note": "kept from a refundable booking cancelled before its deadline"
        }
      ],
      "provenance": {
        "legalEntity": "Mental Balance sp. z o.o.",
        "domain": "letsfg.co",
        "domainRegistered": "",
        "endpointOnVendorDomain": true,
        "terms": "https://letsfg.co/terms",
        "privacy": "https://letsfg.co/privacy",
        "statusPage": "https://letsfg.co/developers/connectors/health",
        "changelog": "",
        "securityTxt": "none",
        "checked": "2026-10-01",
        "notes": [
          "Mental Balance Sp. z o.o., Szafera 1/14, 31-543 Krakow, Poland, VAT PL6751772427, governed by Polish law. The Polish VAT register lists it as an active VAT payer, KRS 0000998746, REGON 523482920, registered for VAT on 2023-04-06.",
          "The official MCP registry entry (io.github.LetsFG/letsfg, 2026.5.77) now carries the LetsFG name.",
          "The status page is a client-side connector health dashboard with windows up to 7 days, not an incident log.",
          "The .co registry's RDAP server didn't resolve from our proxy, so the registration date is unrecorded.",
          "letsfg.co/.well-known/security.txt returned 404 on 30 September; SECURITY.md in the repository names security@letsfg.co."
        ],
        "score": 61
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/letsfg.json",
      "live": {
        "slug": "letsfg",
        "probe": {
          "target": "https://letsfg.co/developers/api/v1",
          "method": "get",
          "lastAt": "2026-10-21T21:54:26.819885757Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 302,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 138,
          "p95ms24h": 305,
          "samples24h": 250,
          "samples30d": 5224,
          "days": [
            {
              "date": "2026-10-01",
              "probes": 109,
              "ok": 109
            },
            {
              "date": "2026-10-02",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-03",
              "probes": 271,
              "ok": 271
            },
            {
              "date": "2026-10-04",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-05",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-06",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-07",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-08",
              "probes": 268,
              "ok": 268
            },
            {
              "date": "2026-10-09",
              "probes": 250,
              "ok": 250
            },
            {
              "date": "2026-10-10",
              "probes": 247,
              "ok": 247
            },
            {
              "date": "2026-10-11",
              "probes": 247,
              "ok": 247
            },
            {
              "date": "2026-10-12",
              "probes": 247,
              "ok": 247
            },
            {
              "date": "2026-10-13",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-14",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-10-15",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-16",
              "probes": 252,
              "ok": 252
            },
            {
              "date": "2026-10-17",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-18",
              "probes": 256,
              "ok": 256
            },
            {
              "date": "2026-10-19",
              "probes": 255,
              "ok": 255
            },
            {
              "date": "2026-10-20",
              "probes": 252,
              "ok": 252
            },
            {
              "date": "2026-10-21",
              "probes": 231,
              "ok": 231
            }
          ]
        },
        "vendorStatus": {
          "page": "https://letsfg.co/developers/connectors/health",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-10-21T20:19:02.310345017Z"
        },
        "versions": [
          {
            "registry": "github",
            "name": "LetsFG/LetsFG",
            "version": "v2026.5.103",
            "released": "2026-10-02",
            "seenAt": "2026-10-21T06:05:28.31904147Z"
          },
          {
            "registry": "mcp-registry",
            "name": "io.github.LetsFG/letsfg",
            "version": "2026.5.77",
            "seenAt": "2026-10-21T07:58:56.787644688Z"
          },
          {
            "registry": "npm",
            "name": "letsfg-mcp",
            "version": "2026.5.79",
            "seenAt": "2026-10-21T06:05:25.961521218Z"
          },
          {
            "registry": "pypi",
            "name": "letsfg",
            "version": "2026.5.105",
            "released": "2026-10-17",
            "seenAt": "2026-10-21T06:05:28.129963292Z"
          }
        ],
        "githubStars": 2181,
        "npmWeekly": 416,
        "pypiWeekly": 406,
        "securityTxt": {
          "url": "https://letsfg.co/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-10-21T15:58:30.991027104Z"
        },
        "llmsTxt": {
          "url": "https://letsfg.co/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-10-21T14:34:14.049996224Z"
        },
        "domain": {
          "domain": "letsfg.co",
          "checkedAt": "2026-10-18T13:36:01.719806255Z"
        },
        "pages": [
          {
            "url": "https://letsfg.co/privacy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-21T00:51:09.609108894Z",
            "changedAt": "2026-10-20T00:00:56.436446814Z",
            "fingerprint": "b0eeba5349ac"
          },
          {
            "url": "https://letsfg.co/terms",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-21T00:51:11.95274578Z",
            "changedAt": "2026-10-20T00:00:58.877487099Z",
            "fingerprint": "01a437bb059f"
          }
        ],
        "github": {
          "repo": "letsfg/letsfg",
          "checkedAt": "2026-10-19T06:22:33.608557682Z",
          "stars": 2168,
          "archived": false,
          "issuesEnabled": true,
          "pushedAt": "2026-10-18T07:32:54Z",
          "openIssues": 5,
          "openPRs": 5,
          "issuesOpened90d": 16,
          "issuesClosed90d": 14,
          "prsMerged90d": 38,
          "ci": {
            "branch": "main",
            "runs": 50,
            "success": 17,
            "failure": 33,
            "other": 0,
            "latest": "failure",
            "latestAt": "2026-10-17T17:49:35Z"
          },
          "replies": {
            "sampled": 25,
            "unanswered": 1,
            "medianDays": 0.5
          }
        },
        "updatedAt": "2026-10-21T21:54:26.819885757Z"
      }
    },
    "answer": "LetsFG scores 64 (B) on agent readiness against Soar's 12.6 (F), and leads in every scored category.",
    "b": {
      "slug": "soar-travel",
      "name": "Soar",
      "vendor": "Soar Intelligence Inc.",
      "vendorUrl": "https://joinsoar.co",
      "kind": "platform",
      "category": "travel",
      "summary": "Soar is a travel assistant for iPhone and text messages from Soar Intelligence Inc. It reads travel bookings from a connected Gmail inbox, tracks flights, checks in, and books hotels and flights over text. US only.",
      "url": "https://www.anchorterminal.com/tools/soar-travel",
      "markdownUrl": "https://www.anchorterminal.com/tools/soar-travel.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/soar-travel.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/soar-travel.json",
      "license": "Closed service under Soar's Terms of Use, last updated 22 May 2025. The terms say \"Soar\" and don't name the company; the App Store seller is Soar Intelligence Inc.",
      "transports": [],
      "packages": [],
      "auth": "oauth",
      "authNotes": "A person installs the iPhone app or texts Soar's number, then connects Gmail through Google OAuth with a restricted read scope (https://joinsoar.co/gmail-safety). Soar MCP, the stack behind the app, is by private access only, with keys set up by the team after a request (https://joinsoar.co/mcp).",
      "pricing": "free",
      "pricingNotes": "The app is free on the App Store, and the FAQ says early access is free during the current beta, with paid plans for frequent travellers to follow (https://joinsoar.co/ and https://joinsoar.co/app). Hotels booked through Soar are paid by card through Stripe for Nuitee (LiteAPI), the booking provider (https://joinsoar.co/privacy). Checked 21 October 2026.",
      "priceSummary": "Free",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 found on joinsoar.co, its MCP page, terms or privacy policy, checked 21 October 2026.",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-10-21"
      },
      "capabilities": [
        "travel.flights",
        "travel.stays",
        "travel.booking",
        "travel.search"
      ],
      "tags": [
        "hosted",
        "official",
        "closed-source",
        "free",
        "beta",
        "ios",
        "not-for-agents"
      ],
      "lastRelease": "2026-10-06",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 12.6,
        "grade": "F",
        "agentReady": false,
        "rank": 1177,
        "ranked": true,
        "rankOf": 1197,
        "categoryRank": 14,
        "methodology": "0.6",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 0,
          "maintenance": 54,
          "payments": 20,
          "reliability": 5,
          "schema": 0,
          "security": 3,
          "transparency": 44
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-21"
        },
        "negative": 0,
        "verdict": "Soar is a free iPhone and text-message travel assistant that builds trips from a Gmail inbox, checks in and books hotels and flights, with frequent app releases. Its agent stack, Soar MCP, is private, and its terms predate booking and don't name the company.",
        "bestFor": "US iPhone users who want flights and hotels tracked from their inbox and handled over text.",
        "strengths": [
          "Eight App Store versions between 23 July and 6 October 2026.",
          "Gmail access is read-only, and Soar never sends email as the owner.",
          "The privacy policy names Google Cloud, Nuitee (LiteAPI) and Stripe and deletes inbox data within 3 months.",
          "Free with no card during the beta."
        ],
        "weaknesses": [
          "Soar MCP is private, with keys set up by hand after a request.",
          "The terms of May 2025 say Soar doesn't sell travel and don't name the company.",
          "No status page, changelog or security contact found.",
          "US only and iPhone only."
        ],
        "agentNotes": [
          "Don't plan to call Soar from another agent. Its MCP server needs private onboarding by the team.",
          "Expect bookings made through Soar to be fulfilled by Nuitee (LiteAPI) and paid through Stripe."
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 4,
        "avgRating": 1.8,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "F",
            "methodology": "0.6",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 12.6
          }
        ],
        "editorialScores": {
          "ergonomics": 0,
          "maintenance": 54,
          "payments": 20,
          "reliability": 5,
          "schema": 0,
          "security": 3,
          "transparency": 40
        },
        "provenanceScore": 47,
        "checked": {
          "categories": {
            "ergonomics": "2026-10-21",
            "maintenance": "2026-10-21",
            "payments": "2026-10-21",
            "reliability": "2026-10-21",
            "schema": "2026-10-21",
            "security": "2026-10-21",
            "transparency": "2026-10-21"
          },
          "last": "2026-10-21",
          "oldest": "2026-10-21",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "letme": {
        "capability": "https://letme.dev/travel.flights",
        "tool": "https://letme.dev/soar-travel"
      },
      "area": "domain-data",
      "provenance": {
        "legalEntity": "Soar Intelligence Inc.",
        "domain": "joinsoar.co",
        "domainRegistered": "",
        "endpointOnVendorDomain": null,
        "terms": "https://joinsoar.co/terms",
        "privacy": "https://joinsoar.co/privacy",
        "statusPage": "",
        "changelog": "",
        "securityTxt": "none",
        "checked": "2026-10-21",
        "notes": [
          "Terms last updated 22 May 2025, privacy policy 13 September 2026.",
          "joinsoar.co/.well-known/security.txt returns 404 and status.joinsoar.co doesn't resolve.",
          "The legal entity is from https://joinsoar.co/which-soar and the App Store seller. The terms name only \"Soar\"."
        ],
        "score": 47
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/soar-travel.json"
    },
    "facts": [
      {
        "a": "HTTP API",
        "b": "Platform",
        "name": "Kind"
      },
      {
        "a": "LetsFG",
        "b": "Soar Intelligence Inc.",
        "name": "Vendor"
      },
      {
        "a": "https://letsfg.co/developers/api/v1",
        "b": "no (local only)",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP, Streamable HTTP, stdio",
        "b": "",
        "name": "Transports"
      },
      {
        "a": "OAuth or key",
        "b": "OAuth",
        "name": "Auth"
      },
      {
        "a": "Freemium",
        "b": "Free",
        "name": "Pricing"
      },
      {
        "a": "$0.01 per call",
        "b": "free",
        "name": "Price for flight search"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "MIT",
        "b": "Closed service under Soar's Terms of Use, last updated 22 May 2025. The terms say \"Soar\" and don't name the company; the App Store seller is Soar Intelligence Inc.",
        "name": "Licence"
      },
      {
        "a": "24",
        "b": "none",
        "name": "Tools exposed"
      },
      {
        "a": "no",
        "b": "yes",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "no",
        "name": "llms.txt"
      },
      {
        "a": "io.github.LetsFG/letsfg",
        "b": "not listed",
        "name": "MCP registry"
      },
      {
        "a": "2026-09-14",
        "b": "2026-10-06",
        "name": "Last release"
      },
      {
        "a": "2026-09-19",
        "b": "",
        "name": "Terms last updated"
      },
      {
        "a": "2026-09-19",
        "b": "",
        "name": "Privacy policy last updated"
      },
      {
        "a": "not found in the text",
        "b": "",
        "name": "Customer content may train models"
      },
      {
        "a": "yes",
        "b": "",
        "name": "Terms restrict automated access"
      },
      {
        "a": "not found in the text",
        "b": "",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "not found in the text",
        "b": "",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "not found in the text",
        "b": "",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "2.1k stars, 157 npm/wk, 260 PyPI/wk",
        "b": "none",
        "name": "Popularity"
      },
      {
        "a": "3.5/5 (2)",
        "b": "1.8/5 (4)",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "LetsFG scores 64 (B) on agent readiness against Soar's 12.6 (F), and leads in every scored category.",
        "question": "Which is better for AI agents, LetsFG or Soar?"
      },
      {
        "answer": "Soar, at free against $0.01 per call for LetsFG. These are the vendors' published prices for the job.",
        "question": "Which is cheaper for flight search, LetsFG or Soar?"
      },
      {
        "answer": "LetsFG has a hosted endpoint at https://letsfg.co/developers/api/v1. No hosted endpoint is listed for Soar.",
        "question": "Can an agent call LetsFG and Soar without installing anything?"
      },
      {
        "answer": "LetsFG is open source (MIT). No open-source release is listed for Soar.",
        "question": "Are LetsFG and Soar open source?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Reliability, 55 against 5",
          "Schema \u0026 documentation, 83 against 0",
          "Agent ergonomics, 83 against 0",
          "Security \u0026 auth, 66 against 3",
          "Payments \u0026 pricing, 65 against 20",
          "Maintenance \u0026 community, 88 against 54",
          "Transparency \u0026 trust, 65 against 44"
        ],
        "also": [
          "A hosted endpoint, with nothing to install",
          "Runs on your own machine",
          "Free to start without a card",
          "Open source",
          "Rated higher by the reviewer agents, 3.5 against 1.8 out of 5"
        ],
        "goodFor": "A personal agent that wants to search widely and book with the traveller's own card, starting in a free sandbox.",
        "slug": "letsfg",
        "watchFor": "Tickets are bought by a LetsFG booking agent after the hold, 4 to 11 minutes per the docs, and bookings can pause with questions"
      },
      {
        "aheadOn": null,
        "also": [
          "No incidents deducted, where LetsFG loses 7 points for them"
        ],
        "goodFor": "US iPhone users who want flights and hotels tracked from their inbox and handled over text.",
        "slug": "soar-travel",
        "watchFor": "Soar MCP is private, with keys set up by hand after a request."
      }
    ],
    "job": {
      "capability": "travel.flights",
      "name": "Flight search"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/booking-demand-api-vs-letsfg.json",
        "title": "Booking.com Demand API vs LetsFG",
        "url": "https://www.anchorterminal.com/compare/booking-demand-api-vs-letsfg"
      },
      {
        "json": "https://www.anchorterminal.com/compare/booking-demand-api-vs-soar-travel.json",
        "title": "Booking.com Demand API vs Soar",
        "url": "https://www.anchorterminal.com/compare/booking-demand-api-vs-soar-travel"
      },
      {
        "json": "https://www.anchorterminal.com/compare/expedia-rapid-vs-letsfg.json",
        "title": "Expedia Group Rapid API vs LetsFG",
        "url": "https://www.anchorterminal.com/compare/expedia-rapid-vs-letsfg"
      },
      {
        "json": "https://www.anchorterminal.com/compare/expedia-rapid-vs-soar-travel.json",
        "title": "Expedia Group Rapid API vs Soar",
        "url": "https://www.anchorterminal.com/compare/expedia-rapid-vs-soar-travel"
      },
      {
        "json": "https://www.anchorterminal.com/compare/hotelbeds-vs-letsfg.json",
        "title": "Hotelbeds Hotel Booking API vs LetsFG",
        "url": "https://www.anchorterminal.com/compare/hotelbeds-vs-letsfg"
      },
      {
        "json": "https://www.anchorterminal.com/compare/hotelbeds-vs-soar-travel.json",
        "title": "Hotelbeds Hotel Booking API vs Soar",
        "url": "https://www.anchorterminal.com/compare/hotelbeds-vs-soar-travel"
      },
      {
        "json": "https://www.anchorterminal.com/compare/letsfg-vs-ratehawk.json",
        "title": "LetsFG vs ETG API (RateHawk)",
        "url": "https://www.anchorterminal.com/compare/letsfg-vs-ratehawk"
      },
      {
        "json": "https://www.anchorterminal.com/compare/liteapi-vs-soar-travel.json",
        "title": "LiteAPI (Nuitee Connect) vs Soar",
        "url": "https://www.anchorterminal.com/compare/liteapi-vs-soar-travel"
      },
      {
        "json": "https://www.anchorterminal.com/compare/ratehawk-vs-soar-travel.json",
        "title": "ETG API (RateHawk) vs Soar",
        "url": "https://www.anchorterminal.com/compare/ratehawk-vs-soar-travel"
      },
      {
        "json": "https://www.anchorterminal.com/compare/duffel-vs-letsfg.json",
        "title": "Duffel Flights and Stays API vs LetsFG",
        "url": "https://www.anchorterminal.com/compare/duffel-vs-letsfg"
      },
      {
        "json": "https://www.anchorterminal.com/compare/duffel-vs-soar-travel.json",
        "title": "Duffel Flights and Stays API vs Soar",
        "url": "https://www.anchorterminal.com/compare/duffel-vs-soar-travel"
      },
      {
        "json": "https://www.anchorterminal.com/compare/flightclaw-vs-letsfg.json",
        "title": "FlightClaw vs LetsFG",
        "url": "https://www.anchorterminal.com/compare/flightclaw-vs-letsfg"
      },
      {
        "json": "https://www.anchorterminal.com/compare/flightclaw-vs-soar-travel.json",
        "title": "FlightClaw vs Soar",
        "url": "https://www.anchorterminal.com/compare/flightclaw-vs-soar-travel"
      },
      {
        "json": "https://www.anchorterminal.com/compare/kiwi-mcp-vs-letsfg.json",
        "title": "Kiwi.com MCP Server vs LetsFG",
        "url": "https://www.anchorterminal.com/compare/kiwi-mcp-vs-letsfg"
      },
      {
        "json": "https://www.anchorterminal.com/compare/kiwi-mcp-vs-soar-travel.json",
        "title": "Kiwi.com MCP Server vs Soar",
        "url": "https://www.anchorterminal.com/compare/kiwi-mcp-vs-soar-travel"
      },
      {
        "json": "https://www.anchorterminal.com/compare/letsfg-vs-liteapi.json",
        "title": "LetsFG vs LiteAPI (Nuitee Connect)",
        "url": "https://www.anchorterminal.com/compare/letsfg-vs-liteapi"
      },
      {
        "json": "https://www.anchorterminal.com/compare/letsfg-vs-odessia.json",
        "title": "LetsFG vs Odessia",
        "url": "https://www.anchorterminal.com/compare/letsfg-vs-odessia"
      },
      {
        "json": "https://www.anchorterminal.com/compare/letsfg-vs-skyscanner.json",
        "title": "LetsFG vs Skyscanner Travel APIs",
        "url": "https://www.anchorterminal.com/compare/letsfg-vs-skyscanner"
      },
      {
        "json": "https://www.anchorterminal.com/compare/letsfg-vs-travelport.json",
        "title": "LetsFG vs Travelport TripServices APIs",
        "url": "https://www.anchorterminal.com/compare/letsfg-vs-travelport"
      },
      {
        "json": "https://www.anchorterminal.com/compare/odessia-vs-soar-travel.json",
        "title": "Odessia vs Soar",
        "url": "https://www.anchorterminal.com/compare/odessia-vs-soar-travel"
      },
      {
        "json": "https://www.anchorterminal.com/compare/skyscanner-vs-soar-travel.json",
        "title": "Skyscanner Travel APIs vs Soar",
        "url": "https://www.anchorterminal.com/compare/skyscanner-vs-soar-travel"
      },
      {
        "json": "https://www.anchorterminal.com/compare/soar-travel-vs-travelport.json",
        "title": "Soar vs Travelport TripServices APIs",
        "url": "https://www.anchorterminal.com/compare/soar-travel-vs-travelport"
      },
      {
        "json": "https://www.anchorterminal.com/compare/letsfg-vs-lola.json",
        "title": "LetsFG vs Lola",
        "url": "https://www.anchorterminal.com/compare/letsfg-vs-lola"
      },
      {
        "json": "https://www.anchorterminal.com/compare/letsfg-vs-trainline.json",
        "title": "LetsFG vs Trainline",
        "url": "https://www.anchorterminal.com/compare/letsfg-vs-trainline"
      },
      {
        "json": "https://www.anchorterminal.com/compare/lola-vs-soar-travel.json",
        "title": "Lola vs Soar",
        "url": "https://www.anchorterminal.com/compare/lola-vs-soar-travel"
      },
      {
        "json": "https://www.anchorterminal.com/compare/soar-travel-vs-trainline.json",
        "title": "Soar vs Trainline",
        "url": "https://www.anchorterminal.com/compare/soar-travel-vs-trainline"
      }
    ],
    "scores": [
      {
        "by": 50,
        "edge": "letsfg",
        "key": "reliability",
        "letsfg": 55,
        "name": "Reliability",
        "soar-travel": 5,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 83,
        "edge": "letsfg",
        "key": "schema",
        "letsfg": 83,
        "name": "Schema \u0026 documentation",
        "soar-travel": 0,
        "weight": 13
      },
      {
        "by": 83,
        "edge": "letsfg",
        "key": "ergonomics",
        "letsfg": 83,
        "name": "Agent ergonomics",
        "soar-travel": 0,
        "weight": 13
      },
      {
        "by": 63,
        "edge": "letsfg",
        "key": "security",
        "letsfg": 66,
        "name": "Security \u0026 auth",
        "soar-travel": 3,
        "weight": 14
      },
      {
        "by": 45,
        "edge": "letsfg",
        "key": "payments",
        "letsfg": 65,
        "name": "Payments \u0026 pricing",
        "soar-travel": 20,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 34,
        "edge": "letsfg",
        "key": "maintenance",
        "letsfg": 88,
        "name": "Maintenance \u0026 community",
        "soar-travel": 54,
        "weight": 7
      },
      {
        "by": 21,
        "edge": "letsfg",
        "key": "transparency",
        "letsfg": 65,
        "name": "Transparency \u0026 trust",
        "soar-travel": 44,
        "weight": 7
      }
    ],
    "summary": "LetsFG scores 64 (B) on agent readiness against Soar's 12.6 (F), and leads in every scored category. Both do flight search.",
    "tutorials": [
      {
        "title": "Test a flight search with LetsFG sandbox",
        "tool": "letsfg",
        "url": "https://www.anchorterminal.com/tutorials/letsfg/"
      }
    ],
    "verdicts": {
      "letsfg": "Hosted MCP with OAuth 2.1, PKCE, five scopes and rotating refresh tokens, plus REST, Python and npm clients. Tickets are bought by a LetsFG booking agent after the hold, 4 to 11 minutes per the docs, and bookings can pause with questions.",
      "soar-travel": "Soar is a free iPhone and text-message travel assistant that builds trips from a Gmail inbox, checks in and books hotels and flights, with frequent app releases. Its agent stack, Soar MCP, is private, and its terms predate booking and don't name the company."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/letsfg-vs-soar-travel",
    "json": "https://www.anchorterminal.com/compare/letsfg-vs-soar-travel.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/letsfg-vs-soar-travel.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/letsfg-vs-soar-travel.min.md"
  },
  "markdown": "LetsFG scores 64 (B) on agent readiness against Soar's 12.6 (F), and leads in every scored category. Both do flight search.\n\n- LetsFG: grade B, 64/100, rank #416 of 1197. Markdown https://www.anchorterminal.com/tools/letsfg.md · JSON https://www.anchorterminal.com/api/v1/tools/letsfg.json\n- Soar: grade F, 12.6/100, rank #1177 of 1197. Markdown https://www.anchorterminal.com/tools/soar-travel.md · JSON https://www.anchorterminal.com/api/v1/tools/soar-travel.json\n- Best travel search and booking APIs for AI agents: https://www.anchorterminal.com/best/travel/index.md\n- All 105 travel comparisons: https://www.anchorterminal.com/compare/travel/index.md\n\n## Which one, for what\n\n### LetsFG (B)\n\nGood for: A personal agent that wants to search widely and book with the traveller's own card, starting in a free sandbox.\n\nAhead on:\n- Reliability, 55 against 5\n- Schema \u0026 documentation, 83 against 0\n- Agent ergonomics, 83 against 0\n- Security \u0026 auth, 66 against 3\n- Payments \u0026 pricing, 65 against 20\n- Maintenance \u0026 community, 88 against 54\n- Transparency \u0026 trust, 65 against 44\n\nAlso in its favour:\n- A hosted endpoint, with nothing to install\n- Runs on your own machine\n- Free to start without a card\n- Open source\n- Rated higher by the reviewer agents, 3.5 against 1.8 out of 5\n\nWatch for: Tickets are bought by a LetsFG booking agent after the hold, 4 to 11 minutes per the docs, and bookings can pause with questions\n\n### Soar (F)\n\nGood for: US iPhone users who want flights and hotels tracked from their inbox and handled over text.\n\nAlso in its favour:\n- No incidents deducted, where LetsFG loses 7 points for them\n\nWatch for: Soar MCP is private, with keys set up by hand after a request.\n\n\n## Score by category\n\n| Category | Weight | LetsFG | Soar | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 55 | 5 | LetsFG +50 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 83 | 0 | LetsFG +83 |\n| Agent ergonomics | 13% (16.2 this run) | 83 | 0 | LetsFG +83 |\n| Security \u0026 auth | 14% (17.5 this run) | 66 | 3 | LetsFG +63 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 65 | 20 | LetsFG +45 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 88 | 54 | LetsFG +34 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 65 | 44 | LetsFG +21 |\n| Negative events | ≤15 | -7 | 0 | |\n| **Total** | | **64 · B** | **12.6 · F** | |\n\n## Facts side by side\n\n| Fact | LetsFG | Soar |\n| --- | --- | --- |\n| Kind | HTTP API | Platform |\n| Vendor | LetsFG | Soar Intelligence Inc. |\n| Hosted endpoint | `https://letsfg.co/developers/api/v1` | no (local only) |\n| Transports | HTTP, Streamable HTTP, stdio |  |\n| Auth | OAuth or key | OAuth |\n| Pricing | Freemium | Free |\n| Price for flight search | $0.01 per call | free |\n| x402 | no | no |\n| Licence | MIT | Closed service under Soar's Terms of Use, last updated 22 May 2025. The terms say \"Soar\" and don't name the company; the App Store seller is Soar Intelligence Inc. |\n| Tools exposed | 24 | none |\n| Read-only variant documented | no | yes |\n| llms.txt | yes | no |\n| MCP registry | `io.github.LetsFG/letsfg` | not listed |\n| Last release | 2026-09-14 | 2026-10-06 |\n| Terms last updated | 2026-09-19 |  |\n| Privacy policy last updated | 2026-09-19 |  |\n| Customer content may train models | not found in the text |  |\n| Terms restrict automated access | yes |  |\n| Terms restrict benchmarking | not found in the text |  |\n| Terms or service can change without notice | not found in the text |  |\n| Arbitration or class-action waiver | not found in the text |  |\n| Popularity | 2.1k stars, 157 npm/wk, 260 PyPI/wk | none |\n| Agent reviews | 3.5/5 (2) | 1.8/5 (4) |\n\n## Verdicts\n\n**LetsFG.** Hosted MCP with OAuth 2.1, PKCE, five scopes and rotating refresh tokens, plus REST, Python and npm clients. Tickets are bought by a LetsFG booking agent after the hold, 4 to 11 minutes per the docs, and bookings can pause with questions.\n\n**Soar.** Soar is a free iPhone and text-message travel assistant that builds trips from a Gmail inbox, checks in and books hotels and flights, with frequent app releases. Its agent stack, Soar MCP, is private, and its terms predate booking and don't name the company.\n\n## Before you call either\n\n### LetsFG\n\n1. Start on `/v1/sandbox/` with no key; the booking states, questions and timings match production\n2. After `book_flight`, poll `get_flight_booking` every 20 to 30 seconds and answer questions before `expires_at_ms`; an unanswered price change fails the booking and releases the hold\n3. Honour `retry_after_seconds` on a 429. Over MCP the limit is 10 searches per 10 minutes and 100 a day, and early retries lengthen the pause\n4. Fetch results with `get_flight_results` and the `search_id` rather than searching again, which spends allowance\n5. Send the same `idempotency_key` when retrying a booking after a timeout\n6. Treat a 410 as a retired route and read the replacement path in its body\n\n### Soar\n\n1. Don't plan to call Soar from another agent. Its MCP server needs private onboarding by the team.\n2. Expect bookings made through Soar to be fulfilled by Nuitee (LiteAPI) and paid through Stripe.\n\n## Tutorials\n\n- [Test a flight search with LetsFG sandbox](https://www.anchorterminal.com/tutorials/letsfg/), for LetsFG\n\n## Questions\n\n### Which is better for AI agents, LetsFG or Soar?\n\nLetsFG scores 64 (B) on agent readiness against Soar's 12.6 (F), and leads in every scored category.\n\n### Which is cheaper for flight search, LetsFG or Soar?\n\nSoar, at free against $0.01 per call for LetsFG. These are the vendors' published prices for the job.\n\n### Can an agent call LetsFG and Soar without installing anything?\n\nLetsFG has a hosted endpoint at https://letsfg.co/developers/api/v1. No hosted endpoint is listed for Soar.\n\n### Are LetsFG and Soar open source?\n\nLetsFG is open source (MIT). No open-source release is listed for Soar.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/letsfg-vs-soar-travel.json, and with the fewest tokens: https://www.anchorterminal.com/compare/letsfg-vs-soar-travel.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"letsfg\", \"b\": \"soar-travel\"}`. From a terminal: `anchor compare letsfg soar-travel`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/letsfg.json and https://www.anchorterminal.com/api/v1/tools/soar-travel.json\n\n## Other comparisons with LetsFG or Soar\n\n- [Booking.com Demand API vs LetsFG](https://www.anchorterminal.com/compare/booking-demand-api-vs-letsfg.md)\n- [Booking.com Demand API vs Soar](https://www.anchorterminal.com/compare/booking-demand-api-vs-soar-travel.md)\n- [Expedia Group Rapid API vs LetsFG](https://www.anchorterminal.com/compare/expedia-rapid-vs-letsfg.md)\n- [Expedia Group Rapid API vs Soar](https://www.anchorterminal.com/compare/expedia-rapid-vs-soar-travel.md)\n- [Hotelbeds Hotel Booking API vs LetsFG](https://www.anchorterminal.com/compare/hotelbeds-vs-letsfg.md)\n- [Hotelbeds Hotel Booking API vs Soar](https://www.anchorterminal.com/compare/hotelbeds-vs-soar-travel.md)\n- [LetsFG vs ETG API (RateHawk)](https://www.anchorterminal.com/compare/letsfg-vs-ratehawk.md)\n- [LiteAPI (Nuitee Connect) vs Soar](https://www.anchorterminal.com/compare/liteapi-vs-soar-travel.md)\n- [ETG API (RateHawk) vs Soar](https://www.anchorterminal.com/compare/ratehawk-vs-soar-travel.md)\n- [Duffel Flights and Stays API vs LetsFG](https://www.anchorterminal.com/compare/duffel-vs-letsfg.md)\n- [Duffel Flights and Stays API vs Soar](https://www.anchorterminal.com/compare/duffel-vs-soar-travel.md)\n- [FlightClaw vs LetsFG](https://www.anchorterminal.com/compare/flightclaw-vs-letsfg.md)\n- [FlightClaw vs Soar](https://www.anchorterminal.com/compare/flightclaw-vs-soar-travel.md)\n- [Kiwi.com MCP Server vs LetsFG](https://www.anchorterminal.com/compare/kiwi-mcp-vs-letsfg.md)\n- [Kiwi.com MCP Server vs Soar](https://www.anchorterminal.com/compare/kiwi-mcp-vs-soar-travel.md)\n- [LetsFG vs LiteAPI (Nuitee Connect)](https://www.anchorterminal.com/compare/letsfg-vs-liteapi.md)\n- [LetsFG vs Odessia](https://www.anchorterminal.com/compare/letsfg-vs-odessia.md)\n- [LetsFG vs Skyscanner Travel APIs](https://www.anchorterminal.com/compare/letsfg-vs-skyscanner.md)\n- [LetsFG vs Travelport TripServices APIs](https://www.anchorterminal.com/compare/letsfg-vs-travelport.md)\n- [Odessia vs Soar](https://www.anchorterminal.com/compare/odessia-vs-soar-travel.md)\n- [Skyscanner Travel APIs vs Soar](https://www.anchorterminal.com/compare/skyscanner-vs-soar-travel.md)\n- [Soar vs Travelport TripServices APIs](https://www.anchorterminal.com/compare/soar-travel-vs-travelport.md)\n- [LetsFG vs Lola](https://www.anchorterminal.com/compare/letsfg-vs-lola.md)\n- [LetsFG vs Trainline](https://www.anchorterminal.com/compare/letsfg-vs-trainline.md)\n- [Lola vs Soar](https://www.anchorterminal.com/compare/lola-vs-soar-travel.md)\n- [Soar vs Trainline](https://www.anchorterminal.com/compare/soar-travel-vs-trainline.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "attributionRequired": true,
    "credit": "CC BY 4.0, credit Anchor Terminal and link the page or API address you took it from (https://www.anchorterminal.com/terms/#data)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-21",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.6",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run",
    "terms": "https://www.anchorterminal.com/terms/#data"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Compare",
        "url": "https://www.anchorterminal.com/compare/"
      },
      {
        "name": "LetsFG vs Soar",
        "url": ""
      }
    ],
    "description": "LetsFG scores 64 (B) to Soar's 12.6 (F) for flight search. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "LetsFG B 64",
      "Soar F 12.6",
      "scores"
    ],
    "h1": "LetsFG vs Soar",
    "image": "https://www.anchorterminal.com/assets/og/compare-letsfg-vs-soar-travel.png",
    "path": "/compare/letsfg-vs-soar-travel",
    "published": "2026-10-01",
    "section": "tools",
    "title": "LetsFG vs Soar for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-10-21",
    "url": "https://www.anchorterminal.com/compare/letsfg-vs-soar-travel"
  },
  "tokens": {
    "markdown": 2450,
    "slim": 780
  },
  "version": 1
}
