Página inicial

SINAPI App

Ambiente de apoio para consultas, listas e orçamentos com referências SINAPI, preparado para evoluir com IA, BIM e integrações de API.

Acesso liberado Requer assinatura
Tabela SINAPI
Consulte referências e simule custos, encargos e BDI.
Meus Orçamentos
Organize os orçamentos criados e acompanhe seu estado de revisão.
Insumos e Composições
Cadastre insumos, organize custos unitários e monte composições próprias em uma única página.
Orçamento com BIM
Prepare quantitativos BIM para relacioná-los às referências SINAPI.
Assinaturas
Contrate recursos de produtividade sem alterar o acesso livre ao SINAPI.
Editor Doc
Edite documentos técnicos vinculados aos orçamentos, com prévia e exportação.
Downloads
Acesse planilhas, relatórios, manuais e links oficiais.
Manual
Consulte orientações e boas práticas do aplicativo.
Chave API
Emita chaves com validade e limites para integrações contratadas.
Monitorar Uso
Acompanhe o consumo da IA e as chamadas da API.

Notícias e novidades

Mensagens importantes sobre recursos, atualizações e próximos passos do aplicativo.

Navegação

Menus reorganizados

As áreas do aplicativo estão agrupadas em SINAPI, Orçamento, Banco de Dados, Manual e Gerenciamento.

Assistência

IA em toda a plataforma

O módulo de IA foi pensado para apoiar diferentes páginas, com consumo monitorado por requisições e tokens.

Integração

Acesso por chave API

O gerenciamento permite emitir chaves com validade e limites de uso para integrações autorizadas.

Perguntas Frequentes

Respostas rápidas para orientar o uso do SINAPI App e dos materiais oficiais.

O que é o SINAPI?

O SINAPI é uma referência de custos e composições para obras e serviços de engenharia, mantida pela CAIXA em parceria com o IBGE.

Para que serve a Tabela SINAPI?

Ela pesquisa referências e simula custos com mão de obra, encargos sociais, encargos complementares e BDI editáveis.

Como funciona a Assistência com IA?

A IA pode apoiar diferentes páginas. O plano inclui até 100 requisições semanais ou 2 milhões de tokens de saída.

Para que serve o Banco de Dados Próprio?

Ele reúne insumos e composições particulares em uma única página, permitindo cadastrar custos, montar composições próprias e reutilizar esses itens nas análises e nos orçamentos.

Como funciona a Consulta por API?

Cada chave possui validade e as requisições ficam monitoradas na página Monitorar Uso. No ambiente atual, a API está configurada sem limite de quantidade de requisições.

Onde estão os manuais oficiais?

Os materiais e links oficiais da CAIXA estão concentrados na página Downloads.

Manual

Manual do usuário

Guia completo das áreas e funcionalidades da plataforma SINAPI App, do orçamento à integração BIM e à API.

Visão geral

O SINAPI App reúne, em um único portal, a consulta da tabela SINAPI, a elaboração de orçamentos, o levantamento de quantitativos por modelos BIM (IFC), o cadastro de composições próprias, a geração de documentos técnicos e o acesso programático por API. As áreas se comunicam: o mesmo banco SINAPI alimenta a precificação em todos os módulos, e o levantamento do BIM pode ser enviado diretamente para um orçamento.

  • Tabela SINAPI: pesquisa de composições e insumos, custos por UF, encargos e BDI.
  • Orçamento: Meus Orçamentos, Editor de Documentos e Orçamento com BIM.
  • Banco de Dados: insumos e composições próprias, rastreáveis.
  • Gerenciamento: dados do usuário, Chave API, monitoramento de uso e assinaturas.
  • Assistência por IA: sugestões automáticas de vínculos e itens, conforme o plano contratado.

Fluxo de trabalho recomendado

  1. Escolha o mês de referência na Tabela SINAPI e localize as composições/insumos do seu serviço.
  2. Crie um orçamento em Meus Orçamentos e defina os parâmetros: UF, regime de encargos e BDI.
  3. Adicione itens manualmente pela Tabela SINAPI ou levante quantitativos pelo Orçamento com BIM.
  4. No BIM, vincule composições/insumos aos objetos do modelo e envie os itens ao orçamento.
  5. Ajuste BDI (geral ou por classe), cronograma físico-financeiro e status do orçamento.
  6. Gere os documentos técnicos no Editor Doc, vinculados ao orçamento.
  7. Cadastre composições próprias quando o serviço não existir no SINAPI.
  8. Se for integrar planilhas ou sistemas, emita uma Chave API e acompanhe o uso em Monitorar Uso.

