Uma SDK Swift para acessar os serviรงos da BrasilAPI de forma simples e integrada.
๐จ Respeite as regras de uso da API, conforme a documentaรงรฃo.
- ๐ฆ Instalaรงรฃo
- ๐จ Importante
- ๐ง Funcionalidades Implementadas
- ๐ Licenรงa
- ๐ค Contribuindo
- ๐ English Version
A SDK estรก disponรญvel via Swift Package Manager (SPM). Para adicionรก-la ao seu projeto:
- No Xcode, vรก para
File > Add Packages
- Insira a URL do repositรณrio:
https://github.com/LucasJorgeHubert/BrasilAPI-Swift
- Escolha a versรฃo desejada e adicione o pacote ao seu projeto
Ou, se preferir, adicione manualmente ao Package.swift
:
dependencies: [
.package(url: "https://github.com/LucasJorgeHubert/BrasilAPI-Swift", from: "1.0.0")
]
Lembre de adicionar a importaรงรฃo no cรณdigo:
import BrasilAPI
O SPM foi feito para facilitar a integraรงรฃo com a BrasilAPI, entรฃo todos os modelos retornados sรฃo exatamente os mesmos retornados no response da API, entรฃo quando for implementar, pode se basear no retorna da API para saber o que vai retornar na modelagem.
Listar Bancos banks/v1
Retorna informaรงรตes de todos os bancos do Brasil:
var banks: [BrasilAPI.Bank.BankModel] = try await BrasilAPI().banking.listBanks()
Buscar banco pelo cรณdigo banks/v1/{code}
Busca as informaรงรตes de um banco a partir do cรณdigo do banco:
var bank: BrasilAPI.Bank.BankModel = try await BrasilAPI().banking.getBankByCode(code: String)
Model BrasilAPI.Bank.BankModel
ispb: String
name: String?
code: Int?
fullName: String?
}
Buscar Moedas cambio/v1/moedas
Retorna informaรงรตes de todas as moedas disponรญveis para conversรฃo:
var coins: [BrasilAPI.Exchange.CoinModel] = try await BrasilAPI().exchange.listCoins()
Model BrasilAPI.Exchange.CoinModel
symbol: String
name: String
type: String
Buscar Cotaรงรฃo cambio/v1/cotacao/{moeda}/{data}
Busca pelo cรขmbio do Real com outra moeda, em uma data especรญfica:
var quote: BrasilAPI.Exchange.QuotationModel = try await BrasilAPI().exchange.getQuotation(coin: String, date: String)
/// coin: "USD"
/// date: YYYY-MM-DD
Model BrasilAPI.Exchange.QuotationModel
/// BrasilAPI.Exchange.QuotationModel
cotacoes: [BrasilAPIExchangeQuotationCoinModel]
moeda: String
data: String
/// BrasilAPI.Exchange.QuotationCoinModel
paridadeCompra: Double
paridadeVenda: Double
cotacaoCompra: Double
cotacaoVenda: Double
dataHoraCotacao: String
tipoBoletim: String
Buscar CEP cep/v1/{code}
Busca por CEP com mรบltiplos providers de fallback A busca utiliza como fonte principal o OpenCep, caso nรฃo encontre o CEP รฉ buscado em diversos outros providers de CEP.
var zipCode: BrasilAPI.ZipCode.ZipCodeV1Model = try await BrasilAPI().zipCode.searchZipCodeV1(zipCode: String) // Apenas nรบmeros
Model BrasilAPI.ZipCode.ZipCodeV1Model
cep: String
state: String
city: String
neighborhood: String
street: String
service: String
Buscar CEP cep/v2/{code}
Versรฃo 2 do serviรงo de busca por CEP com mรบltiplos providers de fallback.
var zipCode: BrasilAPI.ZipCode.ZipCodeV2Model = try await BrasilAPI().zipCode.searchZipCodeV2(zipCode: String) // Apenas nรบmeros
Model BrasilAPI.ZipCode.ZipCodeV2Model
/// BrasilAPI.ZipCode.ZipCodeV2Model
cep: String
state: String
city: String
neighborhood: String?
street: String?
service: String
location: BrasilAPIZipCodeV2LocationModel
/// ZipCodeService.BrasilAPIZipCodeV2LocationModel
type: String
coordinates: BrasilAPIZipCodeV2CoordinatesModel?
/// ZipCodeService.BrasilAPIZipCodeV2CoordinatesModel
longitude: String?
latitude: String?
Buscar CNPJ cnpj/v1/{cnpj}
Busca por CNPJ na API Minha Receita.
var cnpj: BrasilAPI.CNPJ.CNPJModel = try await BrasilAPI().cnpj.getCNPJ(cnpj: String) // Apenas nรบmeros
Model BrasilAPI.CNPJ.CNPJModel
uf: String
cep: String
qsa: [Qsa]
cnpj: String
pais: String?
email: String?
porte: String
bairro: String
numero: String
dddFax: String
municipio: String
logradouro: String
cnaeFiscal: Int
codigoPais: Int?
complemento: String
codigoPorte: Int
razaoSocial: String
nomeFantasia: String
capitalSocial: Int
dddTelefone1: String
dddTelefone2: String
opcaoPeloMei: Bool?
descricaoPorte: String
codigoMunicipio: Int
cnaesSecundarios: [CnaesSecundario]
naturezaJuridica: String
regimeTributario: [RegimeTributario]
situacaoEspecial: String
opcaoPeloSimples: Bool?
situacaoCadastral: Int
dataOpcaoPeloMei: String?
dataExclusaoDoMei: String?
cnaeFiscalDescricao: String
codigoMunicipioIbge: Int
dataInicioAtividade: String
dataSituacaoEspecial: String?
dataOpcaoPeloSimples: String?
dataSituacaoCadastral: String
nomeCidadeNoExterior: String
codigoNaturezaJuridica: Int
dataExclusaoDoSimples: String?
motivoSituacaoCadastral: Int
enteFederativoResponsavel: String
identificadorMatrizFilial: Int
qualificacaoDoResponsavel: Int
descricaoSituacaoCadastral: String
descricaoTipoDeLogradouro: String
descricaoMotivoSituacaoCadastral: String
descricaoIdentificadorMatrizFilial: String
/// QSA
pais: String?
nomeSocio: String
codigoPais: Int?
faixaEtaria: String
cnpjCpfDoSocio: String
qualificacaoSocio: String
codigoFaixaEtaria: Int
dataEntradaSociedade: String
identificadorDeSocio: Int
cpfRepresentanteLegal: String
nomeRepresentanteLegal: String
codigoQualificacaoSocio: Int
qualificacaoRepresentanteLegal: String
codigoQualificacaoRepresentanteLegal: Int
/// RegimeTributario
ano: Int
cnpjDaSCP: String?
formaDeTributacao: String
quantidadeDeEscrituracoes: Int
/// CnaesSecundario
codigo: Int
descricao: String
Buscar corretoras /cvm/corretoras/v1
var brokers: [Broker.BrokerModel] = try await BrasilAPI().broker.getBrokers()
Buscar corretora por CNPJ /cvm/corretoras/v1/{cnpj}
var broker: Broker.BrokerModel = try await BrasilAPI().broker.getBrokerByCnpj(cnpj: String)
Model Broker.BrokerModel
cnpj: String
type: String
nomeSocial: String
nomeComercial: String
status: String
email: String
telefone: String
cep: String
pais: String
uf: String
municipio: String
bairro: String
complemento: String
logradouro: String
dataPatrimonioLiquido: String
valorPatrimonioLiquido: String
codigoCvm: String
dataInicioSituacao: String
dataRegistro: String
Listar localidades cptec/v1/cidade
Retorna listagem com todas as cidades junto a seus respectivos cรณdigos presentes nos serviรงos da CPTEC. O Cรณdigo destas cidades serรก utilizado para os serviรงos de meteorologia e a ondas (previsรฃo oceรขnica) fornecido pelo centro. Leve em consideraรงรฃo que o WebService do CPTEC as vezes รฉ instรกvel, entรฃo se nรฃo encontrar uma determinada cidade na listagem completa, tente buscando por parte de seu nome no endpoint de busca.
var cities: [BrasilAPI.CPTEC.LocalModel] = try await BrasilAPI().cptec.getListCPTECLocals()
Model BrasilAPI.CPTEC.LocalModel
name: String
state: String
id: Int
Buscar localidade cptec/v1/cidade/{cityName}
Retorna listagem com todas as cidades correspondentes ao termo pesquisado junto a seus respectivos cรณdigos presentes nos serviรงos da CPTEC. O Cรณdigo destas cidades serรก utilizado para os serviรงos de meteorologia e a ondas (previsรฃo oceรขnica) fornecido pelo centro.
var cities: [BrasilAPI.CPTEC.LocalModel] = try await BrasilAPI().cptec.getCPTECLocal(localName: String)
Model BrasilAPI.CPTEC.LocalModel
name: String
state: String
id: Int
Condiรงรฃo nas capitais cptec/v1/clima/capital
Retorna condiรงรตes meteorolรณgicas atuais nas capitais do paรญs, com base nas estaรงรตes de solo de seu aeroporto.
var condition: [BrasilAPI.CPTEC.ConditionModel] = try await BrasilAPI().cptec.getListCPTECCapitals()
Model BrasilAPI.CPTEC.ConditionModel
codeICAO: String
updated: String
pressure: String
visibility: String
windSpeed: Int
windDirection: Int
humidity: Int
condition: String
conditionDescription: String
temperature: Int
Condiรงรฃo nos aeroportos cptec/v1/clima/aeroporto/{icaoCode}
Retorna condiรงรตes meteorolรณgicas atuais no aeroporto solicitado. Este endpoint utiliza o cรณdigo ICAO (4 dรญgitos) do aeroporto.
var condition: BrasilAPI.CPTEC.ConditionModel = try await BrasilAPI().cptec.getCPTECCapital(codeICAO: String)
Model BrasilAPI.CPTEC.ConditionModel
codeICAO: String
updated: String
pressure: String
visibility: String
windSpeed: Int
windDirection: Int
humidity: Int
condition: String
conditionDescription: String
temperature: Int
Retorna a previsรฃo meteorolรณgica para a cidade informada para um perรญodo de 1 atรฉ 6 dias. Devido a inconsistรชncias encontradas nos retornos da CPTEC nossa API sรณ consegue retornar com precisรฃo o perรญodo mรกximo de 6 dias.
var forecast: BrasilAPI.CPTEC.ForecastModel = try await BrasilAPI().cptec.getCPTECLocalForecast(cityCode: Int, days: ForecastAvailableDays)
// ForecastAvailableDays = Enum de 1 a 6 diuas
Model BrasilAPI.CPTEC.ForecastModel
city: String
state: String
updated: String
weather: [CPTECService.BrasilAPICPTECWeatherModel]
// CPTECService.BrasilAPICPTECWeatherModel
date: String
condition: String
conditionDescription: String
min: Int
max: Int
indexUV: Int
Previsรฃo oceanica cptec/v1/ondas/{cityCode}/{days}
Retorna a previsรฃo oceรขnica para a cidade informada para um perรญodo de, atรฉ, 6 dias.
var forecast: BrasilAPI.CPTEC.OceanicForecastModel = try await BrasilAPI().cptec.getCPTECOceanicForecast(cityCode: Int, days: ForecastAvailableDays)
// ForecastAvailableDays = Enum de 1 a 6 dias
Model BrasilAPI.CPTEC.OceanicForecastModel
city: String
state: String
updated: String
waves: [BrasilAPICPTECWavesModel]
// BrasilAPICPTECWavesModel
date: String
data: [CPTECService.BrasilAPICPTECWavesDataModel]
// CPTECService.BrasilAPICPTECWavesDataModel
windSpeed: Double
windDirection: String
windDirectionDescription: String?
waveHeight: Double
waveDirection: String
waveDirectionDescription: String?
agitation: String
hour: String
Listar cidades por DDD ddd/v1/{ddd}
Retorna estado e lista de cidades por DDD
var cities: BrasilAPI.DDD.CitiesModel = try await BrasilAPI().ddd.getCitiesByDDD(ddd: String)
Model BrasilAPI.DDD.CitiesModel
cities: [String]
state: String
Listar feriados nacionais feriados/v1/{ano}
Calcula os feriados mรณveis baseados na Pรกscoa e adiciona os feriados fixos
var holidays: [BrasilAPI.Holidays.BrasilAPIHolidaysModel] = try await BrasilAPI().holidays.getNationalHolidays(year: 2025)
Model BrasilAPI.Holidays.BrasilAPIHolidaysModel
date: String
name: String
type: String
Listar marcas de veรญculos fipe/marcas/v1/{tipoVeiculo}
Lista as marcas de veรญculos referente ao tipo de veรญculo
var brands: [BrasilAPI.FIPE.VehiclesTypeModel] = try await BrasilAPI().fipe.getBrandByVehicleType(carType: FIPEService.VehicleTypeEnum)
FIPEService.VehicleTypeEnum: car
, truck
e motorcycle
Model BrasilAPI.FIPE.VehiclesTypeModel
name: String
value: String
Consultar preรงo do veรญculo fipe/preco/v1/{codigoFipe}
Consulta o preรงo do veรญculo segundo a tabela fipe.
var prices: [BrasilAPI.FIPE.VehiclePriceModel] = try await BrasilAPI().fipe.getVehiclePrice(codeFIPE: String)
Model BrasilAPI.FIPE.VehiclePriceModel
name: String
value: String
Listar tabelas de referรชncia fipe/tabelas/v1
var tables: [BrasilAPI.FIPE.FIPETableModel] = try await BrasilAPI().fipe.getReferenceTables()
Model BrasilAPI.FIPE.FIPETableModel
code: Int
month: String
Listar veรญculos por marca e tipo fipe/veiculos/v1/{tipoVeiculo}/{codigoMarca}
var tables: [BrasilAPI.FIPE.VehicleModel] = try await BrasilAPI().fipe.listVehicles(type: FIPEService.VehicleTypeEnum, brandCode: String)
FIPEService.VehicleTypeEnum: car
, truck
e motorcycle
Model BrasilAPI.FIPE.VehicleModel
model: String
Listar cidades ibge/municipios/v1/{siglaUF}
Retorna os municรญpios da unidade federativa
var cities: [BrasilAPI.IBGE.CityModel] = try await BrasilAPI().ibge.getIBGECitiesByUF(uf: BrasilState)
// BrasilState รฉ um enum com todos os estados brasileiros
Model BrasilAPI.IBGE.CityModel
name: String
code: String
Listar estados ibge/uf/v1
Retorna informaรงรตes de todos estados do Brasil
var states: [BrasilAPI.IBGE.StateModel] = try await BrasilAPI().ibge.getIBGEStates()
Model BrasilAPI.IBGE.StateModel
id: Int
acronym: String
name: String
region: BrasilAPIIBGEStateRegionModel
// BrasilAPIIBGEStateRegionModel
id: Int
acronym: String
name: String
Listar estado ibge/uf/v1/{code}
Busca as informaรงรตes de um estado a partir da sigla ou cรณdigo
var state: BrasilAPI.IBGE.StateModel = try await BrasilAPI().ibge.getIBGEStateByCode(code: BrasilState)
// BrasilState รฉ um enum com todos os estados brasileiros
Model BrasilAPI.IBGE.StateModel
id: Int
acronym: String
name: String
region: BrasilAPIIBGEStateRegionModel
// BrasilAPIIBGEStateRegionModel
id: Int
acronym: String
name: String
Buscar livro isbn/v1/{isbn}
Informaรงรตes sobre o livro a partir do ISBN
let book: BrasilAPI.ISBN.BookModel = try await BrasilAPI().isbn.getBook(isbn: String)
Model BrasilAPI.ISBN.BookModel
isbn: String
title: String
subtitle: String?
authors: [String]
publisher: String
synopsis: String
dimensions: DimensionsModel
year: Int
format: String
page_count: Int
subjects: [String]
location: String
retail_price: String?
cover_url: String?
provider: String
// DimensionsModel
width: Double
height: Double
unit: String
Buscar todos os NCMs ncm/v1
var ncms: [BrasilAPI.NCM.NCMModel] = try await BrasilAPI().ncm.getAllNCM()
Model BrasilAPI.NCM.NCMModel
codigo: String
descricao: String
dataInicio: String
dataFim: String
tipoAto: String
numeroAto: String
anoAto: String
Buscar NCM ncm/v1/{code}
let ncm: BrasilAPI.NCM.NCMModel = try await BrasilAPI().ncm.getNCMByCode(code: String)
Pesquisar NCM ncm/v1?search={term}
let ncm: [BrasilAPI.NCM.NCMModel] = try await BrasilAPI().ncm.searchNCM(term: String)
/// Termo pode ser o nรบmero ou descriรงรฃo, conforme documentaรงรฃo da BrasilAPI
Buscar participantes pix/v1/participants
Retorna informaรงรตes de todos os participantes do PIX no dia atual ou anterior
var participants: [BrasilAPI.PIX.PIXParticipoantsModel] = try await BrasilAPI().pix.getPIXPartcipants()
Model BrasilAPI.PIX.PIXParticipoantsModel
ispb: String
name: String
nameReduzido: String
modalidadeParticipacao: String
tipoParticipacao: String
inicioOperacao: String
Buscar status do dominio registrobr/v1/{domain}
Avalia um dominio no registro.br
let status: BrasilAPI.DomainBR.DomainBRStatusModel = try await BrasilAPI().domainBR.getDomainBRStatus(domain: String)
Model BrasilAPI.DomainBR.DomainBRStatusModel
statusCode: Domain.DomainBR.Enums.DomainBRStatusCodeEnum
status: Domain.DomainBR.Enums.DomainBRStatusEnum
fqdn: String
fqdnace: String?
exempt: Bool?
hosts: [String]?
publicationStatus: String?
expiresAt: String?
suggestions: [String]?
reasons: String?
// BrasilAPI.DomainBR.DomainBRStatusEnum
available = "AVAILABLE"
availableWithTicket = "AVAILABLE_WITH_TICKET"
registered = "REGISTERED"
unavailable = "UNAVAILABLE"
invalidQuery = "INVALID_QUERY"
releaseWaiting = "RELEASE_WAITING"
releaseInProgress = "RELEASE_IN_PROGRESS"
releaseInProgressWithTickets = "RELEASE_IN_PROGRESS_WITH_TICKETS"
error = "ERROR"
domainProcessRelease = "DOMAIN_PROCESS_RELEASE"
unknow = "UNKNOW"
// BrasilAPI.DomainBR.DomainBRStatusCodeEnum
available = 0
availableWithTicket = 1
registered = 2
unavailable = 3
invalidQuery = 4
releaseWaiting = 5
releaseInProgress = 6
releaseInProgressWithTickets = 7
error = 8
domainProcessRelease = 9
unknow = 10
Listar todas as taxas taxas/v1
Retorna as taxas de juros e alguns รญndices oficiais do Brasil
var taxas: [BrasilAPI.Taxas.TaxModel] = try await BrasilAPI()tax.getTaxes()
Model BrasilAPI.Taxas.TaxModel
name: String
value: Double
Buscar taxa taxas/v1/{sigla}
Busca as informaรงรตes de uma taxa a partir do seu nome/sigla
var tax: BrasilAPI.Taxas.TaxModel = try await BrasilAPI().tax.getTax(taxId: "CDI")
Este projeto รฉ licenciado sob a MIT License.
Contribuiรงรตes sรฃo bem-vindas! Sinta-se ร vontade para abrir issues e pull requests.
Created with โค๏ธ by Lucas Hubert.
A Swift SDK to access BrasilAPI services in a simple and integrated way.
- ๐ฆ Installation
- ๐จ Important
- ๐ง Implemented Features
- ๐ License
- ๐ค Contributing
- ๐ Versรฃo em Portuguรชs
The SDK is available via Swift Package Manager (SPM). To add it to your project:
- In Xcode, go to
File > Add Packages
- Enter the repository URL:
https://github.com/LucasJorgeHubert/BrasilAPI-Swift
- Choose the desired version and add the package to your project
Or, if you prefer, manually add it to Package.swift
:
dependencies: [
.package(url: "https://github.com/LucasJorgeHubert/BrasilAPI-Swift", from: "1.0.0")
]
Remember to import it in your code:
import BrasilAPI
The SPM was created to facilitate integration with BrasilAPI, so all returned models are exactly the same as those in the API response. When implementing, you can rely on the API response to know what will be returned in the model.
List Banks banks/v1
Returns information about all banks in Brazil:
var banks: [BrasilAPI.Bank.BankModel] = try await BrasilAPI().banking.listBanks()
Get Bank by Code banks/v1/{code}
Fetches information about a bank using its code:
var bank: BrasilAPI.Bank.BankModel = try await BrasilAPI().banking.getBankByCode(code: String)
Get Currencies cambio/v1/moedas
Returns information about all available currencies for conversion:
var coins: [BrasilAPI.Exchange.CoinModel] = try await BrasilAPI().exchange.listCoins()
Get Exchange Rate cambio/v1/cotacao/{moeda}/{data}
Fetches exchange rates for BRL with another currency on a specific date:
var quote: BrasilAPI.Exchange.QuotationModel = try await BrasilAPI().exchange.getQuotation(coin: String, date: String)
Get ZIP Code cep/v1/{code}
Fetches ZIP code information using multiple fallback providers.
var zipCode: BrasilAPI.ZipCode.ZipCodeV1Model = try await BrasilAPI().zipCode.searchZipCodeV1(zipCode: String)
Get ZIP Code cep/v2/{code}
Version 2 of the ZIP code lookup service with multiple fallback providers.
var zipCode: ZipCodeV2Model = try await BrasilAPI().zipCode.searchZipCodeV2(zipCode: String)
Get CNPJ cnpj/v1/{cnpj}
Fetches company information using CNPJ from the Minha Receita API.
var cnpj: BrasilAPI.CNPJ.CNPJModel = try await BrasilAPI().cnpj.getCNPJ(cnpj: String)
Get Brokers /cvm/corretoras/v1
var brokers: [Broker.BrokerModel] = try await BrasilAPI().broker.getBrokers()
Get Broker by CNPJ /cvm/corretoras/v1/{cnpj}
var broker: Broker.BrokerModel = try await BrasilAPI().broker.getBrokerByCnpj(cnpj: String)
List Locations cptec/v1/cidade
Returns a list of all cities along with their respective codes available in CPTEC services. These city codes will be used for meteorology and ocean wave (ocean forecast) services provided by the center. Keep in mind that CPTEC's WebService is sometimes unstable, so if you don't find a specific city in the complete list, try searching by part of its name in the search endpoint.
var cities: [BrasilAPI.CPTEC.LocalModel] = try await BrasilAPI().cptec.getListCPTECLocals()
Model BrasilAPI.CPTEC.LocalModel
name: String
state: String
id: Int
Search Location cptec/v1/cidade/{cityName}
Returns a list of all cities matching the searched term along with their respective codes available in CPTEC services. These city codes will be used for meteorology and ocean wave (ocean forecast) services provided by the center.
var cities: [BrasilAPI.CPTEC.LocalModel] = try await BrasilAPI().cptec.getCPTECLocal(localName: String)
Model BrasilAPI.CPTEC.LocalModel
name: String
state: String
id: Int
Conditions in Capitals cptec/v1/clima/capital
Returns current weather conditions in the country's capitals, based on airport ground stations.
var condition: [BrasilAPI.CPTEC.ConditionModel] = try await BrasilAPI().cptec.getListCPTECCapitals()
Model BrasilAPI.CPTEC.ConditionModel
codeICAO: String
updated: String
pressure: String
visibility: String
windSpeed: Int
windDirection: Int
humidity: Int
condition: String
conditionDescription: String
temperature: Int
Conditions at Airports cptec/v1/clima/aeroporto/{icaoCode}
Returns current weather conditions at the requested airport. This endpoint uses the ICAO code (4-digit) of the airport.
var condition: BrasilAPI.CPTEC.ConditionModel = try await BrasilAPI().cptec.getCPTECCapital(codeICAO: String)
Model BrasilAPI.CPTEC.ConditionModel
codeICAO: String
updated: String
pressure: String
visibility: String
windSpeed: Int
windDirection: Int
humidity: Int
condition: String
conditionDescription: String
temperature: Int
Returns the weather forecast for the specified city for a period of 1 to 6 days. Due to inconsistencies found in CPTEC's responses, our API can only reliably return a maximum period of 6 days.
var forecast: BrasilAPI.CPTEC.ForecastModel = try await BrasilAPI().cptec.getCPTECLocalForecast(cityCode: Int, days: ForecastAvailableDays)
// ForecastAvailableDays = Enum from 1 to 6 days
Model BrasilAPI.CPTEC.ForecastModel
city: String
state: String
updated: String
weather: [CPTECService.BrasilAPICPTECWeatherModel]
// CPTECService.BrasilAPICPTECWeatherModel
date: String
condition: String
conditionDescription: String
min: Int
max: Int
indexUV: Int
Ocean Forecast cptec/v1/ondas/{cityCode}/{days}
Returns the ocean forecast for the specified city for a period of up to 6 days.
var forecast: BrasilAPI.CPTEC.OceanicForecastModel = try await BrasilAPI().cptec.getCPTECOceanicForecast(cityCode: Int, days: ForecastAvailableDays)
// ForecastAvailableDays = Enum from 1 to 6 days
Model BrasilAPI.CPTEC.OceanicForecastModel
city: String
state: String
updated: String
waves: [BrasilAPICPTECWavesModel]
// BrasilAPICPTECWavesModel
date: String
data: [CPTECService.BrasilAPICPTECWavesDataModel]
// CPTECService.BrasilAPICPTECWavesDataModel
windSpeed: Double
windDirection: String
windDirectionDescription: String?
waveHeight: Double
waveDirection: String
waveDirectionDescription: String?
agitation: String
hour: String
List Cities by DDD ddd/v1/{ddd}
Returns state and list of cities by DDD (area code).
var cities: BrasilAPI.DDD.CitiesModel = try await BrasilAPI().ddd.getCitiesByDDD(ddd: String)
Model BrasilAPI.DDD.CitiesModel
cities: [String]
state: String
List National Holidays feriados/v1/{year}
Calculates the movable holidays based on Easter and adds the fixed holidays.
var holidays: [BrasilAPI.Holidays.BrasilAPIHolidaysModel] = try await BrasilAPI().holidays.getNationalHolidays(year: 2025)
Model BrasilAPI.Holidays.BrasilAPIHolidaysModel
date: String
name: String
type: String
List Vehicle Brands fipe/marcas/v1/{vehicleType}
Lists the vehicle brands for the specified vehicle type.
var brands: [BrasilAPI.FIPE.VehiclesTypeModel] = try await BrasilAPI().fipe.getBrandByVehicleType(carType: FIPEService.VehicleTypeEnum)
FIPEService.VehicleTypeEnum: car
, truck
, and motorcycle
Model BrasilAPI.FIPE.VehiclesTypeModel
name: String
value: String
Get Vehicle Price fipe/preco/v1/{fipeCode}
Retrieves the vehicle price according to the FIPE table.
var prices: [BrasilAPI.FIPE.VehiclePriceModel] = try await BrasilAPI().fipe.getVehiclePrice(codeFIPE: String)
Model BrasilAPI.FIPE.VehiclePriceModel
name: String
value: String
List Reference Tables fipe/tabelas/v1
var tables: [BrasilAPI.FIPE.FIPETableModel] = try await BrasilAPI().fipe.getReferenceTables()
Model BrasilAPI.FIPE.FIPETableModel
code: Int
month: String
List Vehicles by Brand and Type fipe/veiculos/v1/{vehicleType}/{brandCode}
var tables: [BrasilAPI.FIPE.VehicleModel] = try await BrasilAPI().fipe.listVehicles(type: FIPEService.VehicleTypeEnum, brandCode: String)
FIPEService.VehicleTypeEnum: car
, truck
, and motorcycle
Model BrasilAPI.FIPE.VehicleModel
model: String
List cities ibge/municipios/v1/{siglaUF}
Returns the cities of the federative unit
var cities: [BrasilAPI.IBGE.CityModel] = try await BrasilAPI().ibge.getIBGECitiesByUF(uf: BrasilState)
// BrasilState is an enum with all Brazilian states
Model BrasilAPI.IBGE.CityModel
name: String
code: String
List states ibge/uf/v1
Returns information about all Brazilian states
var states: [BrasilAPI.IBGE.StateModel] = try await BrasilAPI().ibge.getIBGEStates()
Model BrasilAPI.IBGE.StateModel
id: Int
acronym: String
name: String
region: BrasilAPIIBGEStateRegionModel
// BrasilAPIIBGEStateRegionModel
id: Int
acronym: String
name: String
Get state by code ibge/uf/v1/{code}
Fetches information about a state by acronym or code
var state: BrasilAPI.IBGE.StateModel = try await BrasilAPI().ibge.getIBGEStateByCode(code: BrasilState)
// BrasilState is an enum with all Brazilian states
Model BrasilAPI.IBGE.StateModel
id: Int
acronym: String
name: String
region: BrasilAPIIBGEStateRegionModel
// BrasilAPIIBGEStateRegionModel
id: Int
acronym: String
name: String
Search book isbn/v1/{isbn}
Get book information from ISBN number code
let book: BrasilAPI.ISBN.BookModel = try await brasilAPI.isbn.getBook(isbn: String)
Model BrasilAPI.ISBN.BookModel
isbn: String
title: String
subtitle: String?
authors: [String]
publisher: String
synopsis: String
dimensions: DimensionsModel
year: Int
format: String
page_count: Int
subjects: [String]
location: String
retail_price: String?
cover_url: String?
provider: String
// DimensionsModel
width: Double
height: Double
unit: String
Get all NCMs ncm/v1
var ncms: [BrasilAPI.NCM.NCMModel] = try await BrasilAPI().ncm.getAllNCM()
Model BrasilAPI.NCM.NCMModel
codigo: String
descricao: String
dataInicio: String
dataFim: String
tipoAto: String
numeroAto: String
anoAto: String
Get NCM ncm/v1/{code}
let ncm: BrasilAPI.NCM.NCMModel = try await brasilAPI.ncm.getNCMByCode(code: String)
Search NCM ncm/v1?search={term}
let ncm: [BrasilAPI.NCM.NCMModel] = try await brasilAPI.ncm.searchNCM(term: String)
/// Term can be a code or a description
Search participants pix/v1/participants
Return information about all participants of the PIX on the current or previous day
var participants: [BrasilAPI.PIX.PIXParticipoantsModel] = try await BrasilAPI().pix.getPIXPartcipants()
Model BrasilAPI.PIX.PIXParticipoantsModel
ispb: String
name: String
nameReduzido: String
modalidadeParticipacao: String
tipoParticipacao: String
inicioOperacao: String
Get domain status registrobr/v1/{domain}
Avalia um dominio no registro.br
let status: BrasilAPI.DomainBR.DomainBRStatusModel = try await BrasilAPI().domainBR.getDomainBRStatus(domain: String)
Get taxes taxas/v1
Retorna as taxas de juros e alguns รญndices oficiais do Brasil
var taxas: [BrasilAPI.Taxas.TaxModel] = try await BrasilAPI()tax.getTaxes()
Model BrasilAPI.Taxas.TaxModel
name: String
value: Double
Get tax taxas/v1/{sigla}
Busca as informaรงรตes de uma taxa a partir do seu nome/sigla
var tax: BrasilAPI.Taxas.TaxModel = try await BrasilAPI().tax.getTax(taxId: "CDI")
This project is licensed under the MIT License.
Contributions are welcome! Feel free to open issues and pull requests.
Created with โค๏ธ by Lucas Hubert.