Model Catalog
GET /api/gate/v1/catalog/leaderboard
Model Leaderboard
Public model×task-type leaderboard. Visible curated models ranked by authored sort order, then by the auto-eval success rate for the requested task_type (the shared prior), with a headline benchmark and the cheapest live blended price across providers.
No brand data, no prompts — public tier. Pass task_type to rank for a specific task (e.g. coding, planning); omit it for the global ranking.
Per-category leaderboard (CT.3): pass category=<key> (with sort=score) to rank models by their within-category percentile from the taxonomy scorer instead — e.g. ?category=coding&sort=score. Each entry carries score (percentile), rank, and the response total (rank/N), plus the contributing components. category takes precedence over task_type. List valid keys at /catalog/categories.
Parameters
task_type(query, any, optional) — Rank for this task type (omit = global)category(query, any, optional) — Per-category leaderboard by taxonomy key (e.g. coding). Ranks by within-category percentile; takes precedence over task_type.sort(query, string, optional) — Sort for the per-category leaderboard (onlyscoreis supported — within-category percentile, best first).limit(query, integer, optional) — Max models to return
curl -X GET 'https://spideriq.ai/api/gate/v1/catalog/leaderboard' \
-H 'Authorization: Bearer <token>'import httpx
resp = httpx.get(
"https://spideriq.ai/api/gate/v1/catalog/leaderboard",
headers={"Authorization": "Bearer <token>"},
)
resp.raise_for_status()
print(resp.json())const resp = await fetch("https://spideriq.ai/api/gate/v1/catalog/leaderboard", {
method: "GET",
headers: { "Authorization": "Bearer <token>" }
});
const data = await resp.json();
console.log(data);package main
import (
"net/http"
)
func main() {
req, _ := http.NewRequest("GET", "https://spideriq.ai/api/gate/v1/catalog/leaderboard", nil)
req.Header.Set("Authorization", "Bearer <token>")
resp, _ := http.DefaultClient.Do(req)
defer resp.Body.Close()
}Responses
200— Successful Response422— Validation Error
GET /api/gate/v1/catalog/categories
Category Taxonomy
The model-capability category taxonomy (Coding, Reasoning, Math, Vision, …) that backs the per-category score bars and DB-driven chips. Each category carries its label, emoji, description, and a live scored_model_count (models with a computed score). is_active=false categories are hidden unless include_inactive=true.
Read-only; not metered. Pair with /catalog/leaderboard?category=<key> for the per-category ranking and the category_scores[] section on each model record.
Parameters
include_inactive(query, boolean, optional) — Include inactive (unpublished) categories
curl -X GET 'https://spideriq.ai/api/gate/v1/catalog/categories' \
-H 'Authorization: Bearer <token>'import httpx
resp = httpx.get(
"https://spideriq.ai/api/gate/v1/catalog/categories",
headers={"Authorization": "Bearer <token>"},
)
resp.raise_for_status()
print(resp.json())const resp = await fetch("https://spideriq.ai/api/gate/v1/catalog/categories", {
method: "GET",
headers: { "Authorization": "Bearer <token>" }
});
const data = await resp.json();
console.log(data);package main
import (
"net/http"
)
func main() {
req, _ := http.NewRequest("GET", "https://spideriq.ai/api/gate/v1/catalog/categories", nil)
req.Header.Set("Authorization", "Bearer <token>")
resp, _ := http.DefaultClient.Do(req)
defer resp.Body.Close()
}Responses
200— Successful Response422— Validation Error
GET /api/gate/v1/catalog/models
Enriched Model Catalog
Enriched, client-facing model catalog. Each model returns identity + spec + authored editorial (description/tags/badges) plus — by default — its benchmarks, per-provider price/latency snapshot, reference links, and evals aggregate, every sourced row carrying provenance.
One-pull concrete-model selection (OPVS Planner): pass fields= to narrow the payload to just the sections you need and skip the rest, e.g. fields=capabilities,pricing,per_provider,evals. Recognised sections: capabilities, context, max_output, pricing, tier, descriptions, tags, aliases, per_provider, benchmarks, links, evals. Unknown tokens are ignored.
Servability (SM.3): every model carries a servable boolean — true when it's callable right now via the direct-pin path (its provider has a healthy pooled key; codex/* excluded). Pin a servable model by its top-level spidergate_id. Pass servable_only=true to return only callable models.
Read-only; not metered.
Parameters
provider(query, any, optional) — Filter by providersearch(query, any, optional) — Search id / display nametag(query, any, optional) — Filter by authored tagfields(query, any, optional) — CSV projection, e.g. capabilities,pricing,per_provider,evalsconfigured_only(query, boolean, optional) — Only routable (configured) modelsfree_only(query, boolean, optional) — Only free-tier modelsservable_only(query, boolean, optional) — Only models callable right now via the direct-pin path (provider has a healthy pooled key). Pair with the top-levelspidergate_idto pin an exactly-servable model.include_hidden(query, boolean, optional) — Include models hidden from the public cataloglimit(query, integer, optional) — Max resultsoffset(query, integer, optional) — Pagination offset
curl -X GET 'https://spideriq.ai/api/gate/v1/catalog/models' \
-H 'Authorization: Bearer <token>'import httpx
resp = httpx.get(
"https://spideriq.ai/api/gate/v1/catalog/models",
headers={"Authorization": "Bearer <token>"},
)
resp.raise_for_status()
print(resp.json())const resp = await fetch("https://spideriq.ai/api/gate/v1/catalog/models", {
method: "GET",
headers: { "Authorization": "Bearer <token>" }
});
const data = await resp.json();
console.log(data);package main
import (
"net/http"
)
func main() {
req, _ := http.NewRequest("GET", "https://spideriq.ai/api/gate/v1/catalog/models", nil)
req.Header.Set("Authorization", "Bearer <token>")
resp, _ := http.DefaultClient.Do(req)
defer resp.Body.Close()
}Responses
200— Successful Response422— Validation Error
GET /api/gate/v1/catalog/models/{model_id}/evals
Model Evals Aggregate
The #7 evals aggregate for one model — the shared prior the OPVS Planner blends against its private posterior. Returns the machine-eval (auto) rollup(s) plus human star ratings, keyed on the SERVED model (G1). Pass task_type to scope to one task; omit for all task types plus the global (task_type=null) row.
Parameters
model_id(path, string, required)task_type(query, any, optional) — Scope to this task type
curl -X GET 'https://spideriq.ai/api/gate/v1/catalog/models/{model_id}/evals' \
-H 'Authorization: Bearer <token>'import httpx
resp = httpx.get(
"https://spideriq.ai/api/gate/v1/catalog/models/{model_id}/evals",
headers={"Authorization": "Bearer <token>"},
)
resp.raise_for_status()
print(resp.json())const resp = await fetch("https://spideriq.ai/api/gate/v1/catalog/models/{model_id}/evals", {
method: "GET",
headers: { "Authorization": "Bearer <token>" }
});
const data = await resp.json();
console.log(data);package main
import (
"net/http"
)
func main() {
req, _ := http.NewRequest("GET", "https://spideriq.ai/api/gate/v1/catalog/models/{model_id}/evals", nil)
req.Header.Set("Authorization", "Bearer <token>")
resp, _ := http.DefaultClient.Do(req)
defer resp.Body.Close()
}Responses
200— Successful Response422— Validation Error
GET /api/gate/v1/catalog/models/{model_id}
Get Enriched Model Record
Full enriched record for one model by its catalog id (spidergate_id or raw provider/model): spec + authored copy + benchmarks + per-provider pricing + links + evals aggregate, with provenance.
Parameters
model_id(path, string, required)
curl -X GET 'https://spideriq.ai/api/gate/v1/catalog/models/{model_id}' \
-H 'Authorization: Bearer <token>'import httpx
resp = httpx.get(
"https://spideriq.ai/api/gate/v1/catalog/models/{model_id}",
headers={"Authorization": "Bearer <token>"},
)
resp.raise_for_status()
print(resp.json())const resp = await fetch("https://spideriq.ai/api/gate/v1/catalog/models/{model_id}", {
method: "GET",
headers: { "Authorization": "Bearer <token>" }
});
const data = await resp.json();
console.log(data);package main
import (
"net/http"
)
func main() {
req, _ := http.NewRequest("GET", "https://spideriq.ai/api/gate/v1/catalog/models/{model_id}", nil)
req.Header.Set("Authorization", "Bearer <token>")
resp, _ := http.DefaultClient.Do(req)
defer resp.Body.Close()
}Responses
200— Successful Response422— Validation Error