Áreas do sistema

Detalhamento de cada módulo do menu lateral e de suas principais funções.

1 Tabela SINAPI

Consulta oficial das referências SINAPI, com simulação de custos, encargos e BDI.

  • Selecione o mês de referência (a base é o banco unificado sinapi.sqlite).
  • Pesquise por código, descrição ou termos do serviço; a busca textual ranqueia os resultados.
  • Filtre por composições ou insumos e veja o custo unitário para a UF escolhida.
  • Escolha o regime de encargos sociais: com desoneração, sem desoneração ou encargos fixos.
  • Abra o analítico de uma composição para ver insumos, coeficientes e a memória de cálculo.
  • Consulte o histórico de preços e exporte relatórios em PDF ou Excel.

2 Central de Downloads

Arquivos internos do aplicativo e materiais oficiais da CAIXA.

  • Modelos de orçamento, planilhas de composições/insumos, memória de cálculo e checklists.
  • Atalhos para os manuais oficiais da CAIXA: metodologia, parâmetros e fichas técnicas de insumos.
  • Links para a página de downloads e a documentação técnica do SINAPI.

3 Meus Orçamentos

Crie, organize e versione seus orçamentos.

  • Cadastre o orçamento com tipo, objetivo, responsável, ART/RRT e cliente.
  • Defina o contexto: mês de referência, UF, regime de encargos e encargos personalizados.
  • Organize os serviços em grupos e subgrupos e adicione itens SINAPI ou composições próprias.
  • Configure o BDI geral ou por classe (mão de obra, material, equipamento, serviço, outros).
  • Monte o cronograma físico-financeiro por período e acompanhe o status do orçamento.
  • Compartilhe pelo código PIN de 8 caracteres e exporte a planilha do orçamento.
Cada orçamento recebe um PIN exclusivo, usado para compartilhar e para vincular o levantamento do BIM.

4 Editor Doc

Edite e exporte documentos técnicos vinculados a um orçamento.

  • Selecione o orçamento e o tipo de documento desejado.
  • Tipos disponíveis: Memorial Descritivo, Memorial de Cálculo, Caderno de Encargos, Lista de Materiais, Termo de Referência, Estudo Técnico Preliminar e Metadados BIM.
  • No editor, use Orçamento para inserir dados gerais, resumos por grupo ou classe, orçamento completo, BDI, cronograma ou Curva ABC, escolhendo as colunas da tabela.
  • Escolha Tabela vinculada para manter a relação com o orçamento e use Sincronizar no editor quando quiser buscar os valores atuais. Os dados e a estrutura ficam protegidos, mas você pode selecionar as células e editar fonte, tamanho, cores, alinhamento e larguras; essa formatação é preservada na sincronização. Escolha Tabela livre para criar uma cópia totalmente editável.
  • Edite o conteúdo aproveitando os dados do orçamento e exporte o documento final.
  • Os documentos ficam ligados ao orçamento para manter a rastreabilidade do trabalho.

5 Orçamento com BIM

Levante quantitativos a partir de modelos IFC/XKT e envie-os para um orçamento.

  • Cabeçalho enxuto com botões que abrem janelas: Modelo, SINAPI, Projeto, Orçamento e IA.
  • Em SINAPI, escolha o mês de referência, a UF e o regime de encargos usados na precificação.
  • Em Modelo, abra um arquivo .ifc ou .xkt; o IFC é convertido e exibido no visualizador 3D.
  • Clique nos objetos para capturar tipo, pavimento e dimensões; estime área, volume e comprimento pela geometria quando o IFC não traz os quantitativos.
  • Vincule composições/insumos a um objeto, a uma classe ou a objetos similares, com critério de quantitativo automático pela unidade.
  • Em Orçamento, vincule a um orçamento existente (pela lista ou pelo PIN) e herde mês/UF/regime dele.
  • Use Enviar itens ao orçamento: os itens entram agrupados por pavimento, com memorial de cálculo que identifica os objetos e os parâmetros adotados.
  • Salve o projeto em JSON para reabrir o levantamento depois.
O custo unitário enviado é calculado com a mesma lógica da Tabela SINAPI, garantindo que os totais batam com o orçamento.

6 Assistência por IA (no BIM)

