{
  "data": {
    "a": {
      "slug": "posthog",
      "name": "PostHog",
      "vendor": "PostHog Inc.",
      "vendorUrl": "https://posthog.com",
      "kind": "http-api",
      "category": "product-analytics",
      "summary": "PostHog is an open-source product analytics platform with session replay, feature flags, experiments, error tracking and a data warehouse. Agents reach PostHog Cloud through a REST API with a public OpenAPI spec and an official hosted MCP server.",
      "url": "https://www.anchorterminal.com/tools/posthog",
      "markdownUrl": "https://www.anchorterminal.com/tools/posthog.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/posthog.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/posthog.json",
      "repo": "https://github.com/PostHog/posthog",
      "license": "MIT for the repository outside the `ee` directory, which has its own licence. PostHog Cloud is a hosted service under PostHog's terms",
      "transports": [
        "http",
        "streamable-http"
      ],
      "remoteUrl": "https://us.posthog.com",
      "packages": [
        {
          "registry": "npm",
          "name": "posthog-node"
        },
        {
          "registry": "npm",
          "name": "posthog-js"
        },
        {
          "registry": "pypi",
          "name": "posthog"
        },
        {
          "registry": "npm",
          "name": "@posthog/cli"
        }
      ],
      "auth": "mixed",
      "authNotes": "Self-serve. Private endpoints take a Bearer personal API key (`phx_`) that a signed-in user creates with chosen scopes and project or organisation access, or an OAuth access token. OAuth at oauth.posthog.com supports PKCE, dynamic client registration and client ID metadata documents, with no app review needed to go live. The MCP server uses OAuth by default or a personal API key made with the MCP Server preset. Project secret API keys are in beta. Capture and flag evaluation take the public project token.",
      "pricing": "freemium",
      "pricingNotes": "Free plan with no card, covering 1 million analytics events and 1 million flag requests a month. The paid plan has no base fee and no seat charge, and bills per unit above the free allowance (analytics events from $0.00005). API and MCP calls are not billed, but personal API key queries draw on an hourly read budget that is larger on a paid plan (https://posthog.com/pricing, checked 2026-10-07).",
      "priceSummary": "$0.0001 / tx",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the API docs, the OpenAPI spec or the pricing page (checked 2026-10-07).",
        "endpoints": []
      },
      "toolCount": 1096,
      "popularity": {
        "githubStars": 40176,
        "npmWeekly": 15243417,
        "pypiWeekly": null,
        "asOf": "2026-10-07"
      },
      "docsUrl": "https://posthog.com/docs/api",
      "llmsTxt": "https://posthog.com/llms.txt",
      "openapi": "https://app.posthog.com/api/schema/",
      "registryName": "io.github.PostHog/mcp",
      "capabilities": [
        "analytics.query",
        "analytics.events",
        "analytics.funnels",
        "analytics.experiments",
        "analytics.flags",
        "observability.errors",
        "observability.logs"
      ],
      "tags": [
        "official",
        "hosted",
        "open-source",
        "mcp",
        "oauth",
        "openapi",
        "llms-txt",
        "free-tier",
        "no-card",
        "eu-region",
        "status-page",
        "soc2",
        "typescript",
        "python"
      ],
      "lastRelease": "2026-10-05",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 68.4,
        "grade": "B",
        "agentReady": false,
        "rank": 204,
        "ranked": true,
        "rankOf": 842,
        "categoryRank": 4,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 78,
          "maintenance": 89,
          "payments": 40,
          "reliability": 74,
          "schema": 81,
          "security": 84,
          "transparency": 83
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-07"
        },
        "negative": -7,
        "negativeNotes": [
          "-3: 2025-11-24. Malicious versions of posthog-node, posthog-js and six other npm packages were published with a stolen token after an attacker took CI secrets through a pull request workflow. PostHog removed them in about five hours and published a post-mortem on 26 November 2025, so the deduction is reduced (https://posthog.com/blog/nov-24-shai-hulud-attack-post-mortem).",
          "-2: 2026-05-29, disclosed 2026-06-02 as PSA-2026-00001 (critical). Researchers used an unsandboxed, outdated Chromium to reach a US Cloud pod and read internal production credentials. PostHog says no customer data was accessed and the credentials were rotated. Fixed and documented (https://posthog.com/handbook/company/security-advisories).",
          "-2: 2026-07-11 to 2026-08-04, disclosed 2026-08-21 as PSA-2026-00002 (high). Customer-run nginx proxies set up as PostHog's guide showed sent traffic to released AWS addresses, and a researcher read traffic from six EU customers. The report sat in triage for five weeks. Fixed and documented (https://posthog.com/handbook/company/security-advisories)."
        ],
        "verdict": "PostHog suits agents that need to query product data and manage flags or experiments. Its hosted MCP server has OAuth scopes, a read-only mode and a one-tool CLI mode over 1,096 tools. The status page shows 31 incidents in 90 days, four on analytics queries, and three security incidents were disclosed in the last year.",
        "bestFor": "An agent that answers product questions in SQL or with funnel, retention and trends queries, and that manages feature flags, experiments and error tracking in the same project.",
        "strengths": [
          "Public OpenAPI 3.1 spec with 2,347 operations and a scope on most of them, plus llms.txt and a Markdown copy of every docs page",
          "Hosted MCP server with OAuth, a read-only switch, filters by product area or tool name and pinning to one project",
          "CLI mode registers one `exec` tool that searches, inspects and calls the 1,096 tools on demand",
          "Free plan without a card, with 1 million analytics events and 1 million flag requests a month, and public per-unit prices above that",
          "MIT source outside the `ee` directory, a public SOC 2 Type 2 report and a public security advisories page"
        ],
        "weaknesses": [
          "31 incidents on the status page between 9 July and 6 October 2026, four of them analytics query timeouts or failures",
          "Three security incidents in twelve months, among them malicious npm SDK versions on 24 November 2025",
          "API queries stop at 10 seconds of execution, three at a time per project, with an hourly read budget on personal API keys",
          "No API versioning or deprecation policy was found, and the query docs reserve the right to restrict export-like queries without notice",
          "Customer content can be used to train PostHog's own models unless the customer opts out in settings"
        ],
        "agentNotes": [
          "Add `?readonly=true` or the `x-posthog-read-only` header to the MCP URL unless the task needs writes",
          "Pin the session with `x-posthog-project-id`, which also removes the `switch-project` and `switch-organization` tools",
          "In CLI mode run `info \u003ctool\u003e` once before `call`, and send one `exec` command per request",
          "On a 429 with code `api_queries_budget_exceeded`, wait for `Retry-After` and read `X-PostHog-Query-Budget-Remaining-Bytes`",
          "Page SQL results by keyset on `timestamp`. `OFFSET` returns 400 for personal API keys, and results cap at 50,000 rows"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "B",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 68.4
          }
        ],
        "editorialScores": {
          "ergonomics": 78,
          "maintenance": 89,
          "payments": 40,
          "reliability": 74,
          "schema": 81,
          "security": 84,
          "transparency": 71
        },
        "provenanceScore": 94
      },
      "connect": {
        "install": "npx @posthog/wizard mcp add",
        "http": "curl \\\n  -H 'Content-Type: application/json' \\\n  -H \"Authorization: Bearer $POSTHOG_PERSONAL_API_KEY\" \\\n  https://us.posthog.com/api/projects/:project_id/query/ \\\n  -d '{\"query\": {\"kind\": \"HogQLQuery\", \"query\": \"select event, count() from events group by event limit 100\"}}'",
        "claudeCode": "claude mcp add --transport http posthog https://mcp.posthog.com/mcp -s user",
        "config": {
          "mcpServers": {
            "posthog": {
              "url": "https://mcp.posthog.com/mcp"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/analytics.query",
        "tool": "https://letme.dev/posthog"
      },
      "area": "business",
      "unitPrices": [
        {
          "item": "Product analytics event",
          "unit": "tx",
          "usd": 0.00005,
          "note": "1 to 2 million a month, first 1 million free, lower above"
        },
        {
          "item": "Feature flag request",
          "unit": "tx",
          "usd": 0.0001,
          "note": "1 to 2 million a month, first 1 million free, lower above"
        },
        {
          "item": "Session recording",
          "unit": "tx",
          "usd": 0.005,
          "note": "5,001 to 15,000 a month, first 5,000 free"
        },
        {
          "item": "Data warehouse row",
          "unit": "record",
          "usd": 0.000015,
          "note": "1 to 10 million a month, first 1 million free"
        },
        {
          "item": "Boost package",
          "unit": "month",
          "usd": 250
        },
        {
          "item": "Scale package",
          "unit": "month",
          "usd": 750
        },
        {
          "item": "Enterprise package",
          "unit": "month",
          "usd": 2000
        }
      ],
      "provenance": {
        "legalEntity": "PostHog Inc. (formerly Hiberly Inc.)",
        "domain": "posthog.com",
        "domainRegistered": "2020-01-23",
        "endpointOnVendorDomain": true,
        "terms": "https://posthog.com/terms",
        "privacy": "https://posthog.com/privacy",
        "statusPage": "https://www.posthogstatus.com",
        "changelog": "https://posthog.com/changelog",
        "securityTxt": "valid",
        "checked": "2026-10-07",
        "notes": [
          "The privacy policy names PostHog Inc., formerly known as Hiberly Inc., and its subsidiaries. The security handbook names Hiberly Ltd. as the UK entity.",
          "posthog.com/.well-known/security.txt expires 2027-08-30 and points to the security handbook. The copy on us.posthog.com expired 2024-03-14.",
          "status.posthog.com redirects to www.posthogstatus.com.",
          "RDAP for posthog.com gives a registration date of 2020-01-23.",
          "The API, OAuth server and MCP server answer on posthog.com subdomains."
        ],
        "score": 94
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/posthog.json",
      "live": {
        "slug": "posthog",
        "probe": {
          "target": "https://us.posthog.com",
          "method": "get",
          "lastAt": "2026-10-09T10:42:53.212572223Z",
          "lastOk": true,
          "lastStatus": 200,
          "lastMs": 370,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 357,
          "p95ms24h": 429,
          "samples24h": 207,
          "samples30d": 207,
          "days": [
            {
              "date": "2026-10-08",
              "probes": 93,
              "ok": 93
            },
            {
              "date": "2026-10-09",
              "probes": 114,
              "ok": 114
            }
          ]
        },
        "vendorStatus": {
          "page": "https://www.posthogstatus.com",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-10-09T07:58:26.766992603Z"
        },
        "versions": [
          {
            "registry": "github",
            "name": "PostHog/posthog",
            "version": "posthog-cli/v0.18.10",
            "released": "2026-10-08",
            "seenAt": "2026-10-08T16:26:05.264718319Z"
          },
          {
            "registry": "mcp-registry",
            "name": "io.github.PostHog/mcp",
            "version": "1.0.1",
            "seenAt": "2026-10-09T02:57:46.004536428Z"
          },
          {
            "registry": "npm",
            "name": "@posthog/cli",
            "version": "0.18.10",
            "seenAt": "2026-10-08T16:26:03.360315129Z"
          },
          {
            "registry": "npm",
            "name": "posthog-js",
            "version": "1.438.2",
            "seenAt": "2026-10-08T16:26:01.219902492Z"
          },
          {
            "registry": "npm",
            "name": "posthog-node",
            "version": "5.55.0",
            "seenAt": "2026-10-08T16:26:00.932213759Z"
          },
          {
            "registry": "pypi",
            "name": "posthog",
            "version": "7.66.0",
            "released": "2026-10-08",
            "seenAt": "2026-10-08T16:26:03.179505005Z"
          }
        ],
        "githubStars": 40189,
        "npmWeekly": 15243417,
        "pypiWeekly": 10625439,
        "securityTxt": {
          "url": "https://posthog.com/.well-known/security.txt",
          "state": "valid",
          "expires": "2027-08-30T00:00:00.000Z",
          "checkedAt": "2026-10-08T15:38:33.305841715Z"
        },
        "pages": [
          {
            "url": "https://posthog.com/changelog",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-10-08T18:23:13.700564471Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "ede31863795a"
          },
          {
            "url": "https://posthog.com/pricing",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-10-08T18:23:16.013448729Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "2cc031ef02b6"
          },
          {
            "url": "https://posthog.com/privacy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-08T18:23:17.807151985Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "4cbb2a93a904"
          },
          {
            "url": "https://posthog.com/terms",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-08T18:23:20.222126648Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "8b42f8ddf893"
          }
        ],
        "updatedAt": "2026-10-09T10:42:53.212572223Z"
      }
    },
    "answer": "PostHog scores 68.4 (B) on agent readiness against Woopra's 44.4 (E), and leads in 6 of 7 scored categories. Woopra leads on reliability.",
    "b": {
      "slug": "woopra",
      "name": "Woopra",
      "vendor": "Woopra, Inc.",
      "vendorUrl": "https://www.woopra.com",
      "kind": "http-api",
      "category": "product-analytics",
      "summary": "Woopra is a hosted customer journey and product analytics service from Woopra, Inc., an Appier affiliate. Its HTTP tracking API records events and visitor properties, and its REST API returns saved reports, profiles and raw session logs.",
      "url": "https://www.anchorterminal.com/tools/woopra",
      "markdownUrl": "https://www.anchorterminal.com/tools/woopra.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/woopra.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/woopra.json",
      "repo": "https://github.com/Woopra/js-client-tracker",
      "license": "Proprietary service under Woopra's terms of service. The browser tracker and the SDKs on GitHub are MIT, and the Node package is ISC",
      "transports": [
        "http"
      ],
      "remoteUrl": "https://www.woopra.com/rest/3.10",
      "packages": [
        {
          "registry": "npm",
          "name": "woopra"
        },
        {
          "registry": "npm",
          "name": "@woopra/browser-tracker"
        }
      ],
      "auth": "mixed",
      "authNotes": "Self-serve. REST calls use HTTP Basic with an App ID and Secret Key that each user generates on the Access Keys tab of the members area. Tracking calls need only the project name unless the owner enables Secure Tracking, which adds a generated ID and secret sent by HTTP Basic. No OAuth, scopes or partner approval were found in the docs.",
      "pricing": "paid",
      "pricingNotes": "Pro starts at $999 a month for 5 million events, with a 30-day trial that an agent's owner can start without a contract. Overage fees apply past the event quota, at rates the pricing page does not state. Enterprise is quoted. Whether the trial signup asks for a card was not established (https://www.woopra.com/pricing, checked 2026-10-09).",
      "priceSummary": "$999 / mo",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the developer docs or on the pricing page (checked 2026-10-09).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": 415,
        "pypiWeekly": null,
        "asOf": "2026-10-09"
      },
      "docsUrl": "https://docs.woopra.com",
      "llmsTxt": "https://docs.woopra.com/llms.txt",
      "capabilities": [
        "analytics.query",
        "analytics.events",
        "analytics.funnels"
      ],
      "tags": [
        "hosted",
        "closed-source",
        "llms-txt",
        "basic-auth",
        "no-oauth",
        "free-trial",
        "status-page",
        "rate-limits",
        "export",
        "sales-led"
      ],
      "lastRelease": "2026-03-16",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 44.4,
        "grade": "E",
        "agentReady": false,
        "rank": 779,
        "ranked": true,
        "rankOf": 842,
        "categoryRank": 12,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 45,
          "maintenance": 9,
          "payments": 30,
          "reliability": 80,
          "schema": 45,
          "security": 22,
          "transparency": 61
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-09"
        },
        "negative": 0,
        "verdict": "Woopra's REST API returns saved Trends, Journeys, Retention and Attribution reports, profiles and raw session logs, with published limits of 300 calls a minute and 3,000 a day per project. A report must first be built in the web app, the tracking endpoints accept events without a secret by default, and no changelog or SLA was found.",
        "bestFor": "An agent that reads a company's existing Woopra reports, looks up or edits customer profiles, or exports raw sessions on a schedule.",
        "strengths": [
          "Rate limits are published per project at 300 calls a minute, 600 an hour and 3,000 a day, and limited calls return 429",
          "Report endpoints take `limit`, `offset`, a `snapshot` ID for consistent paging past 1,000 records, and `timeframe_from` and `timeframe_to` overrides",
          "status.woopra.com (Statuspage) lists no incidents for August, September or October 2026 across Data Processing, Data Collection and the front-end application",
          "`/logs/export` returns raw sessions as line-separated JSON, and `/logs/import` loads them in bulk and returns a batch ID to poll",
          "The terms of service (10 December 2025) name nine sub-processors with addresses and countries, and say the customer owns the tracking data"
        ],
        "weaknesses": [
          "Report endpoints run a report saved in the web app by `report_id`. No endpoint to define a query, funnel or segment was found in the reference",
          "`/track/ce` and `/track/identify` accept data with only the project name unless the owner turns on Secure Tracking",
          "No API changelog, deprecation policy or SLA was found. The terms promise commercially reasonable efforts on availability",
          "Server SDKs are old. The Node, Python, Java and Rails repositories were last committed to in 2017, and npm `woopra` is 1.0.2",
          "The terms of service forbid using any robot, spider, scraper or other automated means to access the Site, a term defined to include the Services",
          "Most REST operations document no response schema, and the `/profiles` page repeats the `/trends` description"
        ],
        "agentNotes": [
          "Ask the owner to build and save each report in the web app first, then pass the last path segment of its URL as `report_id`",
          "Authenticate REST calls with HTTP Basic, using the App ID and Secret Key from the Access Keys tab, against `https://www.woopra.com/rest/3.10/`",
          "Stay under 300 calls a minute, 600 an hour and 3,000 a day per project. A 429 carries no documented retry interval, so back off on your own schedule",
          "Reuse the `snapshot` ID from the first response when paging with `offset`, or pages past 1,000 records may not agree",
          "Send `cookie` or a `cv_` identifier such as `cv_email` on every track call. Without one the event lands on a random profile that can't be identified later",
          "When reading `/logs/export`, delete the profile named in each `type: \"delete\"` line. The following lines log its data again under `new_id`"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "E",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 44.4
          }
        ],
        "editorialScores": {
          "ergonomics": 45,
          "maintenance": 9,
          "payments": 30,
          "reliability": 80,
          "schema": 45,
          "security": 22,
          "transparency": 45
        },
        "provenanceScore": 77
      },
      "connect": {
        "http": "curl \\\n--user \u003cApp Id\u003e:\u003cSecret Key\u003e \\\n\"https://www.woopra.com/rest/3.10/trends?project=mybusiness.com\u0026start_day=2017-4-12\u0026end_day=2017-5-19\u0026report_id=83mYcoe6jX\""
      },
      "letme": {
        "capability": "https://letme.dev/analytics.query",
        "tool": "https://letme.dev/woopra"
      },
      "area": "business",
      "unitPrices": [
        {
          "item": "Pro, 5 million events a month",
          "unit": "month",
          "usd": 999,
          "note": "starting price, overage fees apply"
        }
      ],
      "provenance": {
        "legalEntity": "Woopra, Inc.",
        "domain": "woopra.com",
        "domainRegistered": "2007-02-23",
        "endpointOnVendorDomain": true,
        "terms": "https://www.woopra.com/tos",
        "privacy": "https://www.woopra.com/privacy",
        "statusPage": "https://status.woopra.com",
        "changelog": "",
        "securityTxt": "unknown",
        "checked": "2026-10-09",
        "notes": [
          "The terms of service (last updated 10 December 2025) are a contract with Woopra, Inc., its subsidiaries and affiliated companies including Appier, and cover the website and the subscription services in one document. They give 600 California St, Fl 11, San Francisco, CA 94108 as the legal address.",
          "The privacy policy (last updated 1 August 2025) covers customers and site visitors and says it does not apply to end-user data that Woopra processes for customers. It names Appier Netherlands B.V. as EU representative. No public DPA was found, and the GDPR page says a copy is sent on request.",
          "The REST and tracking endpoints answer under https://www.woopra.com/rest and https://www.woopra.com/track, on the vendor's own domain. robots.txt on that host disallows both paths, and we sent no request to either.",
          "www.woopra.com/.well-known/security.txt timed out twice with no bytes received, so its presence is unknown.",
          "status.woopra.com is an Atlassian Statuspage site. Its address was not linked from the pages we read and was tried directly.",
          "No changelog for the API was found. docs.woopra.com/changelog returns 404, and the browser tracker's CHANGELOG.md stops at v5.3.0 of 15 September 2021.",
          "RDAP for woopra.com gives a registration date of 2007-02-23 and Spaceship, Inc. as registrar."
        ],
        "score": 77
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/woopra.json",
      "live": {
        "slug": "woopra",
        "probe": {
          "target": "https://www.woopra.com/rest/3.10",
          "method": "get",
          "lastAt": "2026-10-09T10:43:02.137707325Z",
          "lastOk": false,
          "lastStatus": 500,
          "lastMs": 29,
          "lastNote": "server error",
          "authRequired": false,
          "uptime24h": 0,
          "uptime30d": 0,
          "p50ms24h": 0,
          "p95ms24h": 0,
          "samples24h": 33,
          "samples30d": 33,
          "days": [
            {
              "date": "2026-10-09",
              "probes": 33,
              "ok": 0
            }
          ],
          "outages": [
            {
              "start": "2026-10-09T07:40:43.906309049Z",
              "end": "0001-01-01T00:00:00Z",
              "note": "HTTP 500 server error"
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.woopra.com",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-10-09T10:42:09.985016293Z"
        },
        "updatedAt": "2026-10-09T10:43:02.137707325Z"
      }
    },
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "PostHog Inc.",
        "b": "Woopra, Inc.",
        "name": "Vendor"
      },
      {
        "a": "https://us.posthog.com",
        "b": "https://www.woopra.com/rest/3.10",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP, Streamable HTTP",
        "b": "HTTP",
        "name": "Transports"
      },
      {
        "a": "OAuth or key",
        "b": "OAuth or key",
        "name": "Auth"
      },
      {
        "a": "Freemium",
        "b": "Paid",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "MIT for the repository outside the `ee` directory, which has its own licence. PostHog Cloud is a hosted service under PostHog's terms",
        "b": "Proprietary service under Woopra's terms of service. The browser tracker and the SDKs on GitHub are MIT, and the Node package is ISC",
        "name": "Licence"
      },
      {
        "a": "1096",
        "b": "none",
        "name": "Tools exposed"
      },
      {
        "a": "yes",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "io.github.PostHog/mcp",
        "b": "not listed",
        "name": "MCP registry"
      },
      {
        "a": "2026-10-05",
        "b": "2026-03-16",
        "name": "Last release"
      },
      {
        "a": "2026-06-29",
        "b": "2025-12-10",
        "name": "Terms last updated"
      },
      {
        "a": "2026-06-29",
        "b": "2025-08-01",
        "name": "Privacy policy last updated"
      },
      {
        "a": "yes, with an opt-out",
        "b": "not found in the text",
        "name": "Customer content may train models"
      },
      {
        "a": "not found in the text",
        "b": "yes",
        "name": "Terms restrict automated access"
      },
      {
        "a": "yes",
        "b": "not found in the text",
        "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": "yes",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "40k stars, 15.2M npm/wk",
        "b": "415 npm/wk",
        "name": "Popularity"
      }
    ],
    "faq": [
      {
        "answer": "PostHog scores 68.4 (B) on agent readiness against Woopra's 44.4 (E), and leads in 6 of 7 scored categories. Woopra leads on reliability.",
        "question": "Which is better for AI agents, PostHog or Woopra?"
      },
      {
        "answer": "Both take an API key or an OAuth sign-in.",
        "question": "Do PostHog and Woopra need an API key?"
      },
      {
        "answer": "Yes. PostHog has a hosted endpoint at https://us.posthog.com and Woopra at https://www.woopra.com/rest/3.10.",
        "question": "Can an agent call PostHog and Woopra without installing anything?"
      },
      {
        "answer": "PostHog is open source (MIT for the repository outside the `ee` directory, which has its own licence. PostHog Cloud is a hosted service under PostHog's terms). No open-source release is listed for Woopra.",
        "question": "Are PostHog and Woopra open source?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Schema \u0026 documentation, 81 against 45",
          "Agent ergonomics, 78 against 45",
          "Security \u0026 auth, 84 against 22",
          "Payments \u0026 pricing, 40 against 30",
          "Maintenance \u0026 community, 89 against 9",
          "Transparency \u0026 trust, 83 against 61"
        ],
        "also": [
          "Free to start without a card",
          "Open source"
        ],
        "goodFor": "An agent that answers product questions in SQL or with funnel, retention and trends queries, and that manages feature flags, experiments and error tracking in the same project.",
        "slug": "posthog",
        "watchFor": "31 incidents on the status page between 9 July and 6 October 2026, four of them analytics query timeouts or failures"
      },
      {
        "aheadOn": [
          "Reliability, 80 against 74"
        ],
        "also": [
          "No incidents deducted, where PostHog loses 7 points for them"
        ],
        "goodFor": "An agent that reads a company's existing Woopra reports, looks up or edits customer profiles, or exports raw sessions on a schedule.",
        "slug": "woopra",
        "watchFor": "Report endpoints run a report saved in the web app by `report_id`. No endpoint to define a query, funnel or segment was found in the reference"
      }
    ],
    "job": {
      "capability": "analytics.query",
      "name": "Analytics query"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/amplitude-vs-posthog.json",
        "title": "Amplitude vs PostHog",
        "url": "https://www.anchorterminal.com/compare/amplitude-vs-posthog"
      },
      {
        "json": "https://www.anchorterminal.com/compare/amplitude-vs-woopra.json",
        "title": "Amplitude vs Woopra",
        "url": "https://www.anchorterminal.com/compare/amplitude-vs-woopra"
      },
      {
        "json": "https://www.anchorterminal.com/compare/countly-vs-posthog.json",
        "title": "Countly vs PostHog",
        "url": "https://www.anchorterminal.com/compare/countly-vs-posthog"
      },
      {
        "json": "https://www.anchorterminal.com/compare/countly-vs-woopra.json",
        "title": "Countly vs Woopra",
        "url": "https://www.anchorterminal.com/compare/countly-vs-woopra"
      },
      {
        "json": "https://www.anchorterminal.com/compare/fullstory-vs-posthog.json",
        "title": "Fullstory vs PostHog",
        "url": "https://www.anchorterminal.com/compare/fullstory-vs-posthog"
      },
      {
        "json": "https://www.anchorterminal.com/compare/fullstory-vs-woopra.json",
        "title": "Fullstory vs Woopra",
        "url": "https://www.anchorterminal.com/compare/fullstory-vs-woopra"
      },
      {
        "json": "https://www.anchorterminal.com/compare/growthbook-vs-woopra.json",
        "title": "GrowthBook vs Woopra",
        "url": "https://www.anchorterminal.com/compare/growthbook-vs-woopra"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mixpanel-vs-posthog.json",
        "title": "Mixpanel vs PostHog",
        "url": "https://www.anchorterminal.com/compare/mixpanel-vs-posthog"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mixpanel-vs-woopra.json",
        "title": "Mixpanel vs Woopra",
        "url": "https://www.anchorterminal.com/compare/mixpanel-vs-woopra"
      },
      {
        "json": "https://www.anchorterminal.com/compare/optimizely-vs-woopra.json",
        "title": "Optimizely Experimentation vs Woopra",
        "url": "https://www.anchorterminal.com/compare/optimizely-vs-woopra"
      },
      {
        "json": "https://www.anchorterminal.com/compare/pendo-vs-posthog.json",
        "title": "Pendo vs PostHog",
        "url": "https://www.anchorterminal.com/compare/pendo-vs-posthog"
      },
      {
        "json": "https://www.anchorterminal.com/compare/pendo-vs-woopra.json",
        "title": "Pendo vs Woopra",
        "url": "https://www.anchorterminal.com/compare/pendo-vs-woopra"
      },
      {
        "json": "https://www.anchorterminal.com/compare/posthog-vs-statsig.json",
        "title": "PostHog vs Statsig",
        "url": "https://www.anchorterminal.com/compare/posthog-vs-statsig"
      },
      {
        "json": "https://www.anchorterminal.com/compare/statsig-vs-woopra.json",
        "title": "Statsig vs Woopra",
        "url": "https://www.anchorterminal.com/compare/statsig-vs-woopra"
      },
      {
        "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-woopra.json",
        "title": "Heap vs Woopra",
        "url": "https://www.anchorterminal.com/compare/heap-vs-woopra"
      },
      {
        "json": "https://www.anchorterminal.com/compare/growthbook-vs-posthog.json",
        "title": "GrowthBook vs PostHog",
        "url": "https://www.anchorterminal.com/compare/growthbook-vs-posthog"
      },
      {
        "json": "https://www.anchorterminal.com/compare/optimizely-vs-posthog.json",
        "title": "Optimizely Experimentation vs PostHog",
        "url": "https://www.anchorterminal.com/compare/optimizely-vs-posthog"
      },
      {
        "json": "https://www.anchorterminal.com/compare/launchdarkly-vs-posthog.json",
        "title": "LaunchDarkly vs PostHog",
        "url": "https://www.anchorterminal.com/compare/launchdarkly-vs-posthog"
      }
    ],
    "scores": [
      {
        "by": 6,
        "edge": "woopra",
        "key": "reliability",
        "name": "Reliability",
        "posthog": 74,
        "weight": 16,
        "woopra": 80
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 36,
        "edge": "posthog",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "posthog": 81,
        "weight": 13,
        "woopra": 45
      },
      {
        "by": 33,
        "edge": "posthog",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "posthog": 78,
        "weight": 13,
        "woopra": 45
      },
      {
        "by": 62,
        "edge": "posthog",
        "key": "security",
        "name": "Security \u0026 auth",
        "posthog": 84,
        "weight": 14,
        "woopra": 22
      },
      {
        "by": 10,
        "edge": "posthog",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "posthog": 40,
        "weight": 10,
        "woopra": 30
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 80,
        "edge": "posthog",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "posthog": 89,
        "weight": 7,
        "woopra": 9
      },
      {
        "by": 22,
        "edge": "posthog",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "posthog": 83,
        "weight": 7,
        "woopra": 61
      }
    ],
    "summary": "PostHog scores 68.4 (B) on agent readiness against Woopra's 44.4 (E), and leads in 6 of 7 scored categories. Woopra leads on reliability. Both do analytics query.",
    "verdicts": {
      "posthog": "PostHog suits agents that need to query product data and manage flags or experiments. Its hosted MCP server has OAuth scopes, a read-only mode and a one-tool CLI mode over 1,096 tools. The status page shows 31 incidents in 90 days, four on analytics queries, and three security incidents were disclosed in the last year.",
      "woopra": "Woopra's REST API returns saved Trends, Journeys, Retention and Attribution reports, profiles and raw session logs, with published limits of 300 calls a minute and 3,000 a day per project. A report must first be built in the web app, the tracking endpoints accept events without a secret by default, and no changelog or SLA was found."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/posthog-vs-woopra",
    "json": "https://www.anchorterminal.com/compare/posthog-vs-woopra.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/posthog-vs-woopra.md",
    "slim": "https://www.anchorterminal.com/compare/posthog-vs-woopra.min.md"
  },
  "markdown": "PostHog scores 68.4 (B) on agent readiness against Woopra's 44.4 (E), and leads in 6 of 7 scored categories. Woopra leads on reliability. Both do analytics query.\n\n- PostHog: grade B, 68.4/100, rank #204 of 842. Markdown https://www.anchorterminal.com/tools/posthog.md · JSON https://www.anchorterminal.com/api/v1/tools/posthog.json\n- Woopra: grade E, 44.4/100, rank #779 of 842. Markdown https://www.anchorterminal.com/tools/woopra.md · JSON https://www.anchorterminal.com/api/v1/tools/woopra.json\n\n## Which one, for what\n\n### PostHog (B)\n\nGood for: An agent that answers product questions in SQL or with funnel, retention and trends queries, and that manages feature flags, experiments and error tracking in the same project.\n\nAhead on:\n- Schema \u0026 documentation, 81 against 45\n- Agent ergonomics, 78 against 45\n- Security \u0026 auth, 84 against 22\n- Payments \u0026 pricing, 40 against 30\n- Maintenance \u0026 community, 89 against 9\n- Transparency \u0026 trust, 83 against 61\n\nAlso in its favour:\n- Free to start without a card\n- Open source\n\nWatch for: 31 incidents on the status page between 9 July and 6 October 2026, four of them analytics query timeouts or failures\n\n### Woopra (E)\n\nGood for: An agent that reads a company's existing Woopra reports, looks up or edits customer profiles, or exports raw sessions on a schedule.\n\nAhead on:\n- Reliability, 80 against 74\n\nAlso in its favour:\n- No incidents deducted, where PostHog loses 7 points for them\n\nWatch for: Report endpoints run a report saved in the web app by `report_id`. No endpoint to define a query, funnel or segment was found in the reference\n\n\n## Score by category\n\n| Category | Weight | PostHog | Woopra | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 74 | 80 | Woopra +6 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 81 | 45 | PostHog +36 |\n| Agent ergonomics | 13% (16.2 this run) | 78 | 45 | PostHog +33 |\n| Security \u0026 auth | 14% (17.5 this run) | 84 | 22 | PostHog +62 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 40 | 30 | PostHog +10 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 89 | 9 | PostHog +80 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 83 | 61 | PostHog +22 |\n| Negative events | ≤15 | -7 | 0 | |\n| **Total** | | **68.4 · B** | **44.4 · E** | |\n\n## Facts side by side\n\n| Fact | PostHog | Woopra |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | PostHog Inc. | Woopra, Inc. |\n| Hosted endpoint | `https://us.posthog.com` | `https://www.woopra.com/rest/3.10` |\n| Transports | HTTP, Streamable HTTP | HTTP |\n| Auth | OAuth or key | OAuth or key |\n| Pricing | Freemium | Paid |\n| x402 | no | no |\n| Licence | MIT for the repository outside the `ee` directory, which has its own licence. PostHog Cloud is a hosted service under PostHog's terms | Proprietary service under Woopra's terms of service. The browser tracker and the SDKs on GitHub are MIT, and the Node package is ISC |\n| Tools exposed | 1096 | none |\n| Read-only variant documented | yes | no |\n| llms.txt | yes | yes |\n| MCP registry | `io.github.PostHog/mcp` | not listed |\n| Last release | 2026-10-05 | 2026-03-16 |\n| Terms last updated | 2026-06-29 | 2025-12-10 |\n| Privacy policy last updated | 2026-06-29 | 2025-08-01 |\n| Customer content may train models | yes, with an opt-out | not found in the text |\n| Terms restrict automated access | not found in the text | yes |\n| Terms restrict benchmarking | yes | not found in the text |\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 | yes |\n| Popularity | 40k stars, 15.2M npm/wk | 415 npm/wk |\n\n## Verdicts\n\n**PostHog.** PostHog suits agents that need to query product data and manage flags or experiments. Its hosted MCP server has OAuth scopes, a read-only mode and a one-tool CLI mode over 1,096 tools. The status page shows 31 incidents in 90 days, four on analytics queries, and three security incidents were disclosed in the last year.\n\n**Woopra.** Woopra's REST API returns saved Trends, Journeys, Retention and Attribution reports, profiles and raw session logs, with published limits of 300 calls a minute and 3,000 a day per project. A report must first be built in the web app, the tracking endpoints accept events without a secret by default, and no changelog or SLA was found.\n\n## Before you call either\n\n### PostHog\n\n1. Add `?readonly=true` or the `x-posthog-read-only` header to the MCP URL unless the task needs writes\n2. Pin the session with `x-posthog-project-id`, which also removes the `switch-project` and `switch-organization` tools\n3. In CLI mode run `info \u003ctool\u003e` once before `call`, and send one `exec` command per request\n4. On a 429 with code `api_queries_budget_exceeded`, wait for `Retry-After` and read `X-PostHog-Query-Budget-Remaining-Bytes`\n5. Page SQL results by keyset on `timestamp`. `OFFSET` returns 400 for personal API keys, and results cap at 50,000 rows\n\n### Woopra\n\n1. Ask the owner to build and save each report in the web app first, then pass the last path segment of its URL as `report_id`\n2. Authenticate REST calls with HTTP Basic, using the App ID and Secret Key from the Access Keys tab, against `https://www.woopra.com/rest/3.10/`\n3. Stay under 300 calls a minute, 600 an hour and 3,000 a day per project. A 429 carries no documented retry interval, so back off on your own schedule\n4. Reuse the `snapshot` ID from the first response when paging with `offset`, or pages past 1,000 records may not agree\n5. Send `cookie` or a `cv_` identifier such as `cv_email` on every track call. Without one the event lands on a random profile that can't be identified later\n6. When reading `/logs/export`, delete the profile named in each `type: \"delete\"` line. The following lines log its data again under `new_id`\n\n## Questions\n\n### Which is better for AI agents, PostHog or Woopra?\n\nPostHog scores 68.4 (B) on agent readiness against Woopra's 44.4 (E), and leads in 6 of 7 scored categories. Woopra leads on reliability.\n\n### Do PostHog and Woopra need an API key?\n\nBoth take an API key or an OAuth sign-in.\n\n### Can an agent call PostHog and Woopra without installing anything?\n\nYes. PostHog has a hosted endpoint at https://us.posthog.com and Woopra at https://www.woopra.com/rest/3.10.\n\n### Are PostHog and Woopra open source?\n\nPostHog is open source (MIT for the repository outside the `ee` directory, which has its own licence. PostHog Cloud is a hosted service under PostHog's terms). No open-source release is listed for Woopra.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/posthog-vs-woopra.json, and with the fewest tokens: https://www.anchorterminal.com/compare/posthog-vs-woopra.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"posthog\", \"b\": \"woopra\"}`. From a terminal: `anchor compare posthog woopra`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/posthog.json and https://www.anchorterminal.com/api/v1/tools/woopra.json\n\n## Other comparisons with PostHog or Woopra\n\n- [Amplitude vs PostHog](https://www.anchorterminal.com/compare/amplitude-vs-posthog.md)\n- [Amplitude vs Woopra](https://www.anchorterminal.com/compare/amplitude-vs-woopra.md)\n- [Countly vs PostHog](https://www.anchorterminal.com/compare/countly-vs-posthog.md)\n- [Countly vs Woopra](https://www.anchorterminal.com/compare/countly-vs-woopra.md)\n- [Fullstory vs PostHog](https://www.anchorterminal.com/compare/fullstory-vs-posthog.md)\n- [Fullstory vs Woopra](https://www.anchorterminal.com/compare/fullstory-vs-woopra.md)\n- [GrowthBook vs Woopra](https://www.anchorterminal.com/compare/growthbook-vs-woopra.md)\n- [Mixpanel vs PostHog](https://www.anchorterminal.com/compare/mixpanel-vs-posthog.md)\n- [Mixpanel vs Woopra](https://www.anchorterminal.com/compare/mixpanel-vs-woopra.md)\n- [Optimizely Experimentation vs Woopra](https://www.anchorterminal.com/compare/optimizely-vs-woopra.md)\n- [Pendo vs PostHog](https://www.anchorterminal.com/compare/pendo-vs-posthog.md)\n- [Pendo vs Woopra](https://www.anchorterminal.com/compare/pendo-vs-woopra.md)\n- [PostHog vs Statsig](https://www.anchorterminal.com/compare/posthog-vs-statsig.md)\n- [Statsig vs Woopra](https://www.anchorterminal.com/compare/statsig-vs-woopra.md)\n- [Heap vs PostHog](https://www.anchorterminal.com/compare/heap-vs-posthog.md)\n- [Heap vs Woopra](https://www.anchorterminal.com/compare/heap-vs-woopra.md)\n- [GrowthBook vs PostHog](https://www.anchorterminal.com/compare/growthbook-vs-posthog.md)\n- [Optimizely Experimentation vs PostHog](https://www.anchorterminal.com/compare/optimizely-vs-posthog.md)\n- [LaunchDarkly vs PostHog](https://www.anchorterminal.com/compare/launchdarkly-vs-posthog.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-09",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.4",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Compare",
        "url": "https://www.anchorterminal.com/compare/"
      },
      {
        "name": "PostHog vs Woopra",
        "url": ""
      }
    ],
    "description": "PostHog scores 68.4 (B) on agent readiness against Woopra's 44.4 (E), and leads in 6 of 7 scored categories. Woopra leads on reliability. Both do analytics query. Category scores, facts, verdicts and agent notes side by side.",
    "facts": [
      "PostHog B 68.4",
      "Woopra E 44.4",
      "scores"
    ],
    "h1": "PostHog vs Woopra",
    "image": "https://www.anchorterminal.com/assets/og/compare-posthog-vs-woopra.png",
    "path": "/compare/posthog-vs-woopra",
    "published": "2026-10-01",
    "section": "tools",
    "title": "PostHog vs Woopra for AI agents, B 68.4 vs E 44.4 | Anchor Terminal",
    "toc": null,
    "updated": "2026-10-09",
    "url": "https://www.anchorterminal.com/compare/posthog-vs-woopra"
  },
  "tokens": {
    "markdown": 2400,
    "slim": 780
  },
  "version": 1
}
