NCM

Nomenclatura Comum do Mercosul

Classificação de produtos usada pra fins de tributação e comércio exterior, direto do Portal Único do Siscomex.

Mercosul goods nomenclature

Product classification used for taxation and foreign trade purposes, straight from the Portal Único do Siscomex.

SYNC resposta na mesma chamada answers in the same call

Endpoints

Endpoints

GET /api/v1/ncm lista completa, ~10 mil códigos full list, ~10 thousand codes
GET /api/v1/ncm/{codigo} busca um código NCM looks up one NCM code

Parâmetros

Parameters

NomeNameOndeInDescriçãoDescription
codigo path 8 dígitos, com ou sem pontuação (33051000 ou 3305.10.00) 8 digits, with or without punctuation (33051000 or 3305.10.00)

Exemplo

Example

curl https://api.alicercelabs.com.br/api/v1/ncm/33051000 \
          -H "Authorization: Bearer <token>"
{
          "success": true,
          "data": {
            "codigo": "3305.10.00",
            "descricao": "- Xampus",
            "data_inicio": "01/04/2022",
            "data_fim": "31/12/9999",
            "tipo_ato": "Res Gecex",
            "numero_ato": "272",
            "ano_ato": "2021"
          },
          "meta": { "elapsed_ms": 0, "request_id": "..." }
        }

Erros possíveis

Possible errors

StatusMotivoReason
400código não tem 8 dígitoscode doesn't have 8 digits
401token ausente ou inválidomissing or invalid token
404código NCM não encontradoNCM code not found
429limite de taxa excedidorate limit exceeded

Fonte oficial, sem fallback

Official source, no fallback

Tabela oficial do Portal Único do Siscomex, pública, sem chave, atualizada por ato normativo (Resolução Camex/Gecex). ~10.500 códigos, servidos de um SQLite local. Sem fallback: já é a fonte oficial.

Official table from the Portal Único do Siscomex, public, no key, updated by normative act (Camex/Gecex resolution). ~10,500 codes, served from a local SQLite. No fallback: it's already the official source.

Usando o SDK

Using the SDK

SDKs oficiais: Go · Python · JavaScript.

Official SDKs: Go · Python · JavaScript.

Buscar um código NCM

Look up an NCM code

import (
	"context"
	"fmt"

	alicercelabs "github.com/alicercelabs/alicercesdk-go"
)

client := alicercelabs.New("alk_...") // ou um token JWT de login/register
ctx := context.Background()

ncm, err := client.NCM.Get(ctx, "33051000")
if err != nil {
	panic(err)
}
fmt.Println(ncm.Descricao)
from alicercelabs import AlicerceLabs

client = AlicerceLabs(api_key="alk_...")  # ou um token JWT de login/register

ncm = client.ncm.get("33051000")
print(ncm["descricao"])
import { AlicerceLabs } from "alicercesdk-javascript";

const client = new AlicerceLabs("alk_..."); // ou um token JWT de login/register

const ncm = await client.ncm.get("33051000");
console.log(ncm.descricao);

Limites

Limits

100/dia · 4/hora sem token, por IP chamador; com token (JWT de login ou API key gerada no painel), 1.000/dia · 41/hora.

100/day · 4/hour without a token, per calling IP; with one (a login JWT or an API key generated in the panel), 1,000/day · 41/hour.