New: the hosted MCP server is live. Connect your agent in one command.Read the docs →
StackResolve logoStackResolve

Compare

Heap vs PostHog

PostHog scores higher on the AgentReady, 67/100 against 42/100. They differ on 12 of the 41 signals. Which ones decides whether an agent can adopt them without a person watching.

What each one is

Heap. Heap is a digital analytics platform that automatically captures every user interaction to help companies understand customers' end-to-end journeys, improve conversion and activation, increase retention, and deliver great user experiences.

PostHog. PostHog is a product analytics platform that helps teams understand customer behavior, automatically diagnose problems, fix bugs, and generate pull requests.

Where Heap is ahead

Heap passes fast time to first request and copyable quickstart, and PostHog does not. That is adopt, whether an agent can get a key and make its first successful call without a human in the loop.

Where PostHog is ahead

PostHog passes public docs discoverable, llms.txt published and mcp discoverable, and Heap does not. That is discover, whether an agent can find the product at all without being told it exists.

It also holds understand: authentication documented and limits / constraints documented. Heap misses those.

And on adopt, no mandatory sales call, agent-compatible signup flow, cli available and mcp integration available. Heap misses those.

Finally, on operate, agent compatibility verified. Heap misses it.

What neither does

Both fail llms-full.txt / full agent docs, structured api reference, openapi / spec quality, request examples provided, response examples provided, errors and status codes documented, programmatic credential creation, structured, predictable output, machine-readable errors, retry behavior documented, idempotency support, rate-limit behavior predictable. If your agent needs any of those, you will be building it yourself either way.

Score, pillar by pillar

The AgentReady splits into four pillars, scored separately, because a product can be easy to find and still impossible to adopt.

Discover is whether an agent can find the product at all without being told it exists. PostHog leads 93 to 60. Heap misses public docs discoverable, llms.txt published, llms-full.txt / full agent docs, mcp discoverable; PostHog misses llms-full.txt / full agent docs.

Understand. PostHog leads 38 to 23. Heap misses structured api reference, openapi / spec quality, authentication documented, request examples provided, response examples provided, errors and status codes documented, limits / constraints documented; PostHog misses structured api reference, openapi / spec quality, request examples provided, response examples provided, errors and status codes documented.

Adopt. PostHog leads 81 to 50. Heap misses no mandatory sales call, agent-compatible signup flow, programmatic credential creation, cli available, mcp integration available; PostHog misses programmatic credential creation, fast time to first request, copyable quickstart.

Operate. PostHog leads 56 to 35. Heap misses structured, predictable output, machine-readable errors, retry behavior documented, idempotency support, rate-limit behavior predictable, agent compatibility verified; PostHog misses structured, predictable output, machine-readable errors, retry behavior documented, idempotency support, rate-limit behavior predictable.

Pricing

Heap does not publish a machine-readable starting price and has a free tier. PostHog starts at $0.00005/event and has a free tier.

Heap plansPostHog plans
Free $0Free $0/mo
Growth CustomProduct Analytics $0.00005/event
Pro Custom Session PricingSession Replay $0.005/recording
Premier Custom Session PricingFeature Flags $0.0001/request
-Managed warehouse $0.000015/row

Signal by signal

SignalHeapPostHog
AgentReady4267
Discovery6093
Understanding2338
Adoption5081
Operability3556
Public APIYesYes
MCP serverNoYes
OpenAPI specUnknownUnknown
CLIUnknownYes
llms.txtUnknownYes
Self-serve signupYesYes
Free tierYesYes

Which to pick

PostHog clears more of the signals an agent needs, so it is the safer default for unattended use. Full profiles: Heap and PostHog. Alternatives to each: Heap, PostHog.

An agent can fetch this as data: POST /v1/compare {"slugs": ["heap", "posthog"]}