Heap vs June
Heap scores higher on the AgentReady, 42/100 against 39/100. They differ on 7 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.
June. June was a product analytics tool for B2B SaaS companies, focused on helping companies build better products and prevent customer churn.
Where Heap is ahead
Heap passes search discoverable, and June does not. That is discover, whether an agent can find the product at all without being told it exists.
It also holds adopt: self-service signup and fast time to first request. June misses those.
And on operate, observable execution. June misses it.
Where June is ahead
June passes public docs 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 adopt: no mandatory sales call and agent-compatible signup flow. Heap misses those.
What neither does
Both fail llms.txt published, llms-full.txt / full agent docs, mcp discoverable, structured api reference, openapi / spec quality, authentication documented, request examples provided, response examples provided, errors and status codes documented, limits / constraints documented, programmatic credential creation, cli available, mcp integration available, structured, predictable output, machine-readable errors, retry behavior documented, idempotency support, rate-limit behavior predictable, agent compatibility verified. 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. Both sit at 60/100 here. Heap misses public docs discoverable, llms.txt published, llms-full.txt / full agent docs, mcp discoverable; June misses search discoverable, llms.txt published, llms-full.txt / full agent docs, mcp discoverable.
Understand. Both sit at 23/100 here. Heap misses structured api reference, openapi / spec quality, authentication documented, request examples provided, response examples provided, errors and status codes documented, limits / constraints documented; June misses structured api reference, openapi / spec quality, authentication documented, request examples provided, response examples provided, errors and status codes documented, limits / constraints documented.
Adopt. Both sit at 50/100 here. Heap misses no mandatory sales call, agent-compatible signup flow, programmatic credential creation, cli available, mcp integration available; June misses self-service signup, programmatic credential creation, fast time to first request, cli available, mcp integration available.
Operate is whether an agent can run against it in production and recover when a call fails. Heap leads 35 to 24. Heap misses structured, predictable output, machine-readable errors, retry behavior documented, idempotency support, rate-limit behavior predictable, agent compatibility verified; June misses structured, predictable output, machine-readable errors, retry behavior documented, idempotency support, rate-limit behavior predictable, observable execution, agent compatibility verified.
Pricing
Heap does not publish a machine-readable starting price and has a free tier. June does not publish one with no free tier.
| Heap plans | June plans |
|---|---|
| Free $0 | - |
| Growth Custom | - |
| Pro Custom Session Pricing | - |
| Premier Custom Session Pricing | - |
Signal by signal
| Signal | Heap | June |
|---|---|---|
| AgentReady | 42 | 39 |
| Discovery | 60 | 60 |
| Understanding | 23 | 23 |
| Adoption | 50 | 50 |
| Operability | 35 | 24 |
| Public API | Yes | Yes |
| MCP server | No | No |
| OpenAPI spec | Unknown | Unknown |
| CLI | Unknown | Unknown |
| llms.txt | Unknown | Unknown |
| Self-serve signup | Yes | No |
| Free tier | Yes | No |
Which to pick
Heap clears more of the signals an agent needs, so it is the safer default for unattended use. Full profiles: Heap and June. Alternatives to each: Heap, June.
An agent can fetch this as data: POST /v1/compare {"slugs": ["heap", "june"]}