Brazil Tax Code Lookup: NCM, CEST, CFOP, NBS, CNAE, IBGE avatar

Brazil Tax Code Lookup: NCM, CEST, CFOP, NBS, CNAE, IBGE

Pricing

from $1.00 / 1,000 lookup results

Go to Apify Store
Brazil Tax Code Lookup: NCM, CEST, CFOP, NBS, CNAE, IBGE

Brazil Tax Code Lookup: NCM, CEST, CFOP, NBS, CNAE, IBGE

Look up and cross-reference official Brazilian tax tables in one call: NCM (with hierarchy and linked CEST), CEST, CFOP, NBS, LC 116, CNAE 2.3, IBGE municipalities and IBS/CBS reform codes (CST, cClassTrib). Exact, prefix or accent-insensitive search. For AI agents, ERPs and developers.

Pricing

from $1.00 / 1,000 lookup results

Rating

0.0

(0)

Developer

Brasil Data

Brasil Data

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

19 hours ago

Last modified

Categories

Share

Brazil Tax Code Lookup (NCM, CEST, CFOP, NBS, LC 116, CNAE, IBGE)

Look up and cross-reference the official Brazilian tax tables in a single call. Send a list of codes or free texts and get back each code's official description, its hierarchy, cross-references to the other tables and the source it came from.

Table (table)What it isOfficial source
ncmMercosur goods nomenclature (8 digits) with section > chapter > heading > subheading > itemPortal Único Siscomex (Receita Federal / SECEX)
cestTax-substitution codes (ICMS-ST) with the NCM codes listed for each oneCONFAZ, Convênio ICMS 142/2018
cfopFiscal operation codes, with the explanatory note for each codeCONFAZ, Annex II of Convênio s/nº of 1970 (Ajuste SINIEF 3/2024 plus later amendments)
nbsBrazilian services nomenclature (9 digits)Receita Federal reform calculator, open data
lc116Municipal service list (ISS) of Lei Complementar 116/2003Planalto, consolidated text of the law
cnaeCNAE 2.3 economic activities, from section down to subclassIBGE / CONCLA API
municipalityIBGE municipality codes (7 digits) with state and regionIBGE Localidades API
reform_classIBS/CBS tax-reform CST and cClassTrib codes, with legal basis and reduction percentagesReceita Federal reform calculator, open data

Who it is for: AI agents filling in invoices (NF-e / NFS-e), ERP and e-commerce integrations, accounting tools, and developers who need reliable Brazilian code tables without scraping half a dozen government sites.

Why use it

  • One call, many tables. auto mode works out which table a code belongs to from its format. 8471.30.12 is an NCM code, 5.102 a CFOP, 01.07 an LC 116 subitem and 3550308 a municipality.
  • Cross-references nobody else joins.
    • NCM to its linked CEST codes, most specific match first.
    • CEST to the NCM codes it lists.
    • CST to its cClassTrib codes.
    • LC 116 item to its subitems.
    • CNAE level to its child levels.
  • Hierarchy included. An NCM result includes its section, chapter, heading and subheading, plus a readable description_path, so a bare item called "-- Outros" still makes sense.
  • Validity handled. CEST entries that are revoked or not yet in force (for example, new wording that takes effect next month) are flagged in record_status as in_force, revoked or scheduled, with valid_from and valid_to dates.
  • Fast and cheap. The tables are bundled as a versioned snapshot inside the Actor, so a run does not depend on government sites being up. The example input finishes in a few seconds.
  • Traceable. Every record carries source_name, source_url, source_version and retrieved_at.

Input

{
"queries": ["8471.30.12", "5102", "01.07", "6201-5/01", "parafuso"],
"table": "auto",
"search_mode": "auto",
"include_related": true,
"language": "en",
"max_results_per_query": 10
}
  • queries: codes, typed with or without punctuation, or free text. Text search ignores accents and case and matches word prefixes, so informatica suport finds "Suporte técnico em informática". For municipalities, a trailing state code narrows the search: campinas sp. Up to 1000 queries per run.
  • table: one of auto (all tables), ncm, cest, cfop, nbs, lc116, cnae, municipality or reform_class. In auto mode the same digits can match several tables: 5102 returns CFOP 5.102 and NCM heading 51.02. Punctuation narrows the match (5.102 matches only the CFOP), or set table to restrict the search.
  • search_mode:
    • auto (default): exact match for codes, text search for words.
    • exact: the code itself.
    • prefix: every code that starts with the query. 8471 with table: ncm returns all codes under heading 84.71.
    • text: search in the official descriptions.
  • include_related: adds cross-references (default true).
  • language: language of the status messages, en or pt. Official descriptions are always returned in Portuguese, exactly as published. No machine translation is applied.
  • max_results_per_query: from 1 to 200, default 10.

Output (one dataset item per record)

