Skip to content

jaswdr/brasil-api

Repository files navigation

brasil-api

Acesso programático de informações é algo fundamental na comunicação entre sistemas mas, para nossa surpresa, uma informação tão útil e pública quanto um CEP não consegue ser acessada diretamente por um navegador por conta da API dos Correios não possuir CORS habilitado. Dado a isso, este projeto experimental tem como objetivo centralizar e disponibilizar endpoints modernos com baixíssima latência utilizando tecnologias como Vercel Smart CDN responsável por fazer o cache das informações em atualmente 23 regiões distribuídas ao longo do mundo (incluindo Brasil). Então não importa o quão devagar for a fonte dos dados, nós queremos disponibilizá-la da forma mais rápida e moderna possível.

Recursos disponíveis

  • CEP
  • DDD
  • Banks
  • CNPJ
  • IBGE

This Python package is automatically generated by the OpenAPI Generator project:

  • API version: 1.0.0
  • Package version: 1.0.0
  • Build package: org.openapitools.codegen.languages.PythonClientCodegen For more information, please visit https://brasilapi.com.br

Requirements.

Python >= 3.6

Installation & Usage

pip install

If the python package is hosted on a repository, you can install directly using:

pip install git+https://github.com/jaswdr/brasil-api.git

(you may need to run pip with root permission: sudo pip install git+https://github.com/jaswdr/brasil-api.git)

Then import the package:

import brasil_api

Setuptools

Install via Setuptools.

python setup.py install --user

(or sudo python setup.py install to install the package for all users)

Then import the package:

import brasil_api

Getting Started

Please follow the installation procedure and then run the following:

import time
import brasil_api
from pprint import pprint
from brasil_api.api import banks_api
from brasil_api.model.bank_v1 import BankV1
# Defining the host is optional and defaults to https://brasilapi.com.br/api
# See configuration.py for a list of all supported configuration parameters.
configuration = brasil_api.Configuration(
    host = "https://brasilapi.com.br/api"
)



# Enter a context with an instance of the API client
with brasil_api.ApiClient(configuration) as api_client:
    # Create an instance of the API class
    api_instance = banks_api.BanksApi(api_client)
    code = "code_example" # str | Código do banco

    try:
        # Busca as informações de um banco a partir de um código
        api_response = api_instance.banks_v1_code_get(code)
        pprint(api_response)
    except brasil_api.ApiException as e:
        print("Exception when calling BanksApi->banks_v1_code_get: %s\n" % e)

Documentation for API Endpoints

All URIs are relative to https://brasilapi.com.br/api

Class Method HTTP request Description
BanksApi banks_v1_code_get GET /banks/v1/{code} Busca as informações de um banco a partir de um código
BanksApi banks_v1_get GET /banks/v1 Retorna informações de todos os bancos do Brasil
CEPApi cep_v1_cep_get GET /cep/v1/{cep} Busca por CEP com múltiplos providers de fallback.
CEPV2Api cep_v2_cep_get GET /cep/v2/{cep} Busca por CEP com múltiplos providers de fallback v2.
CNPJApi cnpj_v1_cnpj_get GET /cnpj/v1/{cnpj} Busca por CNPJ na API Minha Receita.
DDDApi ddd_v1_ddd_get GET /ddd/v1/{ddd} Retorna estado e lista de cidades por DDD
FeriadosNacionaisApi feriados_v1_ano_get GET /feriados/v1/{ano} Lista os feriados nacionais de determinado ano.
IBGEApi ibge_uf_v1_code_get GET /ibge/uf/v1/{code} Busca as informações de um um estado a partir da sigla ou código
IBGEApi ibge_uf_v1_get GET /ibge/uf/v1 Retorna informações de todos estados do Brasil

Documentation For Models

Documentation For Authorization

All endpoints do not require authorization.

Author

Notes for Large OpenAPI documents

If the OpenAPI document is large, imports in brasil_api.apis and brasil_api.models may fail with a RecursionError indicating the maximum recursion limit has been exceeded. In that case, there are a couple of solutions:

Solution 1: Use specific imports for apis and models like:

  • from brasil_api.api.default_api import DefaultApi
  • from brasil_api.model.pet import Pet

Solution 2: Before importing the package, adjust the maximum recursion limit as shown below:

import sys
sys.setrecursionlimit(1500)
import brasil_api
from brasil_api.apis import *
from brasil_api.models import *