Skip to content

This is what an AI agent reads on our site. Most product sites look like noise here. Ours is built to be read.

≈ 3,625 tokens · 25 links · served as text/markdown

GET /index.md
# Opusgen > Opusgen is analytics for software whose users are AI agents. ## See what AI agents do with your product. Opusgen tracks the coding agents that read your docs, sign up and call your API. See where they fail and what it costs you, then prove each fix in a sandbox before you ship. - [Get your free Agent Report](/#get-report)- [Explore the demo](/demo) Free for developer tools. The report needs no integration. [The free Agent Report for developer tools: see a sample](/#report) ### Postbox · Agents · Overview (Illustrative data, last 30 days) - Agent sessions: 48,210 (+31%)- Agent share of signups: 58% (+9 pts)- First working call: 43% (−6 pts)- Agent-sourced MRR: $38.4k (+$6.1k) - Top failure: 403 on first send, 38% of failed agent tasks (`POST /v1/send`) | Time | Agent | Surface | Request | Status || --- | --- | --- | --- | --- || 14:02:37 | `claude-code` | signup | `POST /signup` | 201 || 14:02:31 | `gemini-cli` | mcp | `tools/call send_email` | ok || 14:02:20 | `cursor` | api | `POST /v1/send` | 403 || 14:02:19 | `cursor` | api | `POST /v1/send` | 403 || 14:02:14 | `codex` | api | `POST /v1/api-keys` | 201 || 14:02:11 | `claude-code` | docs | `GET /docs/quickstart.md` | 200 | Identifies the agents your users already run: `claude-code`, `codex`, `cursor`, `gemini-cli`, `chatgpt-agent`, `any MCP client`. Every request is matched to the agent that sent it, by cryptographic signature, MCP client name, user agent or SDK tag. Each label carries a confidence score. identify.log (Illustrative data): ```text14:02:11.204 agent=claude-code via=user-agent+sdk conf=0.95 req="POST /v1/send"14:02:12.871 agent=codex via=user-agent+sdk conf=0.96 req="POST /v1/api-keys"14:02:14.033 agent=cursor via=mcp.clientInfo conf=0.97 req="tools/call send_email"14:02:15.590 agent=gemini-cli via=user-agent conf=0.91 req="GET /llms.txt"14:02:17.112 agent=chatgpt-agent via=signature conf=0.99 req="GET /pricing"14:02:18.447 agent=mcp-client via=mcp.clientInfo conf=0.84 req="tools/list"``` ## Your dashboard logged a signup. The agent installed a competitor. Agents don't click, scroll or file tickets. They read your docs as text, call your API, hit an error and switch vendors in a few minutes. Click-based analytics records one healthy signup and nothing else. **Your product analytics:** 1 new signup. Page views 0 · Clicks 0 · Session length 0:00 · Support tickets 0. Account status: Healthy. **What the agent actually did** (`cursor`, 4 min 12 s): | Time | Event || --- | --- || 0:00 | Reads four docs pages as Markdown (`GET /docs/quickstart.md`) || 0:41 | Creates an account through your API (`POST /v1/accounts · 201`) || 0:58 | First call returns `403 Forbidden` (`POST /v1/send · 403`) || 1:06 | Retries four times, same error (`POST /v1/send · 403 ×4`) || 2:30 | **Installs a competitor instead** (`npm install relaymail`) || 4:12 | Tells its user: "Done." (`Session ends`) | **1 customer lost.** Your dashboard still says: healthy. _Illustrative session. Relaymail is a fictional vendor._ ## Agents became the majority user of developer software in 2026. It took six months and reached every industry in Mintlify's data. Most of these visitors never render a page, so a pageview-based dashboard counts almost none of them. - **66%** of traffic on Mintlify-hosted docs came from agents in July 2026, up from 15% in January.[^1]- **213M** agent requests against 105M human page loads on Mintlify-hosted docs in July 2026.[^1]- **70%** of new Supabase databases are created by agents or AI-driven tools.[^2]- **80%+** of databases provisioned on Neon were created by AI agents.[^3] ### Fig. 1 · Agent share of docs traffic, by industry Agent share of docs traffic on Mintlify-hosted docs, by industry, February to August 2026.[^4] Agents outnumber humans above 50%. | Industry | February 2026 | August 2026 || --- | --- | --- || Fintech & payments | 20.5% | 70% || Crypto & web3 | 24.6% | 62.5% || Agent platforms & AI tooling | 13% | 47.3% || AI coding tools | 12.3% | 46.8% || AI models & inference | 9.1% | 41.4% || Dev infrastructure & data | 15.5% | 37.9% || SaaS & business apps | 14.4% | 34.4% | The work has a name now. Microsoft defined agent experience (AX) by two measures: whether an agent chooses you, and whether it uses you correctly. Netlify open-sourced AXIS to score it.[^5][^6] ## Agents are invisible in production, but perfectly testable in a sandbox. Opusgen runs two engines. A production pipeline records what agents did on your docs, API, MCP server and signup. An agent lab runs real coding agents against you every night to show why. Both feed one diagnosis. - **Production pipeline** (what agents did): Docs, API, MCP, Signup, Billing- **Agent lab** (why they did it): 5 agents, 50 tasks, Nightly sandboxes- **Diagnosis**: Failure clusters, Fix pull requests, Verified lift ### Know which agent sent every request. Add a few lines at your docs edge, API gateway, MCP server and signup flow. Signed agents, MCP client names, declared user agents and SDK tags tell us which agent sent each request, and how sure we are. - Cryptographic agent signatures (Web Bot Auth) are verified[^7]- MCP client names and SDK tags are read on every call- Every label carries a confidence score _Illustrative data._ `POST /v1/api-keys` → agent `claude-code`, harness `terminal`, surface `api`, account `acct_8f2c`, confidence 0.94. ### Follow every agent-started account to revenue. We stitch docs reads, signups, keys and calls into one journey per account, and keep the agent attribution all the way through billing. Split the funnel by agent and see where each one drops. Leadership gets one number for the board: agent-sourced revenue. Agent funnel, agent-started accounts · last 30 days (Illustrative data): | Step | All agents | `claude-code` | `codex` | `cursor` | `gemini-cli` || --- | --- | --- | --- | --- | --- || Docs read | 4,210 | 1,630 | 1,120 | 940 | 520 || Signup | 1,860 | 760 | 498 | 372 | 230 || API key | 1,420 | 610 | 382 | 266 | 162 || First working call | 610 | 318 | 150 | 72 | 70 || Paid | 92 | 47 | 22 | 11 | 12 | ### Find out why they fail before your customers do. Every night, real coding agents run realistic tasks in sandboxes against you and your category. We grade whether the agent picked you, whether the code worked, and how many turns, tokens and minutes it took. Failures cluster by cause and point at the page, error or tool behind them. _Illustrative data._ Picked Postbox: 18% · Code worked: 72% · Median turns: 14 · Median time: 4.2 min. **Failure clusters:** - 403 on first send: 38% (`src/errors.ts`)- Deprecated SDK call: 24% (`/docs/quickstart`)- MCP schema mismatch: 14% (`tools/send_email`) ### Ship the fix with the proof attached. Opusgen opens a pull request against your docs, error messages or MCP tool descriptions. It reruns the lab on your preview deploy and posts the lift before you merge. _Illustrative data._ postbox/api #214: "Name the missing scope in 403 errors" in `src/errors.ts`. ```diff- throw new ApiError(403, "Forbidden");+ throw new ApiError(403, "This key can't send email. Add the send:email scope at /settings/keys.");``` Lab success rate: 72% → 90%. ### Model-release alerts A new model ships overnight. By morning you know if agents still succeed with you. ### Warehouse export Agent events and revenue land in Snowflake or BigQuery next to your own data. ## Find out if agents pick you. The free Agent Report runs real coding agents on 50 tasks in your category, across five popular stacks. You see who they choose, how often they succeed with you, why they skipped you, and the one fix that would move you most. ### Sample report · fictional vendors and numbers #### Email APIs | Vendor | Share of agent picks || --- | --- || Relaymail | 41% || Sendwell | 27% || Postbox (you) | 18% || Letterkit | 14% | **Success when named:** 64% **Why agents skipped you:** - Quickstart calls a deprecated `send()` signature: 34% of runs- `403` on first send with the default key scope: 29% of runs- Docs served as HTML only, so agents ran out of context: 18% of runs **The fix that would move you most:** Return a 403 that names the missing scope and links to the fix. Lab rerun: +9 pts pick share. #### Auth | Vendor | Share of agent picks || --- | --- || Gatewise | 38% || Passlane (you) | 29% || Tokenhaus | 21% || Keyward | 12% | **Success when named:** 71% **Why agents skipped you:** - Next.js example targets the old Pages Router: 31% of runs- Callback URL error doesn't say which URL is wrong: 22% of runs- No MCP tool to create a test user: 14% of runs **The fix that would move you most:** Update the Next.js quickstart to the App Router. Lab rerun: +7 pts pick share. #### Databases | Vendor | Share of agent picks || --- | --- || Rowstack (you) | 36% || Tablefin | 33% || Shardly | 19% || Datavale | 12% | **Success when named:** 77% **Why agents skipped you:** - Connection string format in the docs is out of date: 26% of runs- Free-tier limits aren't stated in the docs: 19% of runs- CLI login needs a browser, so agents stall: 15% of runs **The fix that would move you most:** Add a non-interactive `--token` flag to `rowstack login`. Lab rerun: +6 pts pick share. [Get your real report](/#get-report) ## Live in an afternoon. Three small changes on your side. No client-side script, and nothing your users ever see. 1. **Add the edge snippet.** One middleware in front of your docs and API.2. **Wrap your MCP server.** Tool calls arrive with the client's name attached.3. **Connect billing.** Agent-started accounts carry through to revenue. #### Next.js ```ts// proxy.tsimport { opusgen } from "@opusgen/next"; export default opusgen({ key: process.env.OPUSGEN_KEY });``` #### Cloudflare Worker ```ts// worker.tsimport { withOpusgen } from "@opusgen/cloudflare";import app from "./app"; export default withOpusgen(app, { keyBinding: "OPUSGEN_KEY" });``` #### MCP server ```ts// mcp-server.tsimport { withOpusgen } from "@opusgen/mcp"; const server = withOpusgen(createServer(), {  key: process.env.OPUSGEN_KEY,});``` #### FastAPI ```python# main.pyimport os from fastapi import FastAPIfrom opusgen.fastapi import OpusgenMiddleware app = FastAPI()app.add_middleware(OpusgenMiddleware, key=os.environ["OPUSGEN_KEY"])``` ### What we see, and what we never see **We see:** - Requests to your docs, API, MCP server and signup- Which agent sent each one, and how sure we are- The account and billing events you connect **We never see:** - Prompts, or the conversation between a person and their agent- PII. It is redacted at ingest, and you control retention Not owned by any model provider. Every agent is measured the same way. [SECURITY_STATUS] ## Start with a free report. _Pricing is in beta._ | Tier | Price | For | Includes || --- | --- | --- | --- || Free | $0 | Seeing where you stand | Monthly Agent Report for one category || **Growth** (Most teams start here) | from [GROWTH_PRICE]/mo | Teams with live agent traffic | Production telemetry, Weekly lab runs, Alerts || Scale | Custom | Companies where agents drive revenue | Nightly lab, Benchmarks, Fix pull requests, Warehouse export || Enterprise | Custom | Multiple products | Custom task suites, SSO, Data residency | ## Common questions ### Is this SEO or GEO? No. GEO tools measure what chatbots say about your brand. Opusgen measures whether agents can actually use your product, and what that is worth. ### How do you know a request came from an agent? We combine cryptographic signatures, declared clients, MCP client names, SDK tags and behavior, give every label a confidence score, and attribute at the account level. ### Do you see my users' prompts? No. We see requests to your product, never the conversation between a person and their agent. ### Which agents do you support? [SUPPORTED_AGENTS]. Coding agents first, then browser agents and any MCP client. ### How is this different from LangSmith or PostHog? Those observe agents you build, or humans in your UI. Opusgen measures outside agents using your product. ### Do I need to change my product? Usually not. Most fixes land in docs, error messages and MCP tool descriptions. ### What's in the free report? Your pick rate against your category, your success rate when named, your top three failure causes, and one concrete fix. ### Will you show agents different content than humans? No. We improve the content both read. We never cloak. ## See your product the way agents do. Tell us where to look. We'll run the agents and send your report. Your report shows: - Your pick rate against your category- Your success rate when agents ask for you by name- Your top three failure causes- One concrete fix, tested in the lab The form asks for: - Work email- Product or docs URL- Category, one of: Email & messaging, Auth, Databases & backend, Search & data APIs, Observability, Other [Get my free Agent Report](/#get-report) By requesting a report you agree to our [privacy policy]([PRIVACY_URL]). --- Opusgen. Analytics for software whose users are AI agents. **Product:** [How it works](/#how) · [Demo](/demo) · [Agent Report](/#report) · [Install](/#install) · [Pricing](/#pricing) **Company:** [About]([PLACEHOLDER]) · [Careers]([PLACEHOLDER]) · [Contact](mailto:[CONTACT_EMAIL]) **For agents:** [/llms.txt](/llms.txt) · [/llms-full.txt](/llms-full.txt) · [/index.md](/index.md) · [Agent View](/?view=agent) Built to be read by agents. Every word and number on this page is also served as Markdown, for the agents that read it. [^1]: Mintlify, "State of docs traffic." https://www.mintlify.com/blog/state-of-docs-traffic[^2]: PR Newswire, "Supabase announces $150M in new funding and Turso acquisition." https://www.prnewswire.com/news-releases/supabase-announces-150m-in-new-funding-and-turso-acquisition-302896752.html[^3]: TechCrunch, "Databricks on AI agents creating Neon databases, May 2025." https://techcrunch.com/?p=3007047[^4]: Mintlify, "Agent share of docs traffic by industry." https://www.mintlify.com/data[^5]: Microsoft, "What is agent experience (AX)?." https://developer.microsoft.com/blog/what-is-agent-experience-ax/[^6]: Netlify, "AXIS, an open framework for scoring agent experience." https://github.com/netlify/axis[^7]: Cloudflare, "Signed agents." https://blog.cloudflare.com/signed-agents/