API Pública

Benchmark API

API REST pública e gratuita com dados de 200+ modelos de IA. Sem autenticação, sem rate limit abusivo, atualizada diariamente.

Gratuita
Sem autenticação
Cache 1h
CORS habilitado
CC-BY Attribution

Base URL

https://swen.ia.br

Todos os endpoints aceitam GET. Respostas em JSON com Content-Type: application/json. CORS aberto para qualquer origem.

Endpoints

GET/api/benchmark

Retorna todos os modelos ativos com dados de benchmark, preços e capacidades.

Exemplo de Resposta

{
  "meta": {
    "source": "SWEN.AI",
    "url": "https://swen.ia.br/benchmark",
    "methodology": "https://swen.ia.br/benchmark/metodologia",
    "total_models": 212,
    "total_benchmarks": 1847,
    "updated_at": "2026-05-07T14:00:00.000Z",
    "license": "Data aggregated from LMArena, Artificial Analysis, OpenRouter."
  },
  "data": [
    {
      "slug": "gpt-4o",
      "name": "GPT-4o",
      "company": "OpenAI",
      "type": "chat",
      "pricing": {
        "input_per_1m_tokens_usd": 2.5,
        "output_per_1m_tokens_usd": 10.0
      },
      "context_window": 128000,
      "capabilities": {
        "open_source": false,
        "multimodal": true,
        "reasoning": false,
        "tool_calling": true,
        "vision": true,
        "audio": true
      },
      "performance": {
        "tokens_per_second": 98,
        "ttft_ms": 420
      },
      "release_date": "2024-05-13",
      "benchmarks": [
        {
          "benchmark": "Chatbot Arena ELO",
          "category": "overall",
          "score": 1287,
          "max_score": null
        }
      ],
      "url": "https://swen.ia.br/benchmark/gpt-4o"
    }
  ]
}
GET/api/benchmark/rankings

Retorna todos os rankings editoriais publicados (Top 5 por tarefa, melhores custo-benefício, etc.).

Exemplo de Resposta

{
  "meta": {
    "source": "SWEN.AI",
    "total_rankings": 12,
    "updated_at": "2026-05-07T14:00:00.000Z",
    "license": "CC BY 4.0 — Attribution required."
  },
  "data": [
    {
      "slug": "melhores-llms-2026",
      "title": "Melhores LLMs de 2026",
      "subtitle": "O ranking definitivo dos modelos mais capazes",
      "category": "geral",
      "models": [...],
      "url": "https://swen.ia.br/benchmark/ranking/melhores-llms-2026"
    }
  ]
}
GET/api/benchmark/ptbr

Benchmark exclusivo de proficiência em português brasileiro. Ranking de modelos por score médio em PT/BR, por categoria.

Exemplo de Resposta

{
  "meta": {
    "source": "SWEN.AI",
    "description": "Benchmark exclusivo de proficiência em português brasileiro (PT/BR) para LLMs.",
    "total_models": 10,
    "total_questions": 20,
    "categories": { "gramática": 4, "compreensão": 6, "geração": 5, "raciocínio": 5 },
    "updated_at": "2026-05-07T14:00:00.000Z"
  },
  "data": [
    {
      "rank": 1,
      "slug": "anthropic-claude-opus-4-7",
      "name": "Claude Opus 4.7",
      "company": "Anthropic",
      "avg_score": 91.4,
      "total_tests": 20,
      "url": "https://swen.ia.br/benchmark/anthropic-claude-opus-4-7"
    }
  ]
}

Campos dos Modelos

