Browse and inspect the OpenDunes model catalog from Go.
The model catalog is public — no API key required. Each entry includes the provider, capabilities, context length, and DA pricing.
The catalog endpoint is GET /api/models. You can query it directly with Go's net/http or any HTTP client:
package main
import (
"encoding/json"
"fmt"
"net/http"
)
type Model struct {
Slug string `json:"slug"`
Name string `json:"name"`
Provider string `json:"provider"`
ContextLen int `json:"context_length"`
}
type CatalogResponse struct {
Data []Model `json:"data"`
}
func main() {
resp, err := http.Get("https://opendunes.com/api/models?sort=popularity&order=desc")
if err != nil {
panic(err)
}
defer resp.Body.Close()
var catalog CatalogResponse
if err := json.NewDecoder(resp.Body).Decode(&catalog); err != nil {
panic(err)
}
for _, m := range catalog.Data {
fmt.Printf("%s (%s, %d ctx)\n", m.Slug, m.Name, m.ContextLen)
}
}Append query parameters to narrow results:
| Parameter | Values | Description |
|---|---|---|
q | string | Full-text search |
provider | e.g. anthropic | Filter by provider |
capability | streaming, tools, vision, json_mode | Required capability |
context_min | integer | Minimum context window |
sort | popularity, price, name, context, newest | Sort field |
order | asc, desc | Sort direction |
Fetch a specific model by its slug:
resp, err := http.Get("https://opendunes.com/api/models/meta-llama/llama-4-maverick")The slug format is always provider/model. You can also browse the full catalog in the UI at /models.
GET /api/models/facets — available filter values (providers, capabilities, modalities).GET /api/models/stats — aggregate counts and pricing stats across the catalog.