{
"query": "8471.30.12",
"status": "found",
"table": "ncm",
"code": "8471.30.12",
"description": "De peso inferior a 3,5 kg, com tela de área superior a 140 cm², mas inferior a 560 cm²",
"description_language": "pt-BR",
"level": "subitem",
"record_status": "in_force",
"valid_from": "2022-04-01",
"valid_to": null,
"match_type": "exact",
"hierarchy": [
{"table": "ncm", "level": "section", "code": "XVI", "description": null, "chapters": "84-85"},
{"table": "ncm", "level": "chapter", "code": "84", "description": "Reatores nucleares, caldeiras, máquinas, ..."},
{"table": "ncm", "level": "heading", "code": "84.71", "description": "Máquinas automáticas para processamento de dados ..."},
{"table": "ncm", "level": "subheading_2", "code": "8471.30", "description": "- Máquinas automáticas ... portáteis ..."},
{"table": "ncm", "level": "item", "code": "8471.30.1", "description": "Capazes de funcionar sem fonte externa de energia"}
],
"details": {"legal_act": "Res Gecex 272/2021", "description_path": "Máquinas automáticas ... > ... > De peso inferior a 3,5 kg ..."},
"related": [
{"table": "cest", "code": "21.028.00", "description": "Máquinas automáticas para processamento de dados, portáteis ...",
"relation": "cest_for_ncm", "record_status": "in_force", "matched_ncm": "8471.30"}
],
"source_name": "NCM - Nomenclatura Comum do Mercosul (Portal Único Siscomex, Receita Federal/SECEX)",
"source_version": "Resolução Gecex nº 926/2026 (Vigente em 25/10/2026)",
"source_url": "https://portalunico.siscomex.gov.br/classif/api/publico/nomenclatura/download/json?perfil=PUBLICO",
"retrieved_at": "2026-10-25T03:17:26+00:00",
"data_license": "Brazilian official act (Resolução Gecex) / federal open data",
"terms_note": "Official act / public-sector open data ..."
}

When a query matches nothing, the Actor returns a free item so you know it was processed:

{"query": "9999.99.99", "status": "not_found", "code": null, "message": "No record found for this query in the selected table(s)."}

A query that does not fit the selected table's format gets status: "invalid_format" and a hint. For example, table: cfop with 51023 returns "CFOP codes have 4 digits...".

Pricing (pay per event)

EventPriceWhen
lookup-resultUS$ 0.001 per record returnedEach item with status: "found"

not_found and invalid_format items are never charged. The run stops producing results as soon as your maximum charge per run is reached. At this price, 1,000 lookups cost US$ 1.

Limits and caveats

  • Data freshness. The data is a snapshot built from the official sources. source_version and retrieved_at on every item tell you which version you got. The snapshot is refreshed about monthly.
  • NCM to CEST links are mechanical. A CEST applies only when both the NCM code and the CEST description fit the product. Some CEST codes (for example, door-to-door sales in segment 28) list whole NCM chapters.
  • NCM section titles are not included. Only the section's roman numeral and chapter range are returned, because no open, machine-readable official source for the titles was found.
  • Hierarchy descriptions for NBS headings and the NBS ↔ LC 116 ↔ cClassTrib correlation come from the national NFS-e standard. They are present only when that optional dataset is bundled. Otherwise those fields are null or empty.
  • No NCM to cClassTrib table. No open table maps NCM codes to cClassTrib, so the Actor does not guess one. Use the official reform calculator to validate a specific NCM/cClassTrib pair.
  • Not tax advice. The official publication prevails in case of divergence.

Use with AI agents (MCP)

Every public Apify Actor is available as a tool through the Apify MCP server (mcp.apify.com), so Claude, ChatGPT, Cursor and other MCP clients can call this Actor directly. An agent can send {"queries": ["<code or description>"], "table": "auto"} and read status, code, description, hierarchy and related. Prefer exact codes when you have them. Use text search ("parafuso", "suporte informatica") to find candidates, then confirm by code. The output fields are stable, in English snake_case, and every record cites its official source.

Português (resumo)

Consulta e cruzamento das tabelas fiscais oficiais brasileiras em uma chamada:

  • NCM, com seção, capítulo e posição, e os CEST vinculados;
  • CEST, do Convênio ICMS 142/2018;
  • CFOP, do Anexo II do Convênio s/nº de 1970;
  • NBS;
  • lista de serviços da LC 116/2003;
  • CNAE 2.3;
  • municípios do IBGE;
  • CST e cClassTrib do IBS/CBS.

Funciona com busca por código exato, por prefixo ou por texto sem acento. As descrições vêm exatamente como foram publicadas, em português. Cada registro traz a fonte oficial (source_url, source_version, retrieved_at).

O preço é US$ 0,001 por registro encontrado. Consulta sem resultado ou com formato inválido não é cobrada.

Os dados são um retrato versionado das fontes oficiais, atualizado mensalmente. Em caso de divergência, vale a publicação oficial. Isto não é consultoria tributária.