IBPT Tax API

Uma API moderna e de alta performance para consulta de tributações do IBPT

GET Endpoint de Consulta

Utilize a rota abaixo para consultar os impostos de um produto (NCM) em um estado (UF) específico.

/ibpt/:uf/:codigo

Como Funciona?

A API realiza uma busca em alta velocidade. Ela retorna uma matriz JSON contendo os impostos federais (nacionais e importados), estaduais e municipais atrelados ao código NCM requisitado.

Nota: Caso o registro não seja localizado, a API retornará apenas o código de resposta HTTP 404 (Not Found), sem conteúdo no corpo da resposta (body).

Exemplos de Integração (Console)

Trechos de código demonstrando como consumir o endpoint em diferentes linguagens e frameworks.

Delphi (TNetHTTPClient)
var
  Client: TNetHTTPClient;
  Response: IHTTPResponse;
begin
  Client := TNetHTTPClient.Create(nil);
  try
    Response := Client.Get('https://ibpt.nghc.com.br/ibpt/SP/01012100');
    if Response.StatusCode = 200 then
      Writeln(Response.ContentAsString)
    else
      Writeln('Erro: ', Response.StatusCode);
  finally
    Client.Free;
  end;
end;
Lazarus (FPCustomHTTPClient)
uses fphttpclient;

var
  Response: String;
begin
  try
    Response := TFPCustomHTTPClient.SimpleGet('https://ibpt.nghc.com.br/ibpt/SP/01012100');
    Writeln(Response);
  except
    on E: Exception do
      Writeln('Erro ao consultar a API (ou 404): ', E.Message);
  end;
end;
Python (requests)
import requests

response = requests.get('https://ibpt.nghc.com.br/ibpt/SP/01012100')
if response.status_code == 200:
    print(response.json())
else:
    print(f"Erro HTTP {response.status_code}: NCM não localizado")
C# (.NET HttpClient)
using System;
using System.Net.Http;
using System.Threading.Tasks;

class Program {
    static async Task Main() {
        using var client = new HttpClient();
        var response = await client.GetAsync("https://ibpt.nghc.com.br/ibpt/SP/01012100");
        
        if (response.IsSuccessStatusCode) {
            string result = await response.Content.ReadAsStringAsync();
            Console.WriteLine(result);
        } else {
            Console.WriteLine($"Erro HTTP: {(int)response.StatusCode}");
        }
    }
}