Models & Routing
/api/gate/v1/models
List Models
List all available models across all providers, sorted by usage. Models are dynamically fetched from provider APIs and cached. Usage data (tokens, requests) comes from the last 30 days. Filters: • provider: Filter by provider name • free_only: Only free tier models • configured_only: Only models configured in SpiderGate routing • search: Search by model name or ID • sort_by: Sort order (usage, name, provider, context, cost) • capability: Filter by capability (chat, vision, function_calling) SpiderGate Extensions: Each model includes spidergate_info with provider details, pricing, capabilities, configuration status, task aliases, and 30-day usage stats.
provider
any
query
free_only
boolean
query
configured_only
boolean
query
search
any
query
sort_by
string
query
capability
any
query
limit
integer
query
offset
integer
query
200Successful Response422Validation Error
curl -X GET 'https://spideriq.ai/api/gate/v1/models' \
-H 'Authorization: Bearer '
import httpx
resp = httpx.get(
"https://spideriq.ai/api/gate/v1/models",
headers={"Authorization": "Bearer "},
)
resp.raise_for_status()
print(resp.json())
const resp = await fetch("https://spideriq.ai/api/gate/v1/models", {
method: "GET",
headers: { "Authorization": "Bearer " }
});
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/models", nil)
req.Header.Set("Authorization", "Bearer ")
resp, _ := http.DefaultClient.Do(req)
defer resp.Body.Close()
}
/api/gate/v1/models/{model_id}
Get Model
Get details for a specific model.
model_id
string
path
required
200Successful Response404Model not found422Validation Error
curl -X GET 'https://spideriq.ai/api/gate/v1/models/{model_id}' \
-H 'Authorization: Bearer '
import httpx
resp = httpx.get(
"https://spideriq.ai/api/gate/v1/models/{model_id}",
headers={"Authorization": "Bearer "},
)
resp.raise_for_status()
print(resp.json())
const resp = await fetch("https://spideriq.ai/api/gate/v1/models/{model_id}", {
method: "GET",
headers: { "Authorization": "Bearer " }
});
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/models/{model_id}", nil)
req.Header.Set("Authorization", "Bearer ")
resp, _ := http.DefaultClient.Do(req)
defer resp.Body.Close()
}
/api/gate/v1/aliases
List Task Aliases
List all SpiderGate task aliases with their model chains and usage. Task aliases like spideriq/coding or spideriq/extraction route to an ordered fallback chain of models. This endpoint shows which models each alias uses and 30-day usage statistics.
200Successful Response
curl -X GET 'https://spideriq.ai/api/gate/v1/aliases' \
-H 'Authorization: Bearer '
import httpx
resp = httpx.get(
"https://spideriq.ai/api/gate/v1/aliases",
headers={"Authorization": "Bearer "},
)
resp.raise_for_status()
print(resp.json())
const resp = await fetch("https://spideriq.ai/api/gate/v1/aliases", {
method: "GET",
headers: { "Authorization": "Bearer " }
});
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/aliases", nil)
req.Header.Set("Authorization", "Bearer ")
resp, _ := http.DefaultClient.Do(req)
defer resp.Body.Close()
}
/api/gate/v1/providers
List Providers
List all available providers, model counts, and key status.
200Successful Response
curl -X GET 'https://spideriq.ai/api/gate/v1/providers' \
-H 'Authorization: Bearer '
import httpx
resp = httpx.get(
"https://spideriq.ai/api/gate/v1/providers",
headers={"Authorization": "Bearer "},
)
resp.raise_for_status()
print(resp.json())
const resp = await fetch("https://spideriq.ai/api/gate/v1/providers", {
method: "GET",
headers: { "Authorization": "Bearer " }
});
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/providers", nil)
req.Header.Set("Authorization", "Bearer ")
resp, _ := http.DefaultClient.Do(req)
defer resp.Body.Close()
}
/api/gate/v1/health
Health Check
Check if the SpiderGate API is operational.
200Successful Response
curl -X GET 'https://spideriq.ai/api/gate/v1/health' \
-H 'Authorization: Bearer '
import httpx
resp = httpx.get(
"https://spideriq.ai/api/gate/v1/health",
headers={"Authorization": "Bearer "},
)
resp.raise_for_status()
print(resp.json())
const resp = await fetch("https://spideriq.ai/api/gate/v1/health", {
method: "GET",
headers: { "Authorization": "Bearer " }
});
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/health", nil)
req.Header.Set("Authorization", "Bearer ")
resp, _ := http.DefaultClient.Do(req)
defer resp.Body.Close()
}