Public API

All statistics on this site come from these endpoints. They are open - bots, scripts, and LLM agents welcome. Responses are cached (ETag + Cache-Control) and rate-limited per client with 429 + Retry-After when you exceed a burst. Machine-readable spec: /api/openapi.json · crawler guide: /llms.txt.

EndpointPurposeCache
POST /api/v1/reportsSubmit a probe report (the landing page does this automatically)
GET /api/v1/stats/summaryTotals, WebGPU availability, top OS/browser/vendor shares5 min
GET /api/v1/stats/featuresAvailability time series for one feature (format=csv supported)5 min
GET /api/v1/stats/breakdownShare-by-dimension time series (os | browser | vendor)5 min
GET /api/v1/stats/limitsLimit percentiles (p50/p90/p99)15 min
GET /api/v1/featuresFeature dictionary1 h

Common parameters

from/to (YYYY-MM-DD, default last 30 days) · bucket = day|week|month · filters os, browser, vendor (normalized enums; see the spec for values).

Examples

curl 'https://webgpu.report/api/v1/stats/summary'

curl 'https://webgpu.report/api/v1/stats/features?feature=subgroups&bucket=month&from=2026-01-01'

curl 'https://webgpu.report/api/v1/stats/breakdown?dimension=vendor&bucket=week&os=windows'

curl 'https://webgpu.report/api/v1/stats/limits?name=maxBufferSize&vendor=nvidia'

Fair use

Anonymous clients get a generous token bucket per IP (IPv6 grouped at /64). If you are building something that needs sustained heavy access, ask for a free API key (sent as X-API-Key) - see about for contact. Please cache on your side and honor Retry-After.

Submitting reports

POST /api/v1/reports accepts the versioned report schema (export your own from the landing page to see a valid instance). Submissions from other origins are stored but flagged and excluded from headline statistics, so embedding the probe elsewhere will not skew the numbers.