Free access to conversion rate benchmarks across 10 verticals. No authentication required for read access. Aggregate and anonymised.
Returns CVR percentile distribution and top winning experiment mechanisms for a vertical, sourced from the live Noetis experiment network.
verticalstringOne of: saas, ecommerce, agency, finance, health, fitness, education, consulting, all
Default: saas
Example request
cURL
Response (200) — shape only; values are placeholders, not network data
{
"vertical": "saas",
"vertical_label": "B2B SaaS",
"benchmark_unavailable": null,
"benchmark": {
"p10": 0.004, "p25": 0.009, "p50": 0.018, "p75": 0.031, "p90": 0.052,
"sample_sites": 0,
"sample_events": 0,
"data_quality": "earned",
"updated_at": "2026-01-01T00:00:00Z",
"is_fallback": false
},
"mechanisms": [
{
"section_type": "CTA",
"label": "Call-to-action copy",
"win_rate": 0,
"avg_lift": 0,
"site_count": 0
}
],
"network": {
"total_experiments": 0,
"total_wins": 0,
"avg_lift_pct": 0
},
"generated_at": "2026-01-01T00:00:00Z"
}benchmark.p10 … benchmark.p90number | nullCVR percentiles for the vertical, as fractions (0.018 = 1.8%). The whole object is null while too few real sites contribute.
benchmark_unavailableobject | nullSet (with a reason and a message) exactly when benchmark is null. Absent is never reported as zero.
mechanisms[].section_typestringExperiment type key: CTA, headline, hero, copy, layout, social_proof, pricing, form, trust
mechanisms[].win_ratenumberPercentage of completed experiments of this type that won (0–100).
mechanisms[].avg_liftnumberAverage relative lift (%) across winning experiments of this type.
mechanisms[].site_countnumberDistinct sites contributing. A mechanism is listed only when ≥5 sites contribute (k-anonymity).
network.total_experimentsnumberTotal experiments in the Noetis network (all verticals, all outcomes).
network.total_winsnumberWinning experiments behind network.avg_lift_pct.
network.avg_lift_pctnumberAverage relative lift (%) across all winning experiments; 0 when total_wins is 0.
400Unknown vertical. See supported list above.
429Rate limit exceeded (20 requests / 60 seconds per IP). Retry after 1 minute.
500Internal error. Retry with exponential backoff.
Rate limits
* API key authentication coming Q3 2026. Email chris@noetis.nl for early access.
Authentication
The /benchmark endpoint is public and requires no authentication. Future endpoints for site-level data and custom vertical queries will require an API key.
Use cases