Aprenda a chamar APIs públicas brasileiras (ViaCEP, IBGE e Banco Central) com PowerShell Core (pwsh) neste post direto ao ponto, que inclui um guia prático de autenticação.
Primerio GET – ViaCEP
A API do ViaCEP permite consultar um endereço a partir de um CEP (8 dígitos) e retornar o resultado em JSON. É perfeita para treinar porque não exige autenticação.
Exemplo: buscar endereço pelo CEP (01001000):
$cep = '01001000'
$url = "https://viacep.com.br/ws/$cep/json/"
$dados = Invoke-RestMethod -Uri $url -Method Get
$dados.Content | ConvertFrom-Json
Pegando só alguns campos do retorno:
"{0}, {1} - {2}/{3}" -f $dados.logradouro, $dados.bairro, $dados.localidade, $dados.uf
Consultando dados do IBGE
O IBGE publica uma API de Localidades que permite consultar regiões, estados e municípios. É uma forma muito boa de praticar consumo de JSON e filtros no PowerShell.
Listando UFs (estados):
$url = "https://servicodados.ibge.gov.br/api/v1/localidades/estados"
$ufs = Invoke-RestMethod -Uri $url -Method Get
$ufs | Select-Object id, sigla, nome | Sort-Object nome
Encontrando o RS e listando municípios do RS:
$ufs = Invoke-RestMethod "https://servicodados.ibge.gov.br/api/v1/localidades/estados"
$rs = $ufs | Where-Object sigla -eq 'RS'
$ufId = $rs.id
$url = "https://servicodados.ibge.gov.br/api/v1/localidades/estados/$ufId/municipios"
$municipios = Invoke-RestMethod $url
$municipios | Select-Object id, nome | Sort-Object nome | Select-Object -First 20
Série temporal do Banco Central: Selic via SGS/BCData
O Banco Central do Brasil disponibiliza dados de séries temporais via API. Você pode consultar a série 11 (Selic) em um intervalo de datas e receber JSON.
Exemplo: Selic em 2025:
$serie = 11
$dataInicial = "01/01/2025"
$dataFinal = "31/12/2025"
$url = "https://api.bcb.gov.br/dados/serie/bcdata.sgs.$serie/dados?formato=json&dataInicial=$dataInicial&dataFinal=$dataFinal"
$selic = Invoke-RestMethod -Uri $url -Method Get
$selic | Select-Object -First 5
Conclusão
Se você aprendeu a chamar APIs com GET, ler JSON e aplicar autenticação via headers, você já está no caminho certo para automatizar integrações reais com PowerShell. A partir daqui, os próximos passos naturais são: POST/PUT com JSON, paginação e logs/retry em scripts de produção.
Referências (links citados)
· ViaCEP (documentação e exemplos): https://viacep.com.br/
· IBGE – API de serviço de dados (Localidades): https://servicodados.ibge.gov.br/api/docs/localidades
· IBGE – endpoint estados: https://servicodados.ibge.gov.br/api/v1/localidades/estados
· BCB – exemplo de consulta SGS/BCData (Série 11 – Selic): https://api.bcb.gov.br/dados/serie/bcdata.sgs.11/dados?formato=json
· PowerShell – Invoke-RestMethod: https://learn.microsoft.com/powershell/module/microsoft.powershell.utility/invoke-restmethod