Sugestões automáticas de vínculos entre objetos BIM e itens do orçamento.

  • Abra o botão IA e envie um tipo IFC por vez, para não sobrecarregar a consulta.
  • A IA recebe os objetos do tipo e os itens de referência do orçamento (código, descrição e unidade).
  • Ela retorna o código SINAPI, o objeto e a quantidade sugerida de cada vínculo.
  • Você decide: Substituir tudo, Incluir novos vínculos ou Ignorar a sugestão.
Requer uma chave OpenRouter configurada (OPENROUTER_API_KEY). A disponibilidade segue o plano contratado.

7 Insumos e Composições próprias

Cadastre insumos e monte composições quando o serviço não existir no SINAPI.

  • Cadastre insumos próprios com unidade e preço de referência.
  • Monte composições próprias combinando insumos e composições com seus coeficientes.
  • Registre equivalências e mantenha a rastreabilidade da origem de cada item.
  • Use as composições próprias nos orçamentos junto com os itens SINAPI.

8 Chave API

Conecte planilhas, BI e sistemas ao banco SINAPI por tokens.

  • Emita até 2 tokens por e-mail, com validade de 1 a 365 dias.
  • O token completo aparece somente na criação; o banco guarda apenas o hash SHA-256.
  • Use um token por sistema consumidor (Excel, Power BI, integração externa).
  • Revogue credenciais antigas, expostas ou sem uso; consulte os exemplos no Manual de conexão.
  • As requisições ficam monitoradas; acompanhe o consumo em Monitorar Uso.
Em rede externa, publique a API somente por HTTPS e nunca salve a chave em planilhas compartilhadas.

9 Gerenciamento

Conta, monitoramento e assinaturas.

  • Dados do Usuário: revise e mantenha atualizados os dados da sua conta.
  • Monitorar Uso: acompanhe o consumo de API e dos recursos de IA.
  • Assinaturas: a Consulta SINAPI permanece livre; os recursos de produtividade são contratados separadamente por conta.

Dicas e solução de problemas

  • Mudou de mês de referência e os preços não atualizaram? Confirme a UF e o regime de encargos selecionados.
  • Não consegue enviar o levantamento do BIM ao orçamento? Crie o orçamento primeiro e vincule pelo PIN.
  • Objeto BIM sem pavimento? O modelo IFC pode não trazer a relação IfcBuildingStorey; ele entra no grupo Sem Pavimento.
  • Tela com layout antigo após uma atualização? Limpe o cache do navegador com Ctrl+F5 (ou Ctrl+Shift+R).
  • Recurso aparece com cadeado? Está disponível mediante contratação do plano correspondente.

Materiais oficiais da CAIXA

Metodologia, parâmetros, downloads e fichas técnicas de insumos do SINAPI.

Gerenciamento

Dados do usuário

Consulte sua conta de acesso e mantenha as informações cadastrais usadas no SINAPI App.

PERFIL DO USUÁRIO
Conta ativa Ambiente de teste

Informações cadastrais

Atualize os dados usados para identificação, documentos e atendimento.

Identificação

Atuação profissional

Localização

O e-mail de acesso é gerenciado pela conta conectada.
Gerenciamento

Chave API

Crie credenciais vinculadas à sua conta e conecte sistemas, planilhas e rotinas ao banco SINAPI.


2 credenciais limite por conta
1 a 365 dias validade configurável
Monitorado histórico de requisições
SHA-256 hash; token não armazenado

Fluxo de integração

Uma credencial por sistema facilita auditoria, rotação e revogação.

1 Identifique

Informe o sistema consumidor.

2 Defina

Escolha escopo e validade.

3 Armazene

Copie o token uma única vez.

4 Monitore

Acompanhe uso e revogue quando necessário.

O token completo aparece somente na criação. Use HTTPS e nunca salve a chave em planilhas compartilhadas.

Criar token

Preencha os dados do sistema consumidor e gere uma credencial individual.

Protegido
E-mail responsável
Requisições Ilimitadas por enquanto, com consumo monitorado

Antes de gerar

  • Use um nome reconhecivel, como Excel-Orcamentos ou PowerBI-Dashboard.
  • Escolha uma validade curta para testes e maior apenas para sistemas consolidados.
  • Acompanhe o consumo na página Monitorar Uso.

Tokens emitidos

Identifique, acompanhe o último uso e revogue credenciais.

Credenciais
A lista mostra apenas o prefixo da chave. O valor completo não pode ser recuperado.

Conexao rapida

