{
  "data": {
    "a": {
      "slug": "flagsmith",
      "name": "Flagsmith",
      "vendor": "Bullet Train Ltd",
      "vendorUrl": "https://www.flagsmith.com",
      "kind": "http-api",
      "category": "product-analytics",
      "summary": "Flagsmith is an open-source feature flag, remote config and experimentation service from Bullet Train Ltd. Teams use it on Flagsmith Cloud or self-hosted, through SDKs, a Management API and a remote MCP server.",
      "url": "https://www.anchorterminal.com/tools/flagsmith",
      "markdownUrl": "https://www.anchorterminal.com/tools/flagsmith.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/flagsmith.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/flagsmith.json",
      "dns": "flagsmith.grade.anchorterminal.com",
      "repo": "https://github.com/Flagsmith/flagsmith",
      "license": "BSD-3-Clause",
      "transports": [
        "http",
        "streamable-http",
        "stdio"
      ],
      "remoteUrl": "https://mcp.flagsmith.com",
      "packages": [
        {
          "registry": "pypi",
          "name": "flagsmith"
        },
        {
          "registry": "npm",
          "name": "flagsmith"
        }
      ],
      "auth": "mixed",
      "authNotes": "The hosted MCP server takes OAuth (the client discovers Flagsmith as the authorisation server and a person signs in) or an Organisation API key sent as `Authorization: Api-Key \u003ckey\u003e`. Organisation keys act as full organisation admin or with chosen RBAC roles; granular roles need Scale-Up or Enterprise. OIDC trust relationships let CI workloads such as GitHub Actions exchange their token for a short-lived one. SDK environment keys are separate.",
      "pricing": "freemium",
      "pricingNotes": "Free plan at $0 with 50,000 requests a month and one team member. Start-Up is $45 a month ($40 billed yearly) for 1,000,000 requests and three members, Scale-Up $300 a month ($250 yearly) for 5,000,000. Enterprise by quote. Extra API calls from $50 per million; the page also quotes $7 per 100,000 for Start-Up. The self-hosted edition is free under BSD-3-Clause.",
      "priceSummary": "$45 / mo",
      "where": "both",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the docs, the OpenAPI spec or the pricing page (checked 2026-11-06).",
        "endpoints": []
      },
      "toolCount": 54,
      "popularity": {
        "githubStars": 6639,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-11-06"
      },
      "docsUrl": "https://docs.flagsmith.com/",
      "openapi": "https://github.com/Flagsmith/flagsmith/blob/main/openapi.yaml",
      "capabilities": [
        "analytics.flags",
        "analytics.experiments",
        "analytics.events"
      ],
      "tags": [
        "official",
        "hosted",
        "open-source",
        "self-hosted",
        "mcp",
        "remote-mcp",
        "oauth",
        "openapi",
        "free-tier",
        "status-page",
        "soc2",
        "sla",
        "python",
        "typescript"
      ],
      "lastRelease": "2026-11-05",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 61.2,
        "grade": "C",
        "agentReady": false,
        "rank": 620,
        "ranked": true,
        "rankOf": 1486,
        "categoryRank": 12,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 55,
          "maintenance": 83,
          "payments": 40,
          "reliability": 65,
          "schema": 67,
          "security": 65,
          "transparency": 77
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-06"
        },
        "negative": -2,
        "negativeNotes": [
          "6 November 2026. The self-hosted API sends a heartbeat to https://api.flagsmith.com/api/v1/analytics/telemetry/ with counts of organisations, projects, environments, feature flags, segments and users, on by default (`ENABLE_TELEMETRY = env.bool(\"ENABLE_TELEMETRY\", default=True)`). The flag isn't in the environment-variable reference or anywhere else in the docs we read. Counts only, self-hosted only, so the minimum deduction (https://github.com/Flagsmith/flagsmith/blob/main/api/app/settings/common.py ; https://github.com/Flagsmith/flagsmith/blob/main/api/telemetry/telemetry.py)."
        ],
        "verdict": "Flagsmith pairs a BSD-licensed core with a hosted MCP server whose 54 tools come from its OpenAPI spec and carry read and destructive hints. A public 99.95 per cent SLA and SOC 2 report back the Cloud service. The MCP server is still an early release, and fine-grained key roles need a paid Scale-Up or Enterprise plan.",
        "bestFor": "Feature flags and experiments for teams that want open source or self-hosting, managed by an agent through MCP.",
        "strengths": [
          "Hosted MCP server at mcp.flagsmith.com with OAuth or an Organisation API key, and a stdio option for local use",
          "Each of the 54 MCP tools has readOnlyHint, destructiveHint and idempotentHint set from its HTTP method",
          "Public SLA of 99.95 per cent monthly uptime with service credits, and a status page with component history",
          "BSD-3-Clause source with a free self-hosted edition and 34 tagged releases in the last 90 days",
          "OIDC trust relationships let CI jobs get short-lived Management API tokens without stored secrets"
        ],
        "weaknesses": [
          "The MCP docs call the server an early release, and experiment tools are marked beta",
          "54 tools load at once, with no toolsets or read-only mode on the server",
          "Granular API key roles, change requests and audit logs need Scale-Up or Enterprise",
          "No llms.txt, no documented 429 handling, and few documented error responses in the spec",
          "Self-hosted installs send a usage heartbeat by default through a flag the docs don't mention"
        ],
        "agentNotes": [
          "Send the key as `Authorization: Api-Key \u003ckey\u003e`; the `Api-Key ` prefix is required and a bare key fails",
          "Check whether the environment uses v2 feature versioning before choosing between segment-override and version-state tools",
          "Use a key with a read-only RBAC role for analysis tasks, since a Free plan key has organisation admin rights",
          "Pace Management API calls under 500 a minute; no Retry-After guidance is documented",
          "Treat experiment results as possibly null until Flagsmith has computed them"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "C",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 61.2
          }
        ],
        "editorialScores": {
          "ergonomics": 55,
          "maintenance": 83,
          "payments": 40,
          "reliability": 65,
          "schema": 67,
          "security": 65,
          "transparency": 67
        },
        "provenanceScore": 86,
        "checked": {
          "categories": {
            "ergonomics": "2026-11-06",
            "maintenance": "2026-11-06",
            "payments": "2026-11-06",
            "reliability": "2026-11-06",
            "schema": "2026-11-06",
            "security": "2026-11-06",
            "transparency": "2026-11-06"
          },
          "last": "2026-11-06",
          "oldest": "2026-11-06",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "http": "curl -H \"Authorization: Api-Key $FLAGSMITH_ORG_KEY\" https://api.flagsmith.com/api/v1/projects/",
        "claudeCode": "claude mcp add --transport http flagsmith https://mcp.flagsmith.com",
        "config": {
          "mcpServers": {
            "flagsmith": {
              "headers": {
                "Authorization": "Api-Key \u003cyour-api-key\u003e"
              },
              "url": "https://mcp.flagsmith.com"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/analytics.flags",
        "tool": "https://letme.dev/flagsmith"
      },
      "area": "business",
      "unitPrices": [
        {
          "item": "Start-Up plan",
          "unit": "month",
          "usd": 45,
          "note": "1,000,000 requests and 3 team members; $40 a month billed yearly"
        },
        {
          "item": "Scale-Up plan",
          "unit": "month",
          "usd": 300,
          "note": "5,000,000 requests and 5 team members; $250 a month billed yearly"
        },
        {
          "item": "Extra API calls",
          "unit": "1k-requests",
          "usd": 0.05,
          "note": "From $50 per million, lower with volume"
        },
        {
          "item": "Extra Scale-Up team member",
          "unit": "seat-month",
          "usd": 50,
          "note": "Up to 20 members"
        }
      ],
      "provenance": {
        "legalEntity": "Bullet Train Ltd",
        "domain": "flagsmith.com",
        "domainRegistered": "2018-03-01",
        "endpointOnVendorDomain": true,
        "terms": "https://www.flagsmith.com/terms-of-service",
        "privacy": "https://www.flagsmith.com/privacy-policy",
        "statusPage": "https://status.flagsmith.com",
        "changelog": "https://github.com/Flagsmith/flagsmith/blob/main/CHANGELOG.md",
        "securityTxt": "none",
        "checked": "2026-11-06",
        "notes": [
          "The terms of service name Bullet Train Limited trading as Flagsmith, company number 12353266, registered at 66 Paul St, London, under the laws of England and Wales. Companies House lists the company with five active officers.",
          "The privacy policy was last updated in October 2023; the GDPR sub-processor list is dated 13 October 2025.",
          "www.flagsmith.com/robots.txt disallows only sign-up, login and similar paths. docs.flagsmith.com has no robots.txt. The terms contain no clause on automated access that we found.",
          "www.flagsmith.com/.well-known/security.txt returned 404. SECURITY.md in the repository asks for reports to support@flagsmith.com.",
          "RDAP gives flagsmith.com a registration date of 1 March 2018."
        ],
        "score": 86
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/flagsmith.json",
      "live": {
        "slug": "flagsmith",
        "probe": {
          "target": "https://mcp.flagsmith.com",
          "method": "get",
          "lastAt": "2026-11-07T18:20:25.400493249Z",
          "lastOk": true,
          "lastStatus": 401,
          "lastMs": 94,
          "lastNote": "asks for credentials",
          "authRequired": true,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 27,
          "p95ms24h": 100,
          "samples24h": 200,
          "samples30d": 200,
          "days": [
            {
              "date": "2026-11-06",
              "probes": 13,
              "ok": 13
            },
            {
              "date": "2026-11-07",
              "probes": 187,
              "ok": 187
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.flagsmith.com",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-11-07T18:21:11.347876696Z"
        },
        "versions": [
          {
            "registry": "github",
            "name": "Flagsmith/flagsmith",
            "version": "v2.290.0",
            "released": "2026-11-05",
            "seenAt": "2026-11-06T23:26:24.068130998Z"
          },
          {
            "registry": "npm",
            "name": "flagsmith",
            "version": "10.0.0",
            "seenAt": "2026-11-06T23:26:23.147625706Z"
          },
          {
            "registry": "pypi",
            "name": "flagsmith",
            "version": "6.5.0",
            "released": "2026-11-06",
            "seenAt": "2026-11-06T23:26:23.005711379Z"
          }
        ],
        "githubStars": 6642,
        "npmWeekly": 156837,
        "pypiWeekly": 401488,
        "securityTxt": {
          "url": "https://flagsmith.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-11-07T16:01:18.95883898Z"
        },
        "pages": [
          {
            "url": "https://raw.githubusercontent.com/Flagsmith/flagsmith/main/CHANGELOG.md",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-11-07T14:18:21.223652009Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "34b306151856"
          },
          {
            "url": "https://www.flagsmith.com/privacy-policy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-11-07T14:28:36.671052285Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "ba6cc5c7a64f"
          },
          {
            "url": "https://www.flagsmith.com/terms-of-service",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-11-07T14:28:38.746283857Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "6ada20e0c356"
          }
        ],
        "mcpTools": {
          "url": "https://mcp.flagsmith.com",
          "checkedAt": "2026-11-07T01:44:38.567136868Z",
          "status": "auth",
          "note": "asks for credentials before listing its tools",
          "changedAt": "2026-11-07T01:44:38.567136868Z"
        },
        "updatedAt": "2026-11-07T18:21:11.347876696Z"
      }
    },
    "answer": "Flagsmith scores 61.2 (C) on agent readiness against Heap's 48.2 (D), and leads in every scored category.",
    "b": {
      "slug": "heap",
      "name": "Heap",
      "vendor": "Contentsquare (Content Square, Inc.)",
      "vendorUrl": "https://www.heap.io",
      "kind": "http-api",
      "category": "product-analytics",
      "summary": "Heap is Contentsquare's product analytics service, which captures web and mobile interactions automatically. Its server-side HTTP API accepts custom events, identities, user and account properties, and user deletion requests.",
      "url": "https://www.anchorterminal.com/tools/heap",
      "markdownUrl": "https://www.anchorterminal.com/tools/heap.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/heap.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/heap.json",
      "dns": "heap.grade.anchorterminal.com",
      "license": "Proprietary service under Contentsquare's master services agreement. The React Native bridge and the Node client on npm are MIT",
      "transports": [
        "http"
      ],
      "remoteUrl": "https://heapanalytics.com",
      "packages": [
        {
          "registry": "npm",
          "name": "heap-api"
        }
      ],
      "auth": "mixed",
      "authNotes": "Self-serve. Track, identify and property calls need only `app_id`, the environment ID shown on the Projects page and used in the web snippet, with no secret. User deletion needs an API key that an admin generates under Account, Manage, Privacy \u0026 Security, exchanged by HTTP Basic for a temporary Bearer token. No OAuth, scopes or partner approval were found in the developer docs.",
      "pricing": "freemium",
      "pricingNotes": "Free plan up to 10,000 sessions a month with six months of history, APIs included, so an agent's owner can start without a contract. Growth is priced by estimate after signup, and Pro and Premier by quote. Whether signup asks for a card was not established (https://www.heap.io/pricing, checked 2026-10-07).",
      "priceSummary": "Freemium",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the developer docs or on the pricing page (checked 2026-10-07).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": 213,
        "pypiWeekly": null,
        "asOf": "2026-10-07"
      },
      "docsUrl": "https://developers.heap.io",
      "llmsTxt": "https://developers.heap.io/llms.txt",
      "capabilities": [
        "analytics.events"
      ],
      "tags": [
        "hosted",
        "closed-source",
        "llms-txt",
        "free-tier",
        "no-oauth",
        "write-only",
        "eu-region",
        "status-page",
        "soc2",
        "sales-led"
      ],
      "lastRelease": "2026-10-06",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 48.2,
        "grade": "D",
        "agentReady": false,
        "rank": 1120,
        "ranked": true,
        "rankOf": 1486,
        "categoryRank": 14,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 49,
          "maintenance": 63,
          "payments": 25,
          "reliability": 47,
          "schema": 57,
          "security": 41,
          "transparency": 66
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "low",
          "date": "2026-11-04"
        },
        "negative": 0,
        "verdict": "Heap's server-side API suits an agent that records events. Limits are published, bulk calls take 1,000 items and track accepts an idempotency key. The API returns no analytics, and ingest calls carry no secret beyond the environment ID. Heap's help centre lists a Heap MCP article, which a bot check stopped us reading, so the MCP server is ungraded.",
        "bestFor": "An agent that records backend events or enriches user and account properties in a company's existing Heap project, or that files privacy deletions.",
        "strengths": [
          "Rate limits are published. Track allows 30 requests per 30 seconds per identity, and bulk track 15,000 events a minute per environment",
          "Track and bulk track accept an `idempotency_key`, and bulk calls take up to 1,000 events or users per request",
          "llms.txt and a Markdown copy of every developer page, with an OpenAPI 3.1 fragment embedded in the reference pages we read",
          "Free plan with up to 10,000 sessions a month and six months of history, with APIs and the User Privacy API included",
          "Sub-processor list (June 2026) names AWS regions in Ireland, Frankfurt and Virginia, and the customer chooses Europe or the USA"
        ],
        "weaknesses": [
          "No query, export or definitions endpoint in the developer reference. Reading results needs the app, Heap Connect or the MCP server we couldn't read",
          "Track, identify and property calls carry no secret. The only identifier is the environment ID that the web snippet also publishes",
          "No SLA covers the API itself. Contentsquare's 99.5 per cent availability on Pro and Enterprise is measured on the user interface",
          "Paid plans have no public price. Growth asks for an estimate after signup, and Pro and Premier say Contact Us",
          "Error responses for track and identify are documented as a 400 with an empty object, and no 429 guidance was found"
        ],
        "agentNotes": [
          "Send EU projects to https://c.eu.heap-api.com instead of https://heapanalytics.com. The path stays the same",
          "Pass one of `identity` or `user_id` on track, never both",
          "Set `idempotency_key` on every track event so a retry doesn't duplicate it",
          "Stay under 30 requests per 30 seconds per identity, or batch up to 1,000 events in one bulk call",
          "For deletion, exchange the app_id and API key of the Main Production environment for a token first. Any other environment ID returns Unauthorized"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "low",
            "grade": "D",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 48.2
          }
        ],
        "editorialScores": {
          "ergonomics": 49,
          "maintenance": 63,
          "payments": 25,
          "reliability": 47,
          "schema": 57,
          "security": 41,
          "transparency": 61
        },
        "provenanceScore": 71,
        "checked": {
          "categories": {
            "ergonomics": "2026-11-04",
            "maintenance": "2026-11-04",
            "payments": "2026-11-04",
            "reliability": "2026-11-04",
            "schema": "2026-11-04",
            "security": "2026-11-04",
            "transparency": "2026-11-04"
          },
          "last": "2026-11-04",
          "lastMoved": "2026-11-04",
          "oldest": "2026-11-04",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "http": "curl -X POST \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"app_id\": \"11\",\n    \"identity\": \"alice@example.com\",\n    \"event\": \"Send Transactional Email\",\n    \"properties\": {\"subject\": \"Welcome to My App!\"}\n  }' \\\n  https://heapanalytics.com/api/track"
      },
      "letme": {
        "capability": "https://letme.dev/analytics.events",
        "tool": "https://letme.dev/heap"
      },
      "area": "business",
      "unitPrices": [
        {
          "item": "Free",
          "unit": "month",
          "usd": 0,
          "note": "up to 10,000 sessions a month"
        }
      ],
      "provenance": {
        "legalEntity": "Content Square, Inc.",
        "domain": "heap.io",
        "domainRegistered": "",
        "endpointOnVendorDomain": true,
        "terms": "https://www.heap.io/legal/heap-master-services-agreement",
        "privacy": "https://www.heap.io/privacy",
        "statusPage": "https://status.heap.io",
        "changelog": "https://developers.heap.io/docs/heapjs-5-changelog",
        "securityTxt": "none",
        "checked": "2026-10-07",
        "notes": [
          "The Heap master services agreement URL redirects to Contentsquare's terms at contentsquare.com/legal/terms-conditions. The entity schedule names Content Square, Inc., 60 Hudson St, New York, for customers in the Americas, and other Contentsquare entities elsewhere.",
          "heap.io/terms is a website terms of use from Heap Inc., a Delaware corporation, last updated 30 August 2019. heap.io/privacy says the Heap policy has been consolidated into Contentsquare's.",
          "API calls go to heapanalytics.com and, for EU projects, c.eu.heap-api.com. Both are Heap domains named in the vendor's docs, not heap.io itself.",
          "www.heap.io/.well-known/security.txt and heapanalytics.com/.well-known/security.txt return 404. contentsquare.com publishes a signed security.txt that expires on 31 January 2028.",
          "RDAP has no service for .io through rdap.org, so the registration date of heap.io was not established.",
          "The only changelogs found are for the SDKs (heap.js 5, Android, iOS, React Native, Flutter). No changelog for the server-side API was found."
        ],
        "score": 71
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/heap.json",
      "live": {
        "slug": "heap",
        "probe": {
          "target": "https://heapanalytics.com",
          "method": "get",
          "lastAt": "2026-11-07T18:20:29.666649767Z",
          "lastOk": true,
          "lastStatus": 200,
          "lastMs": 525,
          "authRequired": false,
          "uptime24h": 99.58,
          "uptime30d": 99.95,
          "p50ms24h": 375,
          "p95ms24h": 623,
          "samples24h": 239,
          "samples30d": 7463,
          "days": [
            {
              "date": "2026-10-08",
              "probes": 93,
              "ok": 93
            },
            {
              "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": 253
            },
            {
              "date": "2026-10-20",
              "probes": 252,
              "ok": 252
            },
            {
              "date": "2026-10-21",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-22",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-23",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-24",
              "probes": 251,
              "ok": 251
            },
            {
              "date": "2026-10-25",
              "probes": 250,
              "ok": 250
            },
            {
              "date": "2026-10-26",
              "probes": 252,
              "ok": 252
            },
            {
              "date": "2026-10-27",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-10-28",
              "probes": 251,
              "ok": 251
            },
            {
              "date": "2026-10-29",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-30",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-10-31",
              "probes": 251,
              "ok": 251
            },
            {
              "date": "2026-11-01",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-11-02",
              "probes": 250,
              "ok": 250
            },
            {
              "date": "2026-11-03",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-11-04",
              "probes": 246,
              "ok": 246
            },
            {
              "date": "2026-11-05",
              "probes": 185,
              "ok": 185
            },
            {
              "date": "2026-11-06",
              "probes": 241,
              "ok": 240
            },
            {
              "date": "2026-11-07",
              "probes": 187,
              "ok": 186
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.heap.io",
          "indicator": "minor",
          "summary": "Minor Service Outage",
          "checkedAt": "2026-11-07T18:21:15.452578226Z"
        },
        "versions": [
          {
            "registry": "npm",
            "name": "heap-api",
            "version": "1.0.1",
            "seenAt": "2026-11-06T23:32:32.393792952Z"
          }
        ],
        "npmWeekly": 30,
        "securityTxt": {
          "url": "https://heap.io/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-11-07T16:00:09.648091398Z"
        },
        "llmsTxt": {
          "url": "https://developers.heap.io/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-11-07T15:32:41.286344858Z"
        },
        "domain": {
          "domain": "heap.io",
          "checkedAt": "2026-11-01T14:21:01.065060526Z"
        },
        "pages": [
          {
            "url": "https://developers.heap.io/docs/heapjs-5-changelog",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-11-07T14:03:59.707627429Z",
            "changedAt": "2026-11-05T12:28:13.588228653Z",
            "fingerprint": "1a6c97992ee3"
          },
          {
            "url": "https://www.heap.io/pricing",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-11-07T14:29:40.537453733Z",
            "changedAt": "2026-10-22T01:32:52.077065334Z",
            "fingerprint": "93f237b387d9"
          },
          {
            "url": "https://www.heap.io/privacy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-11-07T14:29:42.80598927Z",
            "changedAt": "2026-10-22T01:32:52.370154517Z",
            "fingerprint": "f6fde754bf93"
          },
          {
            "url": "https://www.heap.io/legal/heap-master-services-agreement",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-11-07T14:29:38.187893789Z",
            "changedAt": "2026-10-22T01:32:48.135332495Z",
            "fingerprint": "93db7683f754"
          }
        ],
        "updatedAt": "2026-11-07T18:21:15.452578226Z"
      }
    },
    "edges": [
      {
        "by": 24,
        "category": "security",
        "leads": "flagsmith",
        "name": "Security \u0026 auth",
        "reasons": {
          "a": "OAuth for interactive MCP clients with Flagsmith as the authorisation server, Organisation API keys in the Authorization header that act as admin or with chosen RBAC roles, and OIDC trust relationships that swap a CI token for a short-lived one. Granular key roles need Scale-Up or Enterprise, so a Free key is all-powerful (25 of 30). RBAC roles can limit a key to reads, and change requests put a flag change through approval on Scale-Up and Enterprise. There is no read-only switch on the MCP server itself (14 of 20). No prompt-injection guidance; tools return names, descriptions and trait values written by people (3 of 15). Audit logs record every admin action and stream by webhook, on Scale-Up and Enterprise (11 of 15). The docs say Flagsmith has a SOC 2 Type 2 report available on request, the terms promise a yearly third-party penetration test, and SECURITY.md routes reports to support email. No security.txt, bug bounty or public advisory process was found (12 of 20). 25+14+3+11+12 = 65.",
          "b": "Track, identify and property calls carry no secret. The OpenAPI fragment declares an empty security requirement and the only identifier is the environment ID that the web snippet publishes. User deletion uses one admin-generated API key per account, exchanged for a temporary token. No scopes or rotation guidance found (8 of 30). Ingest is write-only by design. Deletion of up to 10,000 users has no confirmation step (5). The API returns no untrusted content (10). Audit logs are unchecked because help.heap.io answered with a bot check, so none are counted (0). Contentsquare publishes a signed security.txt valid to 31 January 2028 on contentsquare.com (not on heap.io), a disclosure policy, an invitation-only YesWeHack bounty, SOC 2 Type II and ISO 27001 (18). Total 41. Per the 7 October check, not re-read on 4 November, because heap.io and contentsquare.com terms bar robots and crawling."
        },
        "scores": {
          "a": 65,
          "b": 41
        }
      },
      {
        "by": 20,
        "category": "maintenance",
        "leads": "flagsmith",
        "name": "Maintenance \u0026 community",
        "reasons": {
          "a": "v2.290.0 was released on 5 November 2026 (30). 34 tagged releases between 8 August and 5 November (20). Commits land daily (60 since 8 August in the 60-commit clone), with a Discord server and support email. We couldn't read issue response times because GitHub's API refused us for its rate limit (15 of 25). Not in the official MCP registry, which returned no Flagsmith entry; official SDKs are current (8 of 15). Renovate updates, CI workflows for the API, frontend, docs and MCP, and a Trivy scan (10). 30+20+15+8+10 = 83.",
          "b": "heap.js 5.3.17 shipped on 6 October 2026, but that is the browser SDK. The server-side track reference last changed on 3 June 2026 and has no changelog, so we scored this line between the two (20 of 30). heap.js 5.3.15, 5.3.16 and 5.3.17 and Android Core 0.9.5 fall inside 90 days (20). Dated public changelogs and a community at community.contentsquare.com, whose response times we didn't check (8). Client SDKs for web, Android, iOS, React Native and Flutter are current. The Node server client is from 2016 (10). CI not checked (5). Total 63. Per the 7 October check, not re-read on 4 November (developers.heap.io is paused on its terms). The three heap.js releases still fall inside the 90 days from 6 August."
        },
        "scores": {
          "a": 83,
          "b": 63
        }
      },
      {
        "by": 18,
        "category": "reliability",
        "leads": "flagsmith",
        "name": "Reliability",
        "reasons": {
          "a": "Graded on Flagsmith Cloud with the hosted lines. Statuspage at status.flagsmith.com with components for the Edge API, Admin API, dashboard and website (20). In the 90 days from 8 August, an Admin and SDK API outage on 28 October marked critical, posted at 21:56 UTC and resolved at 22:12 with no cause given, and a minor delay in processing flag changes on 10 September. The posted span of the outage is 16 minutes and its start isn't stated, so we read it as one serious incident under an hour (15 of 30). The Management API limit of 500 requests a minute is documented (15). No 429 handling, Retry-After or idempotency guidance was found in the docs (0). A public SLA commits to 99.95 per cent monthly uptime with service credits (10). The Management API is generally available, but the MCP docs call the server an early release, so half (5 of 10). 20+15+15+0+10+5 = 65.",
          "b": "Graded on the server-side API with the hosted lines. Heap's status page is an Atlassian Statuspage at status.heap.io, the address heap.io links to, which sits on a heap.io host whose terms bar robots, so it wasn't read on 4 November. The same page also answers at heap.statuspage.io, but that copy names status.heap.io as its canonical address and no Heap page links to it, so it wasn't used. The 7 October component and incident readings came only from Statuspage's JSON API, which this run doesn't use, so they are struck. No component list could be read (0) and no incident history could be read (5). Rate limits published with numbers, 30 requests per 30 seconds per identity on track and 15,000 events a minute per environment on bulk track, per the 7 October check, not re-read on 4 November (15). No 429 or backoff guidance found, but track takes an `idempotency_key`, per the 7 October check, not re-read on 4 November (7, the earlier partial kept, since keys without any 429 or backoff guidance meet none of the line's values in full). Contentsquare's support package states 99.5 per cent availability for Product Analytics Pro and Enterprise, measured on the user interface, per the 7 October check, not re-read on 4 November (10). The API carries no beta label (10). 0+5+15+7+10+10 = 47."
        },
        "scores": {
          "a": 65,
          "b": 47
        }
      },
      {
        "by": 15,
        "category": "payments",
        "leads": "flagsmith",
        "name": "Payments \u0026 pricing",
        "reasons": {
          "a": "No x402, MPP or L402 (0). Plan prices and the per-million overage are public without login, though the page gives two overage rates for Start-Up ($50 per million and $7 per 100,000) (20). A $0 Free plan with 50,000 requests a month and a free BSD-3-Clause self-hosted edition. The pricing page doesn't say whether a card is needed, but the Free plan has no charge and the self-hosted edition needs no account (20). A person signs up in a browser, then approves OAuth or creates a key (0). 0+20+20+0 = 40.",
          "b": "No x402, MPP or L402 (0). The Free plan and its 10,000-session limit are public. Growth needs an estimate after signup and Pro and Premier say Contact Us, so no paid price is published (5). Free plan with APIs included. No card is mentioned on the pricing page, and the signup form needs JavaScript we couldn't run (20). A person signs up in a browser and copies the environment ID (0). Total 25. Per the 7 October check, not re-read on 4 November (www.heap.io is paused on its terms)."
        },
        "scores": {
          "a": 40,
          "b": 25
        }
      },
      {
        "by": 11,
        "category": "transparency",
        "leads": "flagsmith",
        "name": "Transparency \u0026 trust",
        "reasons": {
          "a": "BSD-3-Clause for the core and the MCP server; the about page says most of the product is under that licence and some CI runs with private packages, so not every Cloud feature is in the open repository (25 of 30). The terms set Flagsmith as processor with 48-hour breach notice and EEA transfer rules, and the sub-processor list is dated 13 October 2025. The privacy policy dates from October 2023 and states no retention periods (16 of 30). The Gram-hosted MCP server was retired with a dated notice (30 June 2026), and three spec operations are marked deprecated, without a stated deprecation policy (10 of 20). The sub-processor list names providers and their countries (16 of 20). 25+16+10+16 = 67.",
          "b": "Closed service with published terms, now Contentsquare's master services agreement (15). The DPA (June 2026) caps Product Analytics retention at 37 months from collection unless agreed otherwise and links the sub-processor list. heap.io still carries a 2019 website terms page from Heap Inc. beside the Contentsquare documents (22). No deprecation policy for the API was found. Contentsquare's docs carry migration guides from the Heap SDKs to the CSQ SDK without an end date that we found (4). Sub-processor list (June 2026) with locations, AWS in Ireland, Frankfurt and Virginia and OpenAI for Sense Chat (20). Total 61. Per the 7 October check, not re-read on 4 November, apart from the heap.io website terms (still dated 30 August 2019) and Contentsquare's terms of service (29 January 2026)."
        },
        "scores": {
          "a": 77,
          "b": 66
        }
      },
      {
        "by": 10,
        "category": "schema",
        "leads": "flagsmith",
        "name": "Schema \u0026 documentation",
        "reasons": {
          "a": "openapi.yaml in the repository is OpenAPI 3.1 with 624 operations, and the MCP server builds its 54 tools from the operations tagged `mcp`, so every tool has a JSON Schema input (25). No llms.txt (404) and no Markdown served for agents on docs.flagsmith.com; the docs are Markdown only in the repository (0). Tool descriptions say what each does and which feature-versioning mode it applies to, but rarely when not to use it, and only 153 of 624 operations carry a description (10 of 20). 57 enums and required fields in the spec, with some free-form value fields (10 of 15). Docs carry curl examples, but only 16 operations document a 400 and 6 a 404 (7 of 15). A /api/v1 path, release-please changelog and dated release notes (15). 25+0+10+10+7+15 = 67.",
          "b": "OpenAPI 3.1 fragments are embedded in the Markdown of the track and identify pages. No single spec file was found, the property pages we read had empty fragments and user deletion is prose only (15). llms.txt and a .md copy of every page (10). Descriptions state purpose, limits and reserved keys, with little on when not to use a call (12). Required fields are marked and lengths stated in prose, with string types throughout, no enums and a free-form `properties` object (8). Curl examples on every page. Track and identify document 200 and 400 with an empty object, and only user deletion describes its error body (7). SDK changelogs are dated, but no changelog or version policy for the server-side API was found. Paths mix unversioned, v1 and v0 (5). Total 57. Per the 7 October check, not re-read on 4 November, because developers.heap.io sits on a host whose terms bar robots."
        },
        "scores": {
          "a": 67,
          "b": 57
        }
      }
    ],
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "Bullet Train Ltd",
        "b": "Contentsquare (Content Square, Inc.)",
        "name": "Vendor"
      },
      {
        "a": "https://mcp.flagsmith.com",
        "b": "https://heapanalytics.com",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP, Streamable HTTP, stdio",
        "b": "HTTP",
        "name": "Transports"
      },
      {
        "a": "OAuth or key",
        "b": "OAuth or key",
        "name": "Auth"
      },
      {
        "a": "Freemium",
        "b": "Freemium",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "BSD-3-Clause",
        "b": "Proprietary service under Contentsquare's master services agreement. The React Native bridge and the Node client on npm are MIT",
        "name": "Licence"
      },
      {
        "a": "54",
        "b": "none",
        "name": "Tools exposed"
      },
      {
        "a": "yes",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "no",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "2026-11-05",
        "b": "2026-10-06",
        "name": "Last release"
      },
      {
        "a": "2026-09-01",
        "b": "no date given",
        "name": "Terms last updated"
      },
      {
        "a": "2023-10-01",
        "b": "couldn't be read",
        "name": "Privacy policy last updated"
      },
      {
        "a": "not found in the text",
        "b": "yes",
        "name": "Customer content may train models"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Terms restrict automated access"
      },
      {
        "a": "not found in the text",
        "b": "yes",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "6.6k stars",
        "b": "213 npm/wk",
        "name": "Popularity"
      }
    ],
    "faq": [
      {
        "answer": "Flagsmith scores 61.2 (C) on agent readiness against Heap's 48.2 (D), and leads in every scored category.",
        "question": "Which is better for AI agents, Flagsmith or Heap?"
      },
      {
        "answer": "Both take an API key or an OAuth sign-in.",
        "question": "Do Flagsmith and Heap need an API key?"
      },
      {
        "answer": "Yes. Flagsmith has a hosted endpoint at https://mcp.flagsmith.com and Heap at https://heapanalytics.com.",
        "question": "Can an agent call Flagsmith and Heap without installing anything?"
      },
      {
        "answer": "Flagsmith is open source (BSD-3-Clause). No open-source release is listed for Heap.",
        "question": "Are Flagsmith and Heap open source?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Reliability, 65 against 47",
          "Schema \u0026 documentation, 67 against 57",
          "Agent ergonomics, 55 against 49",
          "Security \u0026 auth, 65 against 41",
          "Payments \u0026 pricing, 40 against 25",
          "Maintenance \u0026 community, 83 against 63",
          "Transparency \u0026 trust, 77 against 66"
        ],
        "also": [
          "Runs on your own machine",
          "Open source"
        ],
        "goodFor": "Feature flags and experiments for teams that want open source or self-hosting, managed by an agent through MCP.",
        "slug": "flagsmith",
        "watchFor": "The MCP docs call the server an early release, and experiment tools are marked beta"
      },
      {
        "aheadOn": null,
        "also": null,
        "goodFor": "An agent that records backend events or enriches user and account properties in a company's existing Heap project, or that files privacy deletions.",
        "slug": "heap",
        "watchFor": "No query, export or definitions endpoint in the developer reference. Reading results needs the app, Heap Connect or the MCP server we couldn't read"
      }
    ],
    "history": {
      "flagsmith": null,
      "heap": [
        {
          "causes": [
            "correction"
          ],
          "date": "2026-11-04",
          "delta": -5,
          "from": 53.2,
          "fromGrade": "D",
          "to": 48.2,
          "toGrade": "D"
        },
        {
          "causes": [
            "evidence"
          ],
          "date": "2026-10-28",
          "delta": 0.1,
          "from": 53.1,
          "fromGrade": "D",
          "to": 53.2,
          "toGrade": "D"
        },
        {
          "causes": [
            "method"
          ],
          "date": "2026-10-27",
          "delta": 0.1,
          "from": 53,
          "fromGrade": "D",
          "to": 53.1,
          "toGrade": "D"
        }
      ]
    },
    "job": {
      "capability": "analytics.events",
      "name": "Event analytics"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/amplitude-vs-flagsmith.json",
        "title": "Amplitude vs Flagsmith",
        "url": "https://www.anchorterminal.com/compare/amplitude-vs-flagsmith"
      },
      {
        "json": "https://www.anchorterminal.com/compare/countly-vs-flagsmith.json",
        "title": "Countly vs Flagsmith",
        "url": "https://www.anchorterminal.com/compare/countly-vs-flagsmith"
      },
      {
        "json": "https://www.anchorterminal.com/compare/flagsmith-vs-growthbook.json",
        "title": "Flagsmith vs GrowthBook",
        "url": "https://www.anchorterminal.com/compare/flagsmith-vs-growthbook"
      },
      {
        "json": "https://www.anchorterminal.com/compare/flagsmith-vs-harness-fme.json",
        "title": "Flagsmith vs Harness Feature Management \u0026 Experimentation",
        "url": "https://www.anchorterminal.com/compare/flagsmith-vs-harness-fme"
      },
      {
        "json": "https://www.anchorterminal.com/compare/flagsmith-vs-launchdarkly.json",
        "title": "Flagsmith vs LaunchDarkly",
        "url": "https://www.anchorterminal.com/compare/flagsmith-vs-launchdarkly"
      },
      {
        "json": "https://www.anchorterminal.com/compare/flagsmith-vs-mixpanel.json",
        "title": "Flagsmith vs Mixpanel",
        "url": "https://www.anchorterminal.com/compare/flagsmith-vs-mixpanel"
      },
      {
        "json": "https://www.anchorterminal.com/compare/flagsmith-vs-optimizely.json",
        "title": "Flagsmith vs Optimizely Experimentation",
        "url": "https://www.anchorterminal.com/compare/flagsmith-vs-optimizely"
      },
      {
        "json": "https://www.anchorterminal.com/compare/flagsmith-vs-posthog.json",
        "title": "Flagsmith vs PostHog",
        "url": "https://www.anchorterminal.com/compare/flagsmith-vs-posthog"
      },
      {
        "json": "https://www.anchorterminal.com/compare/flagsmith-vs-statsig.json",
        "title": "Flagsmith vs Statsig",
        "url": "https://www.anchorterminal.com/compare/flagsmith-vs-statsig"
      },
      {
        "json": "https://www.anchorterminal.com/compare/amplitude-vs-heap.json",
        "title": "Amplitude vs Heap",
        "url": "https://www.anchorterminal.com/compare/amplitude-vs-heap"
      },
      {
        "json": "https://www.anchorterminal.com/compare/countly-vs-heap.json",
        "title": "Countly vs Heap",
        "url": "https://www.anchorterminal.com/compare/countly-vs-heap"
      },
      {
        "json": "https://www.anchorterminal.com/compare/flagsmith-vs-fullstory.json",
        "title": "Flagsmith vs Fullstory",
        "url": "https://www.anchorterminal.com/compare/flagsmith-vs-fullstory"
      },
      {
        "json": "https://www.anchorterminal.com/compare/flagsmith-vs-openpanel.json",
        "title": "Flagsmith vs OpenPanel",
        "url": "https://www.anchorterminal.com/compare/flagsmith-vs-openpanel"
      },
      {
        "json": "https://www.anchorterminal.com/compare/flagsmith-vs-woopra.json",
        "title": "Flagsmith vs Woopra",
        "url": "https://www.anchorterminal.com/compare/flagsmith-vs-woopra"
      },
      {
        "json": "https://www.anchorterminal.com/compare/fullstory-vs-heap.json",
        "title": "Fullstory vs Heap",
        "url": "https://www.anchorterminal.com/compare/fullstory-vs-heap"
      },
      {
        "json": "https://www.anchorterminal.com/compare/growthbook-vs-heap.json",
        "title": "GrowthBook vs Heap",
        "url": "https://www.anchorterminal.com/compare/growthbook-vs-heap"
      },
      {
        "json": "https://www.anchorterminal.com/compare/harness-fme-vs-heap.json",
        "title": "Harness Feature Management \u0026 Experimentation vs Heap",
        "url": "https://www.anchorterminal.com/compare/harness-fme-vs-heap"
      },
      {
        "json": "https://www.anchorterminal.com/compare/heap-vs-matomo.json",
        "title": "Heap vs Matomo",
        "url": "https://www.anchorterminal.com/compare/heap-vs-matomo"
      },
      {
        "json": "https://www.anchorterminal.com/compare/heap-vs-mixpanel.json",
        "title": "Heap vs Mixpanel",
        "url": "https://www.anchorterminal.com/compare/heap-vs-mixpanel"
      },
      {
        "json": "https://www.anchorterminal.com/compare/heap-vs-mostly-good-metrics.json",
        "title": "Heap vs Mostly Good Metrics",
        "url": "https://www.anchorterminal.com/compare/heap-vs-mostly-good-metrics"
      },
      {
        "json": "https://www.anchorterminal.com/compare/heap-vs-openpanel.json",
        "title": "Heap vs OpenPanel",
        "url": "https://www.anchorterminal.com/compare/heap-vs-openpanel"
      },
      {
        "json": "https://www.anchorterminal.com/compare/heap-vs-pendo.json",
        "title": "Heap vs Pendo",
        "url": "https://www.anchorterminal.com/compare/heap-vs-pendo"
      },
      {
        "json": "https://www.anchorterminal.com/compare/heap-vs-posthog.json",
        "title": "Heap vs PostHog",
        "url": "https://www.anchorterminal.com/compare/heap-vs-posthog"
      },
      {
        "json": "https://www.anchorterminal.com/compare/heap-vs-statsig.json",
        "title": "Heap vs Statsig",
        "url": "https://www.anchorterminal.com/compare/heap-vs-statsig"
      },
      {
        "json": "https://www.anchorterminal.com/compare/heap-vs-userpilot.json",
        "title": "Heap vs Userpilot",
        "url": "https://www.anchorterminal.com/compare/heap-vs-userpilot"
      },
      {
        "json": "https://www.anchorterminal.com/compare/heap-vs-woopra.json",
        "title": "Heap vs Woopra",
        "url": "https://www.anchorterminal.com/compare/heap-vs-woopra"
      },
      {
        "json": "https://www.anchorterminal.com/compare/flagsmith-vs-matomo.json",
        "title": "Flagsmith vs Matomo",
        "url": "https://www.anchorterminal.com/compare/flagsmith-vs-matomo"
      },
      {
        "json": "https://www.anchorterminal.com/compare/flagsmith-vs-mostly-good-metrics.json",
        "title": "Flagsmith vs Mostly Good Metrics",
        "url": "https://www.anchorterminal.com/compare/flagsmith-vs-mostly-good-metrics"
      }
    ],
    "panel": null,
    "scores": [
      {
        "by": 18,
        "edge": "flagsmith",
        "flagsmith": 65,
        "heap": 47,
        "key": "reliability",
        "name": "Reliability",
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 10,
        "edge": "flagsmith",
        "flagsmith": 67,
        "heap": 57,
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "weight": 13
      },
      {
        "by": 6,
        "edge": "flagsmith",
        "flagsmith": 55,
        "heap": 49,
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "weight": 13
      },
      {
        "by": 24,
        "edge": "flagsmith",
        "flagsmith": 65,
        "heap": 41,
        "key": "security",
        "name": "Security \u0026 auth",
        "weight": 14
      },
      {
        "by": 15,
        "edge": "flagsmith",
        "flagsmith": 40,
        "heap": 25,
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 20,
        "edge": "flagsmith",
        "flagsmith": 83,
        "heap": 63,
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "weight": 7
      },
      {
        "by": 11,
        "edge": "flagsmith",
        "flagsmith": 77,
        "heap": 66,
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "weight": 7
      }
    ],
    "summary": "Flagsmith scores 61.2 (C) on agent readiness against Heap's 48.2 (D), and leads in every scored category. Both do event analytics.",
    "tasks": null,
    "tutorials": [],
    "verdicts": {
      "flagsmith": "Flagsmith pairs a BSD-licensed core with a hosted MCP server whose 54 tools come from its OpenAPI spec and carry read and destructive hints. A public 99.95 per cent SLA and SOC 2 report back the Cloud service. The MCP server is still an early release, and fine-grained key roles need a paid Scale-Up or Enterprise plan.",
      "heap": "Heap's server-side API suits an agent that records events. Limits are published, bulk calls take 1,000 items and track accepts an idempotency key. The API returns no analytics, and ingest calls carry no secret beyond the environment ID. Heap's help centre lists a Heap MCP article, which a bot check stopped us reading, so the MCP server is ungraded."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/flagsmith-vs-heap",
    "json": "https://www.anchorterminal.com/compare/flagsmith-vs-heap.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/flagsmith-vs-heap.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/flagsmith-vs-heap.min.md"
  },
  "markdown": "Flagsmith scores 61.2 (C) on agent readiness against Heap's 48.2 (D), and leads in every scored category. Both do event analytics.\n\n- Flagsmith: grade C, 61.2/100, rank #620 of 1486. Markdown https://www.anchorterminal.com/tools/flagsmith.md · JSON https://www.anchorterminal.com/api/v1/tools/flagsmith.json\n- Heap: grade D, 48.2/100, rank #1120 of 1486. Markdown https://www.anchorterminal.com/tools/heap.md · JSON https://www.anchorterminal.com/api/v1/tools/heap.json\n- Best product analytics and experimentation tools for AI agents: https://www.anchorterminal.com/best/product-analytics/index.md\n- All 153 product analytics comparisons: https://www.anchorterminal.com/compare/product-analytics/index.md\n\n## Which one, for what\n\n### Flagsmith (C)\n\nGood for: Feature flags and experiments for teams that want open source or self-hosting, managed by an agent through MCP.\n\nAhead on:\n- Reliability, 65 against 47\n- Schema \u0026 documentation, 67 against 57\n- Agent ergonomics, 55 against 49\n- Security \u0026 auth, 65 against 41\n- Payments \u0026 pricing, 40 against 25\n- Maintenance \u0026 community, 83 against 63\n- Transparency \u0026 trust, 77 against 66\n\nAlso in its favour:\n- Runs on your own machine\n- Open source\n\nWatch for: The MCP docs call the server an early release, and experiment tools are marked beta\n\n### Heap (D)\n\nGood for: An agent that records backend events or enriches user and account properties in a company's existing Heap project, or that files privacy deletions.\n\nWatch for: No query, export or definitions endpoint in the developer reference. Reading results needs the app, Heap Connect or the MCP server we couldn't read\n\n\n## Why the edge\n\n### Security \u0026 auth: Flagsmith +24\n\n- Flagsmith (65): OAuth for interactive MCP clients with Flagsmith as the authorisation server, Organisation API keys in the Authorization header that act as admin or with chosen RBAC roles, and OIDC trust relationships that swap a CI token for a short-lived one. Granular key roles need Scale-Up or Enterprise, so a Free key is all-powerful (25 of 30). RBAC roles can limit a key to reads, and change requests put a flag change through approval on Scale-Up and Enterprise. There is no read-only switch on the MCP server itself (14 of 20). No prompt-injection guidance; tools return names, descriptions and trait values written by people (3 of 15). Audit logs record every admin action and stream by webhook, on Scale-Up and Enterprise (11 of 15). The docs say Flagsmith has a SOC 2 Type 2 report available on request, the terms promise a yearly third-party penetration test, and SECURITY.md routes reports to support email. No security.txt, bug bounty or public advisory process was found (12 of 20). 25+14+3+11+12 = 65.\n- Heap (41): Track, identify and property calls carry no secret. The OpenAPI fragment declares an empty security requirement and the only identifier is the environment ID that the web snippet publishes. User deletion uses one admin-generated API key per account, exchanged for a temporary token. No scopes or rotation guidance found (8 of 30). Ingest is write-only by design. Deletion of up to 10,000 users has no confirmation step (5). The API returns no untrusted content (10). Audit logs are unchecked because help.heap.io answered with a bot check, so none are counted (0). Contentsquare publishes a signed security.txt valid to 31 January 2028 on contentsquare.com (not on heap.io), a disclosure policy, an invitation-only YesWeHack bounty, SOC 2 Type II and ISO 27001 (18). Total 41. Per the 7 October check, not re-read on 4 November, because heap.io and contentsquare.com terms bar robots and crawling.\n\n### Maintenance \u0026 community: Flagsmith +20\n\n- Flagsmith (83): v2.290.0 was released on 5 November 2026 (30). 34 tagged releases between 8 August and 5 November (20). Commits land daily (60 since 8 August in the 60-commit clone), with a Discord server and support email. We couldn't read issue response times because GitHub's API refused us for its rate limit (15 of 25). Not in the official MCP registry, which returned no Flagsmith entry; official SDKs are current (8 of 15). Renovate updates, CI workflows for the API, frontend, docs and MCP, and a Trivy scan (10). 30+20+15+8+10 = 83.\n- Heap (63): heap.js 5.3.17 shipped on 6 October 2026, but that is the browser SDK. The server-side track reference last changed on 3 June 2026 and has no changelog, so we scored this line between the two (20 of 30). heap.js 5.3.15, 5.3.16 and 5.3.17 and Android Core 0.9.5 fall inside 90 days (20). Dated public changelogs and a community at community.contentsquare.com, whose response times we didn't check (8). Client SDKs for web, Android, iOS, React Native and Flutter are current. The Node server client is from 2016 (10). CI not checked (5). Total 63. Per the 7 October check, not re-read on 4 November (developers.heap.io is paused on its terms). The three heap.js releases still fall inside the 90 days from 6 August.\n\n### Reliability: Flagsmith +18\n\n- Flagsmith (65): Graded on Flagsmith Cloud with the hosted lines. Statuspage at status.flagsmith.com with components for the Edge API, Admin API, dashboard and website (20). In the 90 days from 8 August, an Admin and SDK API outage on 28 October marked critical, posted at 21:56 UTC and resolved at 22:12 with no cause given, and a minor delay in processing flag changes on 10 September. The posted span of the outage is 16 minutes and its start isn't stated, so we read it as one serious incident under an hour (15 of 30). The Management API limit of 500 requests a minute is documented (15). No 429 handling, Retry-After or idempotency guidance was found in the docs (0). A public SLA commits to 99.95 per cent monthly uptime with service credits (10). The Management API is generally available, but the MCP docs call the server an early release, so half (5 of 10). 20+15+15+0+10+5 = 65.\n- Heap (47): Graded on the server-side API with the hosted lines. Heap's status page is an Atlassian Statuspage at status.heap.io, the address heap.io links to, which sits on a heap.io host whose terms bar robots, so it wasn't read on 4 November. The same page also answers at heap.statuspage.io, but that copy names status.heap.io as its canonical address and no Heap page links to it, so it wasn't used. The 7 October component and incident readings came only from Statuspage's JSON API, which this run doesn't use, so they are struck. No component list could be read (0) and no incident history could be read (5). Rate limits published with numbers, 30 requests per 30 seconds per identity on track and 15,000 events a minute per environment on bulk track, per the 7 October check, not re-read on 4 November (15). No 429 or backoff guidance found, but track takes an `idempotency_key`, per the 7 October check, not re-read on 4 November (7, the earlier partial kept, since keys without any 429 or backoff guidance meet none of the line's values in full). Contentsquare's support package states 99.5 per cent availability for Product Analytics Pro and Enterprise, measured on the user interface, per the 7 October check, not re-read on 4 November (10). The API carries no beta label (10). 0+5+15+7+10+10 = 47.\n\n### Payments \u0026 pricing: Flagsmith +15\n\n- Flagsmith (40): No x402, MPP or L402 (0). Plan prices and the per-million overage are public without login, though the page gives two overage rates for Start-Up ($50 per million and $7 per 100,000) (20). A $0 Free plan with 50,000 requests a month and a free BSD-3-Clause self-hosted edition. The pricing page doesn't say whether a card is needed, but the Free plan has no charge and the self-hosted edition needs no account (20). A person signs up in a browser, then approves OAuth or creates a key (0). 0+20+20+0 = 40.\n- Heap (25): No x402, MPP or L402 (0). The Free plan and its 10,000-session limit are public. Growth needs an estimate after signup and Pro and Premier say Contact Us, so no paid price is published (5). Free plan with APIs included. No card is mentioned on the pricing page, and the signup form needs JavaScript we couldn't run (20). A person signs up in a browser and copies the environment ID (0). Total 25. Per the 7 October check, not re-read on 4 November (www.heap.io is paused on its terms).\n\n### Transparency \u0026 trust: Flagsmith +11\n\n- Flagsmith (77): BSD-3-Clause for the core and the MCP server; the about page says most of the product is under that licence and some CI runs with private packages, so not every Cloud feature is in the open repository (25 of 30). The terms set Flagsmith as processor with 48-hour breach notice and EEA transfer rules, and the sub-processor list is dated 13 October 2025. The privacy policy dates from October 2023 and states no retention periods (16 of 30). The Gram-hosted MCP server was retired with a dated notice (30 June 2026), and three spec operations are marked deprecated, without a stated deprecation policy (10 of 20). The sub-processor list names providers and their countries (16 of 20). 25+16+10+16 = 67.\n- Heap (66): Closed service with published terms, now Contentsquare's master services agreement (15). The DPA (June 2026) caps Product Analytics retention at 37 months from collection unless agreed otherwise and links the sub-processor list. heap.io still carries a 2019 website terms page from Heap Inc. beside the Contentsquare documents (22). No deprecation policy for the API was found. Contentsquare's docs carry migration guides from the Heap SDKs to the CSQ SDK without an end date that we found (4). Sub-processor list (June 2026) with locations, AWS in Ireland, Frankfurt and Virginia and OpenAI for Sense Chat (20). Total 61. Per the 7 October check, not re-read on 4 November, apart from the heap.io website terms (still dated 30 August 2019) and Contentsquare's terms of service (29 January 2026).\n\n### Schema \u0026 documentation: Flagsmith +10\n\n- Flagsmith (67): openapi.yaml in the repository is OpenAPI 3.1 with 624 operations, and the MCP server builds its 54 tools from the operations tagged `mcp`, so every tool has a JSON Schema input (25). No llms.txt (404) and no Markdown served for agents on docs.flagsmith.com; the docs are Markdown only in the repository (0). Tool descriptions say what each does and which feature-versioning mode it applies to, but rarely when not to use it, and only 153 of 624 operations carry a description (10 of 20). 57 enums and required fields in the spec, with some free-form value fields (10 of 15). Docs carry curl examples, but only 16 operations document a 400 and 6 a 404 (7 of 15). A /api/v1 path, release-please changelog and dated release notes (15). 25+0+10+10+7+15 = 67.\n- Heap (57): OpenAPI 3.1 fragments are embedded in the Markdown of the track and identify pages. No single spec file was found, the property pages we read had empty fragments and user deletion is prose only (15). llms.txt and a .md copy of every page (10). Descriptions state purpose, limits and reserved keys, with little on when not to use a call (12). Required fields are marked and lengths stated in prose, with string types throughout, no enums and a free-form `properties` object (8). Curl examples on every page. Track and identify document 200 and 400 with an empty object, and only user deletion describes its error body (7). SDK changelogs are dated, but no changelog or version policy for the server-side API was found. Paths mix unversioned, v1 and v0 (5). Total 57. Per the 7 October check, not re-read on 4 November, because developers.heap.io sits on a host whose terms bar robots.\n\n## Score by category\n\n| Category | Weight | Flagsmith | Heap | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 65 | 47 | Flagsmith +18 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 67 | 57 | Flagsmith +10 |\n| Agent ergonomics | 13% (16.2 this run) | 55 | 49 | Flagsmith +6 |\n| Security \u0026 auth | 14% (17.5 this run) | 65 | 41 | Flagsmith +24 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 40 | 25 | Flagsmith +15 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 83 | 63 | Flagsmith +20 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 77 | 66 | Flagsmith +11 |\n| Negative events | ≤15 | -2 | 0 | |\n| **Total** | | **61.2 · C** | **48.2 · D** | |\n\n## Facts side by side\n\n| Fact | Flagsmith | Heap |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Bullet Train Ltd | Contentsquare (Content Square, Inc.) |\n| Hosted endpoint | `https://mcp.flagsmith.com` | `https://heapanalytics.com` |\n| Transports | HTTP, Streamable HTTP, stdio | HTTP |\n| Auth | OAuth or key | OAuth or key |\n| Pricing | Freemium | Freemium |\n| x402 | no | no |\n| Licence | BSD-3-Clause | Proprietary service under Contentsquare's master services agreement. The React Native bridge and the Node client on npm are MIT |\n| Tools exposed | 54 | none |\n| Read-only variant documented | yes | no |\n| llms.txt | no | yes |\n| Last release | 2026-11-05 | 2026-10-06 |\n| Terms last updated | 2026-09-01 | no date given |\n| Privacy policy last updated | 2023-10-01 | couldn't be read |\n| Customer content may train models | not found in the text | yes |\n| Terms restrict automated access | not found in the text | not found in the text |\n| Terms restrict benchmarking | not found in the text | yes |\n| Terms or service can change without notice | not found in the text | not found in the text |\n| Arbitration or class-action waiver | not found in the text | not found in the text |\n| Popularity | 6.6k stars | 213 npm/wk |\n\n## How the scores have moved\n\n### Flagsmith\n\nNo score change since it was listed.\n\n### Heap\n\n- -5.0 on 4 November 2026: correction\n- +0.1 on 28 October 2026: new evidence\n- +0.1 on 27 October 2026: checklist\n\n## Verdicts\n\n**Flagsmith.** Flagsmith pairs a BSD-licensed core with a hosted MCP server whose 54 tools come from its OpenAPI spec and carry read and destructive hints. A public 99.95 per cent SLA and SOC 2 report back the Cloud service. The MCP server is still an early release, and fine-grained key roles need a paid Scale-Up or Enterprise plan.\n\n**Heap.** Heap's server-side API suits an agent that records events. Limits are published, bulk calls take 1,000 items and track accepts an idempotency key. The API returns no analytics, and ingest calls carry no secret beyond the environment ID. Heap's help centre lists a Heap MCP article, which a bot check stopped us reading, so the MCP server is ungraded.\n\n## Before you call either\n\n### Flagsmith\n\n1. Send the key as `Authorization: Api-Key \u003ckey\u003e`; the `Api-Key ` prefix is required and a bare key fails\n2. Check whether the environment uses v2 feature versioning before choosing between segment-override and version-state tools\n3. Use a key with a read-only RBAC role for analysis tasks, since a Free plan key has organisation admin rights\n4. Pace Management API calls under 500 a minute; no Retry-After guidance is documented\n5. Treat experiment results as possibly null until Flagsmith has computed them\n\n### Heap\n\n1. Send EU projects to https://c.eu.heap-api.com instead of https://heapanalytics.com. The path stays the same\n2. Pass one of `identity` or `user_id` on track, never both\n3. Set `idempotency_key` on every track event so a retry doesn't duplicate it\n4. Stay under 30 requests per 30 seconds per identity, or batch up to 1,000 events in one bulk call\n5. For deletion, exchange the app_id and API key of the Main Production environment for a token first. Any other environment ID returns Unauthorized\n\n## Questions\n\n### Which is better for AI agents, Flagsmith or Heap?\n\nFlagsmith scores 61.2 (C) on agent readiness against Heap's 48.2 (D), and leads in every scored category.\n\n### Do Flagsmith and Heap need an API key?\n\nBoth take an API key or an OAuth sign-in.\n\n### Can an agent call Flagsmith and Heap without installing anything?\n\nYes. Flagsmith has a hosted endpoint at https://mcp.flagsmith.com and Heap at https://heapanalytics.com.\n\n### Are Flagsmith and Heap open source?\n\nFlagsmith is open source (BSD-3-Clause). No open-source release is listed for Heap.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/flagsmith-vs-heap.json, and with the fewest tokens: https://www.anchorterminal.com/compare/flagsmith-vs-heap.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"flagsmith\", \"b\": \"heap\"}`. From a terminal: `anchor compare flagsmith heap`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/flagsmith.json and https://www.anchorterminal.com/api/v1/tools/heap.json\n\n## Other comparisons with Flagsmith or Heap\n\n- [Amplitude vs Flagsmith](https://www.anchorterminal.com/compare/amplitude-vs-flagsmith.md)\n- [Countly vs Flagsmith](https://www.anchorterminal.com/compare/countly-vs-flagsmith.md)\n- [Flagsmith vs GrowthBook](https://www.anchorterminal.com/compare/flagsmith-vs-growthbook.md)\n- [Flagsmith vs Harness Feature Management \u0026 Experimentation](https://www.anchorterminal.com/compare/flagsmith-vs-harness-fme.md)\n- [Flagsmith vs LaunchDarkly](https://www.anchorterminal.com/compare/flagsmith-vs-launchdarkly.md)\n- [Flagsmith vs Mixpanel](https://www.anchorterminal.com/compare/flagsmith-vs-mixpanel.md)\n- [Flagsmith vs Optimizely Experimentation](https://www.anchorterminal.com/compare/flagsmith-vs-optimizely.md)\n- [Flagsmith vs PostHog](https://www.anchorterminal.com/compare/flagsmith-vs-posthog.md)\n- [Flagsmith vs Statsig](https://www.anchorterminal.com/compare/flagsmith-vs-statsig.md)\n- [Amplitude vs Heap](https://www.anchorterminal.com/compare/amplitude-vs-heap.md)\n- [Countly vs Heap](https://www.anchorterminal.com/compare/countly-vs-heap.md)\n- [Flagsmith vs Fullstory](https://www.anchorterminal.com/compare/flagsmith-vs-fullstory.md)\n- [Flagsmith vs OpenPanel](https://www.anchorterminal.com/compare/flagsmith-vs-openpanel.md)\n- [Flagsmith vs Woopra](https://www.anchorterminal.com/compare/flagsmith-vs-woopra.md)\n- [Fullstory vs Heap](https://www.anchorterminal.com/compare/fullstory-vs-heap.md)\n- [GrowthBook vs Heap](https://www.anchorterminal.com/compare/growthbook-vs-heap.md)\n- [Harness Feature Management \u0026 Experimentation vs Heap](https://www.anchorterminal.com/compare/harness-fme-vs-heap.md)\n- [Heap vs Matomo](https://www.anchorterminal.com/compare/heap-vs-matomo.md)\n- [Heap vs Mixpanel](https://www.anchorterminal.com/compare/heap-vs-mixpanel.md)\n- [Heap vs Mostly Good Metrics](https://www.anchorterminal.com/compare/heap-vs-mostly-good-metrics.md)\n- [Heap vs OpenPanel](https://www.anchorterminal.com/compare/heap-vs-openpanel.md)\n- [Heap vs Pendo](https://www.anchorterminal.com/compare/heap-vs-pendo.md)\n- [Heap vs PostHog](https://www.anchorterminal.com/compare/heap-vs-posthog.md)\n- [Heap vs Statsig](https://www.anchorterminal.com/compare/heap-vs-statsig.md)\n- [Heap vs Userpilot](https://www.anchorterminal.com/compare/heap-vs-userpilot.md)\n- [Heap vs Woopra](https://www.anchorterminal.com/compare/heap-vs-woopra.md)\n- [Flagsmith vs Matomo](https://www.anchorterminal.com/compare/flagsmith-vs-matomo.md)\n- [Flagsmith vs Mostly Good Metrics](https://www.anchorterminal.com/compare/flagsmith-vs-mostly-good-metrics.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-11-07",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.7",
    "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": "Flagsmith vs Heap",
        "url": ""
      }
    ],
    "description": "Flagsmith scores 61.2 (C) to Heap's 48.2 (D) for event analytics. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "Flagsmith C 61.2",
      "Heap D 48.2",
      "scores"
    ],
    "h1": "Flagsmith vs Heap",
    "image": "https://www.anchorterminal.com/assets/og/default.png",
    "path": "/compare/flagsmith-vs-heap",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Flagsmith vs Heap for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-11-07",
    "url": "https://www.anchorterminal.com/compare/flagsmith-vs-heap"
  },
  "tokens": {
    "markdown": 5000,
    "slim": 3130
  },
  "version": 1
}
