API · MCP
Los datos normalizados de precios, capacidades y clasificaciones que hay detrás de este sitio se publican como JSON estático, de descarga gratuita y sin clave de API. Puede apuntar su código o un agente directamente a ellos.
Endpoints
Todos los modelos: entrada canónica, precio del canal oficial + más barato, precios mixtos, contexto, capacidades, puntuaciones de Artificial Analysis y uso de 30 días.
Todos los proveedores: nombre, nivel (primera parte / nube / pasarela), número de modelos, SDK, base de API y docs.
Resumen del sitio en texto plano para rastreadores de IA (convención llms.txt).
Se sirve como archivos estáticos desde una CDN, por lo que no hay límites de tasa. Aun así, almacene las respuestas en caché en lugar de volver a pedirlas en cada solicitud. Los datos se actualizan en cada compilación.
Campos clave (models.json)
id, name, lab, kindId canónico, nombre visible, laboratorio y tipo de modelo.reference / cheapestReferencia (oficial/lista) y canal de pago más barato, cada uno con entrada/salida/lectura-caché por 1M de tokens.blendedRef / blendedMin / blendedTrustedPrecio unitario mixto (entrada×0,75 + salida×0,25) para los canales de referencia, más barato y más barato de confianza (pasarelas excluidas).context, outputLimit, capabilitiesVentana de contexto, salida máxima e indicadores de capacidad de tres estados (true/false/null).aa (idx, coding, agentic, speed, taskCost)Índices de Artificial Analysis de inteligencia, codificación y agente, velocidad de salida y coste por tarea (null si no está cubierto).usage (rank, tokens, share)Rango de uso de OpenRouter en 30 días, total de tokens y cuota (null si no se rastrea).hostCount, spreadCuántos proveedores alojan el modelo y la dispersión de precio entre plataformas.Ejemplos
Los cinco modelos más baratos por precio combinado, con curl y jq:
curl -s https://llmpricing.dev/api/models.json \
| jq '.models
| map(select(.blendedMin != null))
| sort_by(.blendedMin)[:5]
| .[] | {name, blendedMin, cheapest: .cheapest.provider}'JavaScript (fetch):
const res = await fetch("https://llmpricing.dev/api/models.json");
const { meta, models } = await res.json();
// 5 cheapest by blended price (input x0.75 + output x0.25)
const cheapest = models
.filter((m) => m.blendedMin != null)
.sort((a, b) => a.blendedMin - b.blendedMin)
.slice(0, 5);
console.log(meta.syncedAt, cheapest);Python (requests):
import requests
data = requests.get("https://llmpricing.dev/api/models.json").json()
models = data["models"]
# highest Artificial Analysis intelligence with a public price
ranked = sorted(
(m for m in models if m["aa"] and m["aa"]["idx"] is not None),
key=lambda m: m["aa"]["idx"],
reverse=True,
)
for m in ranked[:5]:
print(m["name"], m["aa"]["idx"], m["blendedMin"])Los endpoints envían Access-Control-Allow-Origin: *, así que también funcionan desde el navegador.
Servidor MCP
Como los datos son JSON limpio sobre HTTPS, cualquier servidor MCP con capacidad de fetch puede exponerlos a un agente. Por ejemplo, el servidor fetch de referencia:
{
"mcpServers": {
"llm-pricing": {
"command": "uvx",
"args": ["mcp-server-fetch"]
}
}
}Después pida al agente que lea https://llmpricing.dev/api/models.json y razone sobre ello: el modelo más barato dentro de un presupuesto, la mejor inteligencia por dólar, qué proveedores alojan un modelo dado.
Licencia y atribución
Los datos se agregan de models.dev (MIT), Artificial Analysis y OpenRouter. Puede reutilizarlos bajo CC BY 4.0, conservando la atribución a LLM Pricing y a las fuentes originales.