Benchmarks API.
This API serves the live figures behind these pages as JSON: query latency on Coralogix's production telemetry lake, and how customers use Coralogix through the CLI and MCP. It is public and read-only, and takes no key.
At a glance
| Base URL | https://benchmarks.coralogix.com |
|---|---|
| Authentication | None. Every endpoint is public. |
| Methods | GET and HEAD. Anything else answers 405. |
| Format | JSON, gzipped when the request accepts gzip. |
| Freshness | Refreshed every 5 minutes. Responses carry an ETag and a Cache-Control that lasts until the next refresh. Send If-None-Match to get a 304 when nothing changed. |
| Browsers | Any origin may read the API (CORS). |
| Rate limit | 1,500 requests per 5 minutes per IP address. |
| Description | /openapi.json, OpenAPI 3.1, with every response schema. |
Endpoints
| Endpoint | What it returns |
|---|---|
GET /api/v1/benchmarks | DataPrime and PromQL query latency percentiles (p50, p90, p95, in milliseconds) for a large and a medium production account, by dataset, query type and data volume, hourly over the last 7 days, and the estate's 7-day totals. |
GET /api/v1/headless | The share of Coralogix sessions and people that use the CLI or MCP over a rolling month: headline figures, 7-day rolling series, and the coding agents' share of API calls. Shares run from 0 to 1. |
GET /healthz | Whether the service is up, its release, and the age of its data. |
GET /badges/{name}.json | One headline figure in shields.io's endpoint format: dataprime-p50, dataprime-p95, metrics-p95, ingested-7d, queries-7d. |
Examples
The large account's DataPrime latency, all queries together
curl -s https://benchmarks.coralogix.com/api/v1/benchmarks \
| jq '.accounts.large.q1[] | select(.overall) | {n, p50, p90, p95}'
PromQL latency on the same account
curl -s https://benchmarks.coralogix.com/api/v1/benchmarks | jq '.accounts.large.metrics | {n, p50, p90, p95}'
The headless headline: the month's first week against its last
curl -s https://benchmarks.coralogix.com/api/v1/headless | jq .headline
Only when it has changed
curl -s -i https://benchmarks.coralogix.com/api/v1/benchmarks -H 'If-None-Match: "<etag from the last response>"'
Pages for agents
Every page also answers in Markdown at its own address when the request prefers it (Accept: text/markdown), and has a Markdown copy at the same path with .md on the end. /llms.txt describes the site with its current figures, and /llms-full.txt holds every page in one file.
curl -s -H 'Accept: text/markdown' https://benchmarks.coralogix.com/benchmarks
Errors
| Status | When |
|---|---|
400 | The request has a query string. The API takes none. |
404 | No such endpoint, or no badge by that name. |
405 | Any method but GET or HEAD. |
503 | The service has just restarted and is gathering its figures. Try again in a few minutes. |
Errors answer in JSON with a msg field.