Consuma os dados
Início rápido
Cada endpoint da TKX é um documento JSON estático. Não há nada para instalar nem chave para obter — basta fazer um GET HTTP.
URL base
Todos os endpoints ficam sob:
https://tkx.org/api/v1/
Sua primeira requisição
Busque os rankings de modelos — a oferta verificada mais barata para cada modelo classificado:
curl https://tkx.org/api/v1/rankings.json
Resposta — topo de rankings.json (truncada para um modelo):
{
"generatedAt": "2026-07-22T16:07:24.242Z",
"attribution": "Data by TKX (https://tkx.org) — free use requires attribution",
"rankings": [
{
"id": "gpt-5.5",
"name": "gpt-5.5",
"org": "azure_ai",
"ctx": 1050000,
"best": {
"in": 5,
"out": 30,
"blended": 11.25,
"router": "official",
"provider": "azure_ai",
"evidence": "official"
},
"avgBlended": 11.25,
"providerCount": 5,
"ttft": null,
"tps": null,
"uptime": null,
"spark": [],
"providers": [
{
"router": "official",
"provider": "azure_ai",
"in": 5,
"out": 30,
"ttft": null,
"tps": null,
"uptime": null,
"evidence": "official"
}
],
"usage": {
"tokens": 98987458250,
"tokensPaid": 98987458250,
"tokensFree": 0,
"share": 1.03,
"rank": 15,
"usd": 1113608.91,
"volChgPct": null,
"spendChgPct": null
}
}
]
}
Convenções de resposta
- Cada resposta inclui uma string
attributione, quando relevante, um carimbo de data/horageneratedAtem ISO-8601 (UTC). - As cargas de lista ficam sob uma chave nomeada —
rankings,data,events,clouds, etc. (veja cada endpoint). - Os preços são em USD por 1M de tokens, a menos que um campo
currencyindique o contrário (a perna doméstica de GPU é em CNY). Valores ausentes/não testados sãonull— nunca estimados. - Cada oferta carrega uma etiqueta
evidence— veja Modelo de dados e evidência.
Atualização e cache
i
O coletor roda de hora em hora. Os arquivos são estáticos e cacheados em CDN, então consultar com mais frequência que isso retorna bytes idênticos. Faça cache no cliente por ~1h. Verifique
generatedAt para ver a última execução.CORS e navegadores
O CORS está habilitado, então você pode usar fetch() diretamente de um navegador:
const r = await fetch('https://tkx.org/api/v1/indices.json');
const { indices } = await r.json();
console.log(indices.TTPI.value); // 1.67