CampoTipoDescrição
slugstringIdentificador URL do modelo (ex: gpt-4o)
namestringNome comercial do modelo
companystringEmpresa desenvolvedora
typestring"chat", "embedding", "image", etc.
pricing.input_per_1m_tokens_usdnumber | nullPreço por 1M tokens de input em USD
pricing.output_per_1m_tokens_usdnumber | nullPreço por 1M tokens de output em USD
context_windownumber | nullJanela de contexto em tokens
capabilities.open_sourcebooleanSe os pesos são públicos
capabilities.multimodalbooleanSuporta múltiplas modalidades
capabilities.reasoningbooleanModelo de raciocínio (chain-of-thought estendido)
capabilities.tool_callingbooleanSuporta function/tool calling
capabilities.visionbooleanSuporta análise de imagens
performance.tokens_per_secondnumber | nullVelocidade de inferência medida
performance.ttft_msnumber | nullTime to First Token em milissegundos
release_datestring | nullData de lançamento (ISO 8601)
benchmarksarrayLista de resultados de benchmarks do modelo
urlstringURL da página de benchmark no SWEN.AI

Exemplos de Uso

Python
import requests

response = requests.get("https://swen.ia.br/api/benchmark")
data = response.json()

models = data["data"]
print(f"Total de modelos: {data['meta']['total_models']}")

# Filtrar modelos open-source
open_source = [m for m in models if m["capabilities"]["open_source"]]
print(f"\nModelos open-source: {len(open_source)}")

# Top 5 por ELO
def get_elo(model):
    for b in model.get("benchmarks", []):
        if b["benchmark"] == "Chatbot Arena ELO":
            return b["score"]
    return 0

top5 = sorted(models, key=get_elo, reverse=True)[:5]
for m in top5:
    print(f"  {m['name']} (ELO: {get_elo(m)})")
JavaScript
const response = await fetch("https://swen.ia.br/api/benchmark");
const { meta, data: models } = await response.json();

console.log(`Total de modelos: ${meta.total_models}`);

// Modelos com preço abaixo de $1/1M tokens
const baratos = models.filter(
  m => m.pricing.input_per_1m_tokens_usd !== null
    && m.pricing.input_per_1m_tokens_usd < 1
);
console.log(`Modelos abaixo de $1/1M: ${baratos.length}`);

// Ordenar por velocidade
const rapidos = [...models]
  .filter(m => m.performance.tokens_per_second)
  .sort((a, b) =>
    b.performance.tokens_per_second - a.performance.tokens_per_second
  )
  .slice(0, 5);

console.log("Top 5 mais rápidos:");
rapidos.forEach(m =>
  console.log(`  ${m.name}: ${m.performance.tokens_per_second} tok/s`)
);
cURL
# Todos os modelos
curl https://swen.ia.br/api/benchmark

# Com jq — listar nomes e preços
curl -s https://swen.ia.br/api/benchmark | \
  jq '.data[] | {name, company, input: .pricing.input_per_1m_tokens_usd}'

# Apenas open-source
curl -s https://swen.ia.br/api/benchmark | \
  jq '[.data[] | select(.capabilities.open_source == true) | {name, company}]'

Limites e Uso Justo

Cache: A resposta é cacheada por 1 hora nos servidores da Vercel. Não há necessidade de fazer polling mais frequente que isso.

Rate limit: Não há rate limit explícito para uso razoável. Se sua aplicação fizer mais de 100 requisições/hora, considere cachear localmente.

Licença: Dados com atribuição obrigatória ao SWEN.AI e às fontes primárias (LMArena, Artificial Analysis, OpenRouter). Uso comercial permitido com atribuição.

Atribuição: Ao usar os dados, inclua: "Dados via SWEN.AI (swen.ia.br/benchmark)"

SLA: API fornecida sem garantia de uptime. Para uso crítico em produção, recomendamos cache local dos dados.

Sobre os Dados

Os dados de benchmark são coletados de fontes primárias: LMArena (ELO Chatbot Arena), Artificial Analysis (Intelligence Index, velocidade, latência), OpenRouter (preços em tempo real) e medições próprias. Os dados são atualizados diariamente. Veja a metodologia completa para detalhes sobre coleta, normalização e critérios de inclusão.

Explore os dados: