Skip to content

pdaug/nota-brasil-api

Repository files navigation

Nota Brasil API

API REST gratuita para consulta de tabelas fiscais brasileiras: CFOP, NCM, CSOSN, CST ICMS/PIS/COFINS, CRT, municípios IBGE, UFs e países.

Construída em Node.js + Express, com paginação e busca em todas as listagens, rate limiting, CORS, compressão e logs estruturados (pino).


Sumário


Instalação

npm install

Execução

npm run dev

Por padrão a API sobe em http://localhost:3000. A rota / retorna a página de documentação interativa (public/index.html).


Parâmetros comuns

Todas as rotas de listagem aceitam os mesmos parâmetros via query string.

Nome Tipo Padrão Descrição
search string Filtra por id exato ou por correspondência parcial (case-insensitive) no campo text.
page integer 1 Número da página. Mínimo 1.
size integer 10 Itens por página. Mínimo 10, máximo 9999.

Formato da resposta

{
  "page": 1,
  "size": 10,
  "total": 27,
  "items": [
    /* ... */
  ]
}

Rotas

Geral

GET /

Retorna a página de documentação (HTML).


Códigos Fiscais

Tabelas oficiais usadas em documentos fiscais eletrônicos.

GET /cfop

Código Fiscal de Operações e Prestações — identifica a natureza de circulação da mercadoria ou prestação de serviço.

curl "http://localhost:3000/cfop?search=venda&page=1&size=10"

GET /ncm

Nomenclatura Comum do Mercosul — código de classificação de mercadorias.

curl "http://localhost:3000/ncm?search=01012100"

GET /crt

Código de Regime Tributário — indica o regime fiscal do emitente (Simples Nacional, Lucro Presumido, etc.).

curl "http://localhost:3000/crt?search=simples"

Tributação

Códigos de Situação Tributária para ICMS, PIS e COFINS.

GET /csosn

Código de Situação da Operação no Simples Nacional — usado por contribuintes optantes pelo Simples.

curl "http://localhost:3000/csosn?search=101"

GET /cst-icsm

Código de Situação Tributária do ICMS.

curl "http://localhost:3000/cst-icsm?search=00"

GET /cst-pis

Código de Situação Tributária do PIS.

curl "http://localhost:3000/cst-pis?search=tributada"

GET /cst-cofins

Código de Situação Tributária do COFINS.

curl "http://localhost:3000/cst-cofins?search=01"

Localidades

Tabelas geográficas brasileiras e internacionais.

GET /uf

Unidades Federativas do Brasil. Cada item contém id (código IBGE), code (sigla) e text (nome).

curl "http://localhost:3000/uf?search=SP"

GET /municipios

Municípios brasileiros com códigos IBGE. Recomenda-se aumentar size ao listar sem filtro.

curl "http://localhost:3000/municipios?search=são paulo&size=50"

GET /paises

Lista de países segundo a tabela da Receita Federal (BACEN).

curl "http://localhost:3000/paises?search=brasil"

Operação

Tabelas auxiliares para preenchimento de notas fiscais.

GET /natureza

Naturezas de operação utilizadas em emissões fiscais.

curl "http://localhost:3000/natureza?search=remessa"

Limites do servidor

  • Rate limit: 60 requisições por minuto por IP
  • CORS: métodos GET, POST, OPTIONS
  • JSON body: até 10 KB
  • Headers timeout: 10s
  • Request timeout: 30s

Docker

docker compose up -d

O docker-compose.yml inclui Caddy como reverse proxy (:80localhost:3000) com compressão gzip/zstd.


Licença

ISC

About

API REST gratuita para consulta de tabelas fiscais brasileiras: CFOP, NCM, CSOSN, CST ICMS/PIS/COFINS, CRT, municípios IBGE, UFs e países.

Resources

Stars

Watchers

Forks

Contributors