Documentação

Guia da BNCC API

Comece a consumir toda a Base Nacional Comum Curricular em minutos. A referência completa de endpoints, schemas e exemplos é gerada automaticamente a partir do contrato OpenAPI — nada aqui é escrito à mão, então nunca diverge do código.

Abrir referência interativa Criar chave gratuita

3 passos: crie uma conta e verifique o e-mail → gere uma API key no portal → chame os endpoints com Authorization: Bearer.

Autenticação por API key

A API de dados é autenticada por API key enviada no cabeçalho Authorization como Bearer. Gere uma key gratuita no portal self-service após verificar seu e-mail.

curl -H "Authorization: Bearer SEU_TOKEN_AQUI" \
  https://bncc.api.br/api/v1/habilidades/EF05MA07

Requisições sem uma API key válida recebem 401.

Exemplos rápidos

Consultar uma habilidade por código

curl -H "Authorization: Bearer SEU_TOKEN_AQUI" \
  https://bncc.api.br/api/v1/habilidades/EM13MAT101

Listar com filtros e paginação

curl -H "Authorization: Bearer SEU_TOKEN_AQUI" \
  "https://bncc.api.br/api/v1/habilidades?etapa=ensino_medio&size=20"

Busca semântica com IA (não-oficial)

curl -X POST https://bncc.api.br/api/v1/busca-semantica \
  -H "Authorization: Bearer SEU_TOKEN_AQUI" \
  -H "Content-Type: application/json" \
  -d '{"query": "quais habilidades de matemática do 5º ano tratam de frações?"}'

As respostas de busca semântica trazem fontes rastreáveis e são sempre marcadas como conteúdo gerado, não-oficial — os dados determinísticos permanecem a fonte da verdade.

Paginação & filtros

Endpoints de listagem aceitam page (a partir de 1) e size (itens por página). A resposta traz os itens junto com os metadados de paginação para você percorrer o conjunto completo.

ParâmetroDescriçãoPadrão
pageNúmero da página (1-based)1
sizeItens por página20
etapaFiltro por etapa (educacao_infantil, ensino_fundamental, ensino_medio)

A lista completa de filtros por endpoint (componente, ano, eixo, unidade temática) está na referência interativa, sempre em dia com o contrato.

Erros

Erros usam os códigos de status HTTP padrão e um corpo JSON consistente. Respostas de erro nunca expõem stack traces ou detalhes de infraestrutura.

StatusSignificado
400Requisição inválida (parâmetro fora do formato)
401API key ausente ou inválida
404Recurso não encontrado (ex.: código de habilidade inexistente)
422Falha de validação de schema
429Limite de uso excedido — veja o cabeçalho Retry-After

Limites de uso (rate limiting)

CotaLimiteAplica-se a
Determinística60 requisições/minHabilidades, competências, taxonomia, sistema
IA (busca semântica)20 requisições/min e teto de 500/dia/api/v1/busca-semantica

Acima do limite, a API responde 429 com o cabeçalho Retry-After indicando quando tentar novamente. As duas cotas são independentes: exceder a cota de IA não afeta os endpoints determinísticos.

Busca semântica não-oficial

A busca semântica usa IA para encontrar habilidades por significado, não por palavra-chave exata. É um recurso opcional: se a camada de IA estiver indisponível, os endpoints determinísticos continuam funcionando normalmente (degradação graciosa).

Toda resposta traz fontes rastreáveis e é marcada como conteúdo gerado. Ela nunca substitui os dados oficiais da BNCC.

Versionamento

Todos os endpoints ficam sob /api/v1. Mudanças incompatíveis (breaking changes) são publicadas em uma nova versão (/api/v2), nunca dentro da versão atual. Adições retrocompatíveis (novos endpoints, novos campos opcionais) acontecem dentro da versão corrente.