URL base http://127.0.0.1:7705
Cabecalho Authorization: Bearer snp_SEU_TOKEN
Swagger http://127.0.0.1:7705/__docs__/
Em ambiente local use 127.0.0.1. Em servidor, substitua pela URL publica ou interna onde a API Plumber estiver publicada.

Como autenticar

  1. Crie um token na aba Gerenciar tokens.
  2. Guarde o valor iniciado por snp_. Ele nao sera exibido novamente.
  3. Envie o token em todas as rotas /v1 pelo cabecalho Authorization.
  4. Use o Swagger para testar uma rota com Try it out.

Formato da requisicao

  • Metodo HTTP: use GET para consultas e POST para envio de lote.
  • Rota: e o caminho depois da URL base, por exemplo /v1/search.
  • Parametros: podem ir na URL como ?uf=SP&reference=2026-04 ou no corpo JSON em rotas POST.
  • Resposta: as rotas retornam JSON; downloads CSV retornam arquivo texto separado por virgula.

Exemplo com curl

                              curl -H "Authorization: Bearer snp_SEU_TOKEN" \
  "http://127.0.0.1:7705/v1/references"
                            

Estrutura basica de uma URL

                              http://127.0.0.1:7705/v1/search?q=concreto&uf=SP&limit=20

URL base: http://127.0.0.1:7705
Rota: /v1/search
Parametros: q=concreto, uf=SP, limit=20
Cabecalho obrigatorio: Authorization: Bearer snp_SEU_TOKEN
                            

Links do servico


Excel com Power Query

Passo a passo

  1. Confirme que a API esta aberta acessando http://127.0.0.1:7705/health no navegador.
  2. Crie uma area de parametros com Token, Codigo, UF, Referencia e Regime.
  3. Selecione apenas a celula do valor e defina seu nome na Caixa de Nome, ao lado da barra de formulas.
  4. Abra Dados > Obter Dados > De Outras Fontes > Consulta Nula.
  5. No Power Query, abra Pagina Inicial > Editor Avancado e cole o codigo abaixo.
  6. Se forem solicitadas credenciais, escolha Anonimo. O token ja segue no cabecalho.
  7. Clique em Fechar e Carregar para criar a tabela.
  8. Use Dados > Atualizar Tudo para consultar novamente a API.

Crie cinco células nomeadas no Excel: Token, Codigo, UF, Referencia e Regime. Depois abra Dados > Obter Dados > De Outras Fontes > Consulta Nula e cole o código no Editor Avançado.

Power Query usando parâmetros de células

                              let
  Token = Excel.CurrentWorkbook(){[Name="Token"]}[Content]{0}[Column1],
  Codigo = Text.From(Excel.CurrentWorkbook(){[Name="Codigo"]}[Content]{0}[Column1]),
  UF = Excel.CurrentWorkbook(){[Name="UF"]}[Content]{0}[Column1],
  Referencia = Excel.CurrentWorkbook(){[Name="Referencia"]}[Content]{0}[Column1],
  Regime = Excel.CurrentWorkbook(){[Name="Regime"]}[Content]{0}[Column1],
  Url = "http://127.0.0.1:7705/v1/inputs/" & Codigo & "/latest",
  Fonte = Json.Document(Web.Contents(Url,
    [
      Query=[uf=UF, reference=Referencia],
      Headers=[Authorization="Bearer " & Token]
    ]
  )),
  Resultado = #table({"Codigo", "UF", "Referencia", "Sem encargos", "Com desoneracao", "Sem desoneracao"}, {{
    Fonte[codigo]{0}, Fonte[uf]{0}, Fonte[referencia]{0},
    Fonte[preco_sem_encargos]{0}, Fonte[preco_com_desoneracao]{0}, Fonte[preco_sem_desoneracao]{0}
  }})
in
  Resultado
                            

Exemplo das células

Célula Nome definido Exemplo
B2 Token snp_SEU_TOKEN
B3 Codigo 6111
B4 UF SP
B5 Referencia 2026-04
B6 Regime com_desoneracao
Ao configurar a fonte Web, escolha Anonimo no nivel http://127.0.0.1:7705 e deixe desmarcada a opcao para ignorar niveis de privacidade somente se sua politica permitir.

Consultar encargos

Este exemplo retorna os percentuais horista e mensalista para a UF, referencia e regime informados nas celulas nomeadas.

