SupraBench API Partner live · paid demand-gated

A read-only REST API over the SupraBench database: model rankings, benchmark metadata and tag taxonomies. JSON over HTTPS. Bearer-token auth. Predictable HTTP status codes.

Last updated: April 25, 2026 Reading time: 4 min API version: v1
Status: Partner-only today, paid tiers demand-gated. /v1/ is live and answers requests now — but the only keys we currently mint are free Partner keys (invite-only, for non-profit / research / open-source projects). Self-serve paid tiers (Starter / Pro / Enterprise) sit on a waitlist until enough developers are queued up to justify the recurring Stripe + edge-cache overhead. Join the waitlist on the tier you'd actually pay for; when the queue hits launch threshold we ship.

What you get

Every non-hidden benchmark and ranked model visible on suprabench.com is available via this API. Responses include cache headers so clients and proxies can avoid unnecessary repeat calls; ranking list responses advertise a five-minute freshness window.

Base URL

GET https://api.suprabench.com/v1/{resource}

All endpoints are versioned under /v1/. We will never change the meaning of an existing field within a version — see Versioning for the deprecation policy.

Authentication

Every request must include a Bearer token in the Authorization header. Keys start with sb_live_ and are 64 characters long. Get one from your profile after subscribing to a tier.

curl https://api.suprabench.com/v1/models \
  -H "Authorization: Bearer sb_live_…"
import os, requests
r = requests.get(
    "https://api.suprabench.com/v1/models",
    headers={"Authorization": f"Bearer {os.environ['SUPRABENCH_KEY']}"},
)
r.raise_for_status()
print(r.json())
const r = await fetch("https://api.suprabench.com/v1/models", {
  headers: { Authorization: `Bearer ${process.env.SUPRABENCH_KEY}` },
});
if (!r.ok) throw new Error(`API ${r.status}`);
const data = await r.json();
package main

import (
    "fmt"
    "io"
    "net/http"
    "os"
)

func main() {
    req, _ := http.NewRequest("GET", "https://api.suprabench.com/v1/models", nil)
    req.Header.Set("Authorization", "Bearer "+os.Getenv("SUPRABENCH_KEY"))
    resp, err := http.DefaultClient.Do(req)
    if err != nil { panic(err) }
    defer resp.Body.Close()
    if resp.StatusCode != 200 { panic(fmt.Sprintf("API %d", resp.StatusCode)) }
    body, _ := io.ReadAll(resp.Body)
    fmt.Println(string(body))
}

Full key-management workflow: see Authentication →

Pricing & limits

Paid tiers are waitlist-gated while pricing is finalised; partner keys are invite-only and live today. Once paid access opens, billing will run monthly via Stripe and limits will scale with the tier. See Terms § 14.

Tier Price Monthly quota Rate limit Bulk export Keys
Starter TBD 10 000 60 req / min 1
Pro TBD 100 000 300 req / min 3
Enterprise TBD 1 000 000 1 200 req / min 10
Enterprise+ Custom Custom Custom 50+
Partner (invite-only) Free Custom Custom Custom

Pricing is intentionally TBD until launch — the waitlist is how we figure out what each tier should actually cost. Billing will be handled by Stripe: EU VAT collected automatically, B2B reverse-charge supported via VAT-ID at checkout. Need higher limits, a custom contract or on-prem mirror? Contact us.

Running a non-profit, research or open-source project? The Partner tier is free, fully live today (it's the one tier that isn't demand-gated), and sized case-by-case to what you actually need. Pitch us what you're building and why the regular quotas would break your use case — email us with "Partner API application" in the subject or use the Apply to become a partner button on the main Profile → API & Billing page. Attribution (a Powered by SupraBench footer link) is the only thing we ask in return.

Design principles

Support

All paid tiers receive best-effort support — we don't offer a contractual SLA on Starter, Pro or Enterprise. The channel escalates with tier: