Uma 
lib
É possível encontrar toda a documentação desse client/sdk na 
doc
. 
Features
- CEP (Zip code)
 - DDD
 - Bank
 - Corretoras
 - CNPJ
 - Feriados Nacionais
 - Registros de domínios br
 - IBGE
 - Tabela FIPE
 - ISBN
 - Taxas
 - PIX
 - NCM
 - CPTEC
 
Como contribuir
Veja 
CONTRIBUTING.md
Instalação
v install Ddiidev.brasilapi
Como usar
import Ddiidev.brasilapi.cep.v1 as cep
fn main() {
    if cep_ := cep.get_cep('63900-193') {
        dump(cep_)
    } else {
        // print message error
        println(err)
    }
}
Resultado:
[.\\src\\main.v:7] cep_: v1.Cep{
    cep: '63900193'
    state: 'CE'
    city: 'Quixadá'
    neighborhood: 'Centro'
    street: 'Rua Doutor Rui Maia'
    service: 'correios'
}
Capturando detalhes de erros
import Ddiidev.brasilapi.cep.v2 as cep
import Ddiidev.brasilapi.cep.errors
fn main() {
    if cep_ := cep.get_cep('00000-000') {
        dump(cep_)
    } else {
        if err is errors.CepError {
            dump(err)
        }
    }
}
Resultado:
[.\\src\\main.v:9] err: &errors.CepError{
    Error: Error{}
    message: 'Todos os serviços de CEP retornaram erro.'
    type: 'service_error'
    name: 'CepPromiseError'
    errors: [struct {
        name: 'ServiceError'
        message: 'CEP INVÁLIDO'
        service: 'correios'
    }, struct {
        name: 'ServiceError'
        message: 'Erro ao se conectar com o serviço ViaCEP.'
        service: 'viacep'
    }, struct {
        name: 'ServiceError'
        message: 'Erro ao se conectar com o serviço WideNet.'
        service: 'widenet'
    }, struct {
        name: 'ServiceError'
        message: 'CEP não encontrado na base dos Correios.'
        service: 'correios-alt'
    }]
}
Ou pode simplesmente usar 
err.msg()