Power Query: encargos por UF

                              let
  Token = Excel.CurrentWorkbook(){[Name="Token"]}[Content]{0}[Column1],
  UF = Excel.CurrentWorkbook(){[Name="UF"]}[Content]{0}[Column1],
  Referencia = Excel.CurrentWorkbook(){[Name="Referencia"]}[Content]{0}[Column1],
  Regime = Excel.CurrentWorkbook(){[Name="Regime"]}[Content]{0}[Column1],
  BaseUrl = "http://127.0.0.1:7705",
  Fonte = Json.Document(Web.Contents(BaseUrl,
    [
      RelativePath="v1/charges",
      Query=[reference=Referencia, uf=UF, regime=Regime],
      Headers=[Authorization="Bearer " & Token]
    ]
  )),
  Resultado = #table({"Referencia", "UF", "Regime", "Horista (%)", "Mensalista (%)", "Localidade"}, {{
    Fonte[reference]{0}, Fonte[uf]{0}, Fonte[regime]{0},
    Fonte[data][h]{0}, Fonte[data][mes]{0}, Fonte[data][localidade]{0}
  }})
in
  Resultado
                            

Atualizar uma lista de insumos

Preparar a tabela no Excel

  1. Crie as colunas Codigo, UF, Referencia e Regime.
  2. Preencha uma linha para cada insumo que deseja consultar.
  3. Selecione a lista inteira e pressione Ctrl+T para transforma-la em tabela.
  4. Na guia Design da Tabela, altere o nome para ListaSINAPI.
  5. Mantenha o token em uma celula separada com o nome definido Token.
  6. Crie uma Consulta Nula, abra o Editor Avancado e cole o codigo abaixo.
Codigo UF Referencia Regime
6111 SP 2026-04 com_desoneracao
124 MG 2026-04 sem_desoneracao
7334 RJ 2026-03 sem

Power Query: atualizar toda a tabela ListaSINAPI

                              let
  Token = Excel.CurrentWorkbook(){[Name="Token"]}[Content]{0}[Column1],
  Lista = Excel.CurrentWorkbook(){[Name="ListaSINAPI"]}[Content],
  BaseUrl = "http://127.0.0.1:7705",

  ConsultarInsumo = (Codigo as any, UF as text, Referencia as text, Regime as text) as record =>
    let
      Fonte = Json.Document(Web.Contents(BaseUrl,
        [
          RelativePath="v1/inputs/" & Text.From(Codigo) & "/latest",
          Query=[uf=UF, reference=Referencia],
          Headers=[Authorization="Bearer " & Token]
        ]
      )),
      Preco = if Regime = "sem" then Fonte[preco_sem_encargos]{0}
        else if Regime = "sem_desoneracao" then Fonte[preco_sem_desoneracao]{0}
        else Fonte[preco_com_desoneracao]{0},
      Resultado = [
        Descricao=Fonte[descricao]{0},
        Unidade=Fonte[unidade]{0},
        Classificacao=Fonte[classificacao]{0},
        Preco=Preco,
        SemEncargos=Fonte[preco_sem_encargos]{0},
        ComDesoneracao=Fonte[preco_com_desoneracao]{0},
        SemDesoneracao=Fonte[preco_sem_desoneracao]{0}
      ]
    in
      Resultado,

  ComConsulta = Table.AddColumn(Lista, "DadosSINAPI", each
    try ConsultarInsumo(Text.From([Codigo]), Text.Upper([UF]), Text.From([Referencia]), Text.From([Regime]))
    otherwise [Descricao="ERRO NA CONSULTA", Unidade=null, Classificacao=null, Preco=null, SemEncargos=null, ComDesoneracao=null, SemDesoneracao=null]
  ),
  Expandido = Table.ExpandRecordColumn(ComConsulta, "DadosSINAPI",
    {"Descricao", "Unidade", "Classificacao", "Preco", "SemEncargos", "ComDesoneracao", "SemDesoneracao"}
  ),
  Tipos = Table.TransformColumnTypes(Expandido, {
    {"Codigo", type text}, {"UF", type text}, {"Referencia", type text},
    {"Preco", Currency.Type}, {"SemEncargos", Currency.Type},
    {"ComDesoneracao", Currency.Type}, {"SemDesoneracao", Currency.Type}
  })
in
  Tipos
                            

Resultado esperado

A consulta preserva as quatro colunas originais e acrescenta Descricao, Unidade, Classificacao, Preco e os tres valores de regime. Depois basta alterar a lista e clicar em Dados > Atualizar Tudo.

Cada linha gera uma requisicao. Como os tokens estao ilimitados por enquanto, acompanhe o volume na pagina Monitorar Uso. Para listas extensas, use a rota POST /v1/batch/prices, que aceita ate 500 itens por requisicao.

Atualizacao automatica

Configuracao

  1. Abra Dados > Consultas e Conexoes.
  2. Clique com o botao direito na consulta e selecione Propriedades.
  3. Marque Atualizar dados ao abrir o arquivo.
  4. Opcionalmente, marque Atualizar a cada N minutos.
  5. Mantenha a API em execucao durante a atualizacao.
  1. Transforme Codigo e UF em parametros ou leia-os de celulas nomeadas.
  2. Carregue o resultado em uma tabela do Excel.
  3. Em Propriedades da Consulta, marque Atualizar ao abrir o arquivo.
  4. Defina Atualizar a cada N minutos quando a API estiver continuamente disponivel.

Excel: função direta na célula

Para escrever uma fórmula como =SINAPI_PRECO(A2;B2;C2;D2), use esta função VBA. Salve o arquivo como .xlsm e cole o código em Alt+F11 > Inserir > Módulo.

VBA para usar como fórmula

                              Function SINAPI_PRECO(Codigo As String, UF As String, Regime As String, Token As String) As Variant
  Dim Http As Object, Url As String, Texto As String
  Dim Chave As String, Inicio As Long, Fim As Long

  Url = "http://127.0.0.1:7705/v1/inputs/" & Codigo & "/latest?uf=" & UF
  Set Http = CreateObject("MSXML2.XMLHTTP")
  Http.Open "GET", Url, False
  Http.setRequestHeader "Authorization", "Bearer " & Token
  Http.Send

  If Http.Status <> 200 Then
    SINAPI_PRECO = CVErr(xlErrValue)
    Exit Function
  End If

  Texto = Http.responseText
  Select Case Regime
    Case "sem": Chave = """preco_sem_encargos"":["
    Case "sem_desoneracao": Chave = """preco_sem_desoneracao"":["
    Case Else: Chave = """preco_com_desoneracao"":["
  End Select

  Inicio = InStr(Texto, Chave) + Len(Chave)
  Fim = InStr(Inicio, Texto, "]")
  SINAPI_PRECO = CDbl(Replace(Mid(Texto, Inicio, Fim - Inicio), ".", Application.DecimalSeparator))
End Function
                            

Fórmula na célula do Excel

                              =SINAPI_PRECO(A2;B2;C2;$F$1)

A2 = código | B2 = UF | C2 = regime | F1 = token
                            

Como instalar a funcao no Excel

  1. Salve o arquivo como Pasta de Trabalho Habilitada para Macro (.xlsm).
  2. Pressione Alt+F11 e escolha Inserir > Modulo.
  3. Cole o codigo VBA e feche o editor.
  4. Habilite macros ao abrir o arquivo.
  5. Organize A = codigo, B = UF, C = regime e F1 = token.
  6. Digite a formula na coluna de preco e arraste para as demais linhas.
  7. Use Ctrl+Alt+F9 para forcar um novo calculo.

Power BI

O Power BI usa Power Query M para importar precos e criar relatorios por codigo, UF e referencia.

Passo a passo no Power BI Desktop

  1. Abra o Power BI Desktop e clique em Transformar dados.
  2. No Editor do Power Query, escolha Nova Fonte > Consulta Nula.
  3. Abra o Editor Avancado, apague o conteudo e cole o codigo abaixo.
  4. Altere Token, Codigo, UF e Referencia no inicio do codigo.
  5. Quando solicitado, configure a fonte Web como Anonima.
  6. Clique em Fechar e Aplicar.
  7. Defina as colunas de preco como Numero decimal ou Moeda.
  8. Crie tabelas, cartoes e graficos com os campos importados.

Power BI: consultar preco de insumo

                              let
  Token = "snp_SEU_TOKEN",
  Codigo = "6111",
  UF = "SP",
  Referencia = "2026-04",
  BaseUrl = "http://127.0.0.1:7705",
  Caminho = "v1/inputs/" & Codigo & "/latest",
  Fonte = Json.Document(Web.Contents(BaseUrl,
    [
      RelativePath=Caminho,
      Query=[uf=UF, reference=Referencia],
      Headers=[Authorization="Bearer " & Token]
    ]
  )),
  Tabela = #table({"Codigo", "UF", "Referencia", "Sem encargos", "Com desoneracao", "Sem desoneracao"}, {{
    Fonte[codigo]{0}, Fonte[uf]{0}, Fonte[referencia]{0},
    Fonte[preco_sem_encargos]{0}, Fonte[preco_com_desoneracao]{0}, Fonte[preco_sem_desoneracao]{0}
  }})
in
  Tabela
                            

Parametros reutilizaveis

  1. Abra Gerenciar Parametros > Novo Parametro no Power Query.
  2. Crie pToken, pCodigo, pUF e pReferencia.
  3. Substitua os valores fixos do codigo pelos nomes dos parametros.
  4. Use Editar Parametros para trocar a consulta sem alterar o codigo M.

Atualizacao no Power BI Service

  1. Publique o relatorio em um workspace.
  2. Se a API estiver em 127.0.0.1 ou na rede interna, instale o On-premises Data Gateway.
  3. Associe a fonte Web ao gateway.
  4. Mantenha a autenticacao como Anonima, pois o token segue no cabecalho.
  5. Configure Atualizacao agendada.
  6. Para dispensar o gateway, publique a API em uma URL HTTPS acessivel pela internet.
O Power BI Service nao acessa 127.0.0.1 diretamente. Use gateway ou uma URL HTTPS publica.

Google Sheets

Passo a passo

  1. Abra Extensoes > Apps Script.
  2. Apague o conteudo inicial do arquivo Code.gs e cole o script.
  3. Substitua SERVIDOR pelo endereco HTTPS publico da API.
  4. Salve e execute a funcao uma vez no editor para conceder permissoes.
  5. Organize A = codigo, B = UF, C = regime, D = referencia e F1 = token.
  6. Digite a formula na coluna de preco e arraste para outras linhas.
  7. Edite a celula ou force o recalculo quando precisar atualizar.

Abra Extensões > Apps Script, cole o código, salve e volte à planilha.

Apps Script: função personalizada

                              /**
 * Retorna o preço SINAPI.
 * @customfunction
 */
function SINAPI_PRECO(codigo, uf, regime, token, referencia) {
  const base = "http://SERVIDOR:7705";
  let url = `${base}/v1/inputs/${codigo}/latest?uf=${encodeURIComponent(uf)}`;
  if (referencia) url += `&reference=${encodeURIComponent(referencia)}`;
  const response = UrlFetchApp.fetch(url, {
    headers: {Authorization: `Bearer ${token}`},
    muteHttpExceptions: true
  });
  if (response.getResponseCode() !== 200) return `ERRO ${response.getResponseCode()}`;
  const data = JSON.parse(response.getContentText());
  if (regime === "sem") return data.preco_sem_encargos[0];
  if (regime === "sem_desoneracao") return data.preco_sem_desoneracao[0];
  return data.preco_com_desoneracao[0];
}
                            

Fórmula na célula do Google Sheets

                              =SINAPI_PRECO(A2;B2;C2;$F$1;D2)

A2 = código | B2 = UF | C2 = regime | D2 = referência | F1 = token
                            

O Google Sheets não acessa 127.0.0.1. Use o endereço público HTTPS do servidor da API. No Excel local, 127.0.0.1 funciona apenas se a API estiver no mesmo computador.


Python

                              import requests

token = "snp_SEU_TOKEN"
url = "http://127.0.0.1:7705/v1/search"
params = {"q": "concreto", "uf": "SP", "limit": 20}
headers = {"Authorization": f"Bearer {token}"}

response = requests.get(url, params=params, headers=headers, timeout=30)
response.raise_for_status()
print(response.json()["data"])
                            

JavaScript

                              const token = "snp_SEU_TOKEN";
const url = "http://127.0.0.1:7705/v1/references";

const response = await fetch(url, {
  headers: { Authorization: `Bearer ${token}` }
});
if (!response.ok) throw new Error(`HTTP ${response.status}`);
const result = await response.json();
console.log(result.data);
                            

R com httr2

                              library(httr2)

request("http://127.0.0.1:7705/v1/references") |>
  req_headers(Authorization = "Bearer snp_SEU_TOKEN") |>
  req_perform() |>
  resp_body_json()
                            

O que sao rotas

Rotas sao os enderecos que um sistema externo usa para pedir informacoes ao SINAPI. Cada rota tem uma finalidade: listar referencias, pesquisar itens, calcular precos, baixar bases mensais ou consultar em lote.

Todas as rotas iniciadas por /v1 exigem o cabecalho Authorization com um token ativo. As rotas /health, /manual e /__docs__/ servem para verificacao e documentacao.

Parametros comuns

Parametro Uso Exemplo
reference Mes de referencia da base SINAPI. Vazio usa a mais recente quando a rota permitir. 2026-04
uf Unidade federativa usada na consulta de precos e encargos. SP
regime Regime de encargos sociais para composicoes e mao de obra. com_desoneracao
q Texto ou codigo usado em buscas. concreto
limit Quantidade maxima de resultados retornados. 100
page / page_size Paginacao para bases mensais grandes. page=1&page_size=1000

Grupos de rotas

Grupo Quando usar
Catalogo Para descobrir referencias, UFs, classes, encargos e pesquisar codigos.
Preco pontual Para consultar um insumo ou composicao especifica.
Historico Para comparar evolucao mensal de um codigo.
Base mensal Para baixar ou paginar listas completas de um mes.
Lote Para atualizar varias linhas de uma planilha ou sistema em uma unica requisicao.

Consultas da API

Metodo Rota Finalidade
GET /v1/references Referencias mensais disponiveis
GET /v1/ufs UFs de uma referencia
GET /v1/classes Classes de insumos e composicoes
GET /v1/charges Encargos por UF e regime
GET /v1/search Busca por codigo ou descricao
GET /v1/inputs/{codigo}/latest Preco mais recente do insumo
GET /v1/inputs/{codigo}/history Historico do insumo
GET /v1/compositions/{codigo}/price Preco calculado da composicao
GET /v1/compositions/{codigo}/detail Arvore e detalhes da composicao
GET /v1/compositions/{codigo}/history Historico da composicao
GET /v1/month/{ref}/inputs Insumos paginados do mes
GET /v1/month/{ref}/compositions Composicoes do mes
GET /v1/month/{ref}/analytical Analitico completo paginado
GET /v1/month/{ref}/charges Encargos do mes
GET /v1/month/{ref}/inputs.csv Download dos insumos em CSV
GET /v1/month/{ref}/compositions.csv Download das composicoes em CSV
GET /v1/month/{ref}/analytical.csv Download do analitico em CSV
POST /v1/batch/prices Consulta em lote de ate 500 precos
Gerenciamento

Monitorar Uso

Acompanhe o consumo da Assistencia com IA e as consultas realizadas pelas suas chaves de API.

Visao geral

Dados de uso vinculados a sua conta.

Recursos inteligentes

Assistencia com IA

Limite semanal

Consumo no periodo

Ultimos 7 dias
Integracoes

Consulta por API

Ilimitada
Monitoramento ativo As consultas estao sem limite de quantidade, mas chamadas, erros e ultimo uso continuam registrados por chave.

Chaves de API

Situacao e atividade das credenciais emitidas.

Acesso monitorado

Atividade recente

Registros mais recentes separados por origem.

Assistencia com IA

Requisicoes e tokens utilizados.

Chamadas da API

Endpoint, resultado e tempo de resposta.

Assinaturas

Acesso livre e produtividade

Consulte a Tabela SINAPI gratuitamente e contrate separadamente apenas os recursos de produtividade que precisar.

ACESSO LIVRE

Consulta SINAPI sempre gratuita

Pesquise referências, filtre por UF e consulte a tabela diretamente na plataforma, sem contratar plano ou informar pagamento.

Sem assinatura Sem prazo de vigência Acesso direto
Livre
ASSINATURA DE PRODUTIVIDADE

Recursos adicionais para seu trabalho

Assistência com IA, orçamento com BIM, banco próprio e integração por API são recursos opcionais, independentes da Consulta SINAPI Livre.

Licença individual
1

Monte sua assinatura de produtividade

Use o combo recomendado ou selecione os módulos necessários para a sua conta.

2

Vigência e pagamento

A licença individual será vinculada ao e-mail conectado.

Comparar limites dos módulos
Módulo Código Limite principal Vigência
Banco de Dados Próprio
BD01 Insumos e composições conforme proposta Semestral ou anual
Assistência com IA
AI01 100 requisições/semana ou 2 milhões de tokens de saída Semestral ou anual
Orçamento com BIM
BM01 Quantitativos e arquivos conforme o plano Semestral ou anual
Consulta por API
AP01 RPM, limite diário e total por chave Semestral ou anual
EMPRESAS E INSTITUIÇÕES

Precisa contratar para vários usuários?

Para licenciamento de uma empresa, órgão ou instituição inteira, solicite uma proposta com a quantidade de usuários e as necessidades da equipe.

[email protected]