Voice Benchmark API

Public, read-only endpoints for Voice Benchmark rankings and provider histories. Third-party requests are rate-limited to ~120 requests/minute; cache responses for at least 60 seconds.

Endpoints

MethodPathDescriptionRate limitUpdatesExample
GET/api/rankingsCurrent visible rankings120 req/min (third-party)Hourly/api/rankings
GET/api/providers/{id}/historyRecent history for provider (capped)120 req/min (third-party)Hourly/api/providers/1/history
GET/api/providers/{id}/history-fullFull history for provider120 req/min (third-party)Hourly/api/providers/1/history-full
GET/leaderboard.jsonLeaderboard snapshot (JSON download)120 req/min (third-party)Hourly/leaderboard.json
GET/providers.jsonProviders list (JSON download)120 req/min (third-party)Hourly/providers.json
GET/provider/{slug}.jsonProvider snapshot + history (last 100 points)120 req/min (third-party)Hourly/provider/echo-ai.json

Rate limits

Third-party origins: ~120 req/min. Please stay well below and cache responses (60s+). First-party traffic is not rate-limited.

Updates & data

Tests run hourly. Latency fields end with _ms (milliseconds). success is 0/1. `/provider/{slug}/json` history is capped to the last 100 points.

Attribution

Please cite “Voice Benchmark” with a link to https://voicebenchmark.ai when using rankings or stats.

Request/response examples

  • GET /leaderboard.json → array of rankings with `id`, `name`, `slug`, `current_latency`, `median_latency`, `p95_latency`, `p99_latency`, `last_tested`
  • GET /provider/echo-ai.json → ranking fields + `history` (last 100 points with `test_timestamp`, `average_latency_ms`, `success`)

Machine-readable

  • OpenAPI: /openapi.json
  • JSON downloads: /leaderboard.json, /providers.json, /provider/<slug>.json
  • HTML docs: /docs/api