Para desenvolvedores
80.000 questões, do ENEM 2025 aos vestibulares. Uma chamada.
Chega de scraping de PDF e digitação manual. Enunciado, alternativas, gabarito e matéria em toda questão — do ENEM 2025 ao acervo histórico —, em JSON servido de São Paulo em 98 ms na mediana.
- questões no acervo
- 80.000+
- latência p50, medida
- 98 ms
- cold starts, em São Paulo
- Zero
curl "https://api.enemhub.com.br/v1/enem/questions?year=2025" \
-H "X-API-Key: ehub_enem_aZ3fK9pQ..."# resposta (valores ilustrativos)
{
"data": [{
"year": 2025,
"difficulty": "medium",
"statement": "Uma progressao aritmetica...",
"subject": { "name": "Matematica" },
"alternatives": [...]
}],
"meta": { "page": 1, "total": 177 }
}A infraestrutura por trás da API
Fastify
TypeScript
Node.js
Neon
Drizzle
Upstash
Zod
Stripe
Clerk
OpenAPI
Fly.io
Tempo de resposta
A resposta sai em 98 ms.
Metade das buscas responde em 98 ms e 95% em menos de 149 ms — rápido o bastante para a tela montar a questão sem estado de carregamento. A API roda em São Paulo, com as questões no banco ao lado e o mais pedido já em cache.
Onde a API roda
São Paulo- Servidores no Brasil, ligados o tempo todo. A primeira chamada do dia responde no mesmo tempo que a milésima.
Onde as questões ficam
Postgres, na mesma cidade- O banco fica na mesma cidade dos servidores, a um salto de rede da API. Medida sozinha, a consulta leva cerca de 47 ms.
O que já vem pronto
Cache em Redis- Listagens ficam guardadas por 1 h, cada questão por 6 h, os catálogos por 24 h. Quando a resposta já existe, ela sai sem passar pelo banco.
Referência da API
Cinco rotas, o mesmo formato de resposta.
Enunciado, alternativas, gabarito, matéria, área, exame e ano — estruturado campo a campo, igual em qualquer uma das rotas abaixo. Nada para tratar ou remontar do seu lado.
GET /v1/enem/questions/:idexemplo- year
- 2023
- difficulty
- Média
- subject.name
- Matemática
- exam.institution
- INEP
Uma progressão aritmética tem primeiro termo 7 e razão 4. A soma dos 20 primeiros termos dessa progressão é:
- A900
isCorrect: true - B780
- C920
- D840
- E1.000
Todas as rotas
Agrupadas por produto: a chave que você gera vale para as rotas do produto dela.
ENEM
GET /v1/enem/questionsListar questões do ENEMGET /v1/enem/questions/:idBuscar uma questão
ENEM + Vestibulares
GET /v1/vestibulares/examsListar exames disponíveisGET /v1/vestibulares/questionsListar questões de todos os examesGET /v1/vestibulares/questions/:idBuscar uma questão
As listagens aceitam estes filtros, combináveis:
- year
- subjectId
- difficulty
- page
- limit
Perguntas frequentes
O que costuma perguntar antes de criar a chave.
O acervo tem o ENEM 2025?
Tem. As questões do ENEM vão de 2005 a 2025, e os vestibulares seguem o mesmo ritmo de atualização. Toda questão do acervo vem com ano, matéria, dificuldade e gabarito preenchidos — não existe registro pela metade.
Como autentico as chamadas?
Toda rota de /v1 espera o cabeçalho X-API-Key com a chave gerada no console (Bearer funciona como alternativa). Sem uma chave válida, a resposta é 401.
Uma chave dá acesso aos dois produtos?
Não. Uma chave do ENEM não abre as rotas de ENEM + Vestibulares, e vice-versa: o escopo é por produto, não por conta.
O que acontece quando eu passo do limite do plano?
Nada que custe cota: a resposta vem com status 429 e o cabeçalho Retry-After, e a requisição recusada não consome a cota do mês. Cada plano define um teto por minuto e um teto mensal, só isso muda entre eles.
A documentação é pública?
Sim. A referência interativa de cada produto não exige chave, então dá para conferir o formato exato das respostas antes de criar conta. Ver documentação.
Como funciona o cancelamento?
Sem fidelidade e sem precisar falar com ninguém: cancela quando quiser, pelo console. O acesso continua até o fim do período já pago, sem reembolso proporcional pelo tempo não usado.
Como funciona a cobrança da assinatura?
Recorrente mensal, via Stripe. Você escolhe o plano no console e completa o checkout por lá; a assinatura fica ativa assim que o Stripe confirma o pagamento, e o teto de requisições passa a valer o do plano contratado.
Preciso de um volume maior que os planos listados?
Fale com o time de vendas sobre um plano sob consulta. Falar com vendas.
Existe um plano gratuito?
A conta é gratuita e a documentação é pública: dá para conferir o formato exato das respostas antes de decidir. As chamadas à API entram com o plano, cobrado por volume de requisições.
Não achou a sua? Veja os planos ou abra a documentação.
Mais de 80.000 questões, prontas para a primeira chamada.
Crie a conta, pegue sua chave e faça a primeira requisição em segundos, sem esperar aprovação de ninguém.