API Reference¶
Client¶
pixbr.PixClient ¶
Client for the Brazilian Central Bank PIX Open Data API.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
timeout
|
float
|
Request timeout in seconds (default 120). The BCB API can be slow for large queries, so a generous timeout is recommended. |
DEFAULT_TIMEOUT
|
max_retries
|
int
|
Number of retry attempts on transport errors (default 3). |
3
|
verbose
|
bool
|
If True (default), log progress messages at INFO level. |
True
|
Examples:
build_url ¶
build_url(
endpoint: str,
params: Optional[Mapping[str, ParamValue]] = None,
*,
fmt: str = "json",
filter: Optional[str] = None,
select: Optional[Sequence[str]] = None,
orderby: Optional[str] = None,
top: Optional[int] = None,
skip: Optional[int] = None
) -> str
Build (without sending) the URL for a request. Useful for debugging.
query ¶
query(
endpoint: str,
params: Optional[Mapping[str, ParamValue]] = None,
*,
filter: Optional[str] = None,
select: Optional[Sequence[str]] = None,
orderby: Optional[str] = None,
top: Optional[int] = None,
skip: Optional[int] = None,
verbose: Optional[bool] = None
) -> pd.DataFrame
Low-level call to any PIX endpoint; returns a DataFrame.
This is the Python equivalent of pixr::pix_query.
keys ¶
keys(
date: str,
*,
filter: Optional[str] = None,
columns: Optional[Sequence[str]] = None,
top: Optional[int] = None,
skip: Optional[int] = None,
orderby: Optional[str] = None,
verbose: Optional[bool] = None
) -> pd.DataFrame
PIX keys stock by participant (ChavesPix endpoint).
date is required, in YYYY-MM-DD form. The API returns data for the
last day of the month containing the given date.
transaction_stats ¶
transaction_stats(
database: str,
*,
filter: Optional[str] = None,
columns: Optional[Sequence[str]] = None,
top: Optional[int] = None,
skip: Optional[int] = None,
orderby: Optional[str] = None,
verbose: Optional[bool] = None
) -> pd.DataFrame
PIX transaction statistics (EstatisticasTransacoesPix endpoint).
database is required, in YYYYMM form.
transactions_by_municipality ¶
transactions_by_municipality(
database: str,
*,
filter: Optional[str] = None,
columns: Optional[Sequence[str]] = None,
top: Optional[int] = None,
skip: Optional[int] = None,
orderby: Optional[str] = None,
verbose: Optional[bool] = None
) -> pd.DataFrame
PIX transactions by municipality (TransacoesPixPorMunicipio endpoint).
database is required, in YYYYMM form. Note this endpoint uses the
DataBase parameter (capital B).
fraud_stats ¶
fraud_stats(
database: str,
*,
filter: Optional[str] = None,
columns: Optional[Sequence[str]] = None,
top: Optional[int] = None,
skip: Optional[int] = None,
orderby: Optional[str] = None,
verbose: Optional[bool] = None
) -> pd.DataFrame
PIX fraud statistics / MED (EstatisticasFraudesPix endpoint).
database is required, in YYYYMM form. The exact schema varies, so
columns are not validated; numeric-looking columns are coerced.
Convenience functions¶
These mirror the R package pixr. Each creates a short-lived
PixClient.
PIX keys¶
pixbr.get_pix_keys_summary ¶
pixbr.get_pix_keys_by_type ¶
Transactions by municipality¶
pixbr.get_pix_transactions_by_municipality ¶
get_pix_transactions_by_municipality(
database: str, *, verbose: bool = True, **kwargs
) -> pd.DataFrame
pixbr.get_pix_transactions_by_state ¶
pixbr.get_pix_transactions_by_region ¶
Transaction statistics¶
pixbr.get_pix_transaction_stats ¶
pixbr.get_pix_summary ¶
pixbr.get_pix_transaction_stats_multi ¶
Fraud statistics¶
pixbr.get_pix_fraud_stats ¶
pixbr.get_pix_fraud_stats_multi ¶
API utilities¶
pixbr.pix_query ¶
pix_query(
endpoint: str,
params: Optional[dict] = None,
*,
verbose: bool = True,
**kwargs
) -> pd.DataFrame
pixbr.pix_endpoints ¶
Return a DataFrame describing the available BCB PIX API endpoints.
pixbr.pix_columns ¶
Return column metadata for an endpoint.
endpoint is one of "keys", "municipality", "stats", "fraud".
Data helpers¶
pixbr.year_month_to_date ¶
year_month_to_date(
year_month: Union[str, Iterable[str]],
) -> Union[pd.Timestamp, pd.DatetimeIndex]
Convert YYYYMM string(s) to date(s) at the first day of the month.
pixbr.format_brl ¶
format_brl(
x: Union[float, Iterable[float]],
prefix: bool = True,
decimal_mark: str = ",",
big_mark: str = ".",
) -> Union[str, list[str]]
Format number(s) as Brazilian Real currency (e.g. R$ 1.234.567,89).
Errors¶
pixbr.PixApiError ¶
Bases: RuntimeError
Raised when the BCB PIX API returns an error or cannot be reached.