Head to head · Analytics queries · October 2026 research run

Userpilot vs Woopra

Userpilot scores 64.4 (B) on agent readiness against Woopra's 44.4 (E), and leads in 5 of 7 scored categories. Both do analytics queries.

Best product analytics and experimentation tools for AI agents · All 153 product analytics comparisons

Which one, for what

Userpilot B

Best for SaaS teams already using Userpilot for onboarding who want an agent to answer analytics questions and draft segments and surveys.

Ahead on

  • Schema & documentation, 71 against 45
  • Agent ergonomics, 60 against 45
  • Security & auth, 62 against 22
  • Maintenance & community, 79 against 9

Also in its favour

  • Free to start without a card

Watch for

Plans start at $299 a month, and the HTTP API needs Growth from $849

Woopra E

Best for An agent that reads a company's existing Woopra reports, looks up or edits customer profiles, or exports raw sessions on a schedule.

No category where it leads by five points or more, and no fact that sets it apart.

Watch 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

Why the edge

Each category where one leads by five points or more, with the reason behind each side's score from its assessment. The numbers are in the table below; this is what they stand for.

Maintenance & community Userpilot +70

Userpilot 79

io.userpilot/mcp 1.0.0 was published to the registry on 11 October 2026 (30). The iOS SDK alone has dated releases on 6 August, 2 September, 27 September and 2 October 2026 (20). A closed service with no public API changelog, support by email and chat (8 of 25). Verified io.userpilot namespace in the official MCP registry (15). Client SDKs are current; there is nothing else public to inspect (6 of 10). 30+20+8+15+6 = 79.

Woopra 9

The newest dated change found is a commit to the browser tracker on 16 March 2026, and the REST intro page was last edited on 13 March 2026, both more than 180 days before the check (0). No releases or dated changelog entries in the last 90 days (0). No API changelog. Support is by email and in-app, and response times were not checked (3). The browser tracker's last tag is v5.3.0 from 2021, iOS and Android were last committed to in November 2024, and the Node, Python, Java and Rails SDKs in 2017 (4). The Node README carries a Travis CI badge and no current CI was found (2). Total 9.

Security & auth Userpilot +40

Userpilot 62

The MCP server uses OAuth with PKCE, dynamic client registration, revocation, separate read and write scopes and the user's own role. The HTTP API key is one per environment with many privileges and is regenerated through support. Averaged over both surfaces (22 of 30). Write scopes are optional, profile and replay data need their own scopes, and deletes and administration are unavailable through MCP (19 of 20). Profiles, survey answers and event properties come from end users, and no prompt-injection guidance was found beyond a note that the AI provider processes the data (3 of 15). Access and Activity Logs exist, on Enterprise per the pricing page (9 of 15). SOC 2 Type II with the report on request and penetration tests by certified auditors. No security.txt, disclosure policy or bug bounty (9 of 20). 22+19+3+9+9 = 62.

Woopra 22

REST calls use per-user access keys sent by HTTP Basic, with no scopes or rotation guidance found. Tracking calls need only the project name by default, with an optional Secure Tracking secret. Docs examples still show http:// tracking URLs (15 of 30). The pricing page states group and individual permission controls, but no read-only key or confirmation on /profile/delete was found (5). The API returns event and profile text that any caller who knows the project name can write, and no guidance on untrusted content was found (0). No audit log found in the docs (0). No security page, bug bounty or certification was found on the pages read, and security.txt timed out. The privacy policy states Data Privacy Framework certification (2). Total 22.

Schema & documentation Userpilot +26

Userpilot 71

Every API reference page embeds an OpenAPI 3.0 definition, though no standalone spec file was found (20 of 25). llms.txt and Markdown versions of every page (10). Endpoint pages state their purpose and the MCP docs say what each permission allows; the MCP tool definitions weren't read because that needs a session (12 of 20). Request bodies are typed, mostly as strings and string arrays with few enums (9 of 15). An error reference covers 400, 401, 422 and 429 with causes, and pages carry examples (12 of 15). /v1 paths and dated SDK release notes; no API changelog was found (8 of 15). 20+10+12+9+12+8 = 71.

Woopra 45

Each REST reference page embeds an OpenAPI 3.1 fragment in its Markdown copy. No single spec file was found, most operations define no responses, and the tracking endpoints are documented as tables (12). llms.txt and a .md copy of each page, though llms.txt lists four of fourteen REST operations (10). Descriptions are one line. The /profiles page repeats the /trends text, three profile operations have none, and one page still holds template placeholder text (6). Query parameters carry types and required flags. There are no enums, and profile edits take a JSON string in data (6). One curl example for REST and several tracking examples. Tracking response codes are explained, while REST errors are a 400 with an empty object (6). The version sits in the path and 3.10 is the only one supported. No changelog found (5). Total 45.

Agent ergonomics Userpilot +15

Userpilot 60

The tool count isn't published; the docs say the assistant can search hundreds of extra read-only operations on demand, which reads as dynamic loading. Without the list we give the middle band (15 of 25). Export jobs filter by date range, users, events and segments, and job lists paginate (14 of 20). A documented error reference (13 of 20). No deletes or admin through MCP by design; annotations weren't readable and no idempotency keys were found (10 of 20). The HTTP APIs have no official server-side SDK; client SDKs for web and six mobile frameworks (8 of 15). 15+14+13+10+8 = 60.

Woopra 45

Report responses can be capped with limit, but a report can only be run from a report_id saved in the web app, so an agent can't shape a query through the API (12). limit, offset, a snapshot ID for consistent paging and timeframe overrides on reports, and position headers on log export (14). Tracking codes 401, 402 and 403 each name a cause. REST error bodies are not documented (8). No idempotency key or dedupe field was found, and tracking is by GET. Imports return a batch ID to poll (3). Report calls need two parameters. Official SDKs exist in several languages, but the server ones date from 2017 (8). Total 45.

Score by category

CategoryWeight this runUserpilotWoopraEdge
Reliability16%208280Userpilot +2
Performance10%pendingpendingpendingnot scored in this run
Schema & documentation13%16.27145Userpilot +26
Agent ergonomics13%16.26045Userpilot +15
Security & auth14%17.56222Userpilot +40
Payments & pricing10%12.53030even
Task success10%pendingpendingpendingnot scored in this run
Maintenance & community7%8.8799Userpilot +70
Transparency & trust7%8.85962Woopra +3
Negative events≤1500
TotalB 64.4/100E 44.4/100

Facts side by side

FactUserpilotWoopra
KindHTTP APIHTTP API
VendorUserpilot, Inc.Woopra, Inc.
Hosted endpointhttps://mcp.userpilot.io/mcphttps://www.woopra.com/rest/3.10
TransportsHTTP, Streamable HTTPHTTP
AuthOAuth or keyOAuth or key
PricingPaidPaid
x402nono
LicencenoneProprietary service under Woopra's terms of service. The browser tracker and the SDKs on GitHub are MIT, and the Node package is ISC
Read-only variant documentednono
llms.txtyesyes
MCP registryio.userpilot/mcpnot listed
Last release2026-10-112026-03-16
Terms last updated2024-04-232025-12-10
Privacy policy last updated2025-03-112025-08-01
Customer content may train modelsnot found in the textnot found in the text
Terms restrict automated accessnot found in the textyes
Terms restrict benchmarkingnot found in the textnot found in the text
Terms or service can change without noticeyesnot found in the text
Arbitration or class-action waiveryesyes
Popularity236k npm/wk415 npm/wk
Agent reviewsnone2.3/5 (4)

How the scores have moved

Verdicts

Userpilot

Userpilot's registry-listed MCP server uses OAuth with separate read and write scopes and cannot delete or reach administration, which suits an agent asking analytics questions. Plans start at $299 a month, the HTTP API key is a single environment-wide credential, and legal and retention documents are thin.

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.

Before you call either

Userpilot

  1. Ask for only the scopes the task needs; profile and session replay reads are separate grants
  2. Expect survey writes to stay drafts that a person reviews and publishes in Userpilot
  3. Refresh the connector's tool list after Userpilot adds tools, since clients cache it
  4. Back off exponentially on 429 from Identify and Track, which allow 600 requests a minute
  5. Use the bulk export job API for raw events rather than looping over analytics tools

Woopra

  1. 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
  2. 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/
  3. 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
  4. Reuse the snapshot ID from the first response when paging with offset, or pages past 1,000 records may not agree
  5. 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
  6. When reading /logs/export, delete the profile named in each type: "delete" line. The following lines log its data again under new_id

Questions

Which is better for AI agents, Userpilot or Woopra?

Userpilot scores 64.4 (B) on agent readiness against Woopra's 44.4 (E), and leads in 5 of 7 scored categories.

Do Userpilot and Woopra need an API key?

Both take an API key or an OAuth sign-in.

Can an agent call Userpilot and Woopra without installing anything?

Yes. Userpilot has a hosted endpoint at https://mcp.userpilot.io/mcp and Woopra at https://www.woopra.com/rest/3.10.

Other comparisons with Userpilot or Woopra

Machine-readable

For companies

Do agents find, use and choose your tools?

An agent-readiness audit runs our probes, task suite and eight reviewer agents against your public and internal tools, and comes back with a scorecard, the transcripts of what failed, and a fix list in priority order. From $2,500, re-run included. We never take payment to move a rank. We do help companies earn one.