---
title: "Histórico de câmbio"
method: GET
path: "/api/v2/currency/historical"
tags: ["Câmbio"]
---

# Histórico de câmbio

`GET /api/v2/currency/historical`

## Request

- Base URL: `https://brapi.dev`
- URL: `https://brapi.dev/api/v2/currency/historical`
- Auth: HTTP bearer

Série diária de câmbio pela PTAX de fechamento do Banco Central. Cobre USD, EUR,
GBP, JPY, CHF, CAD, AUD, DKK, NOK e SEK contra o real e entre si.

Use para backtests, conversão de valores em datas passadas e gráficos de câmbio.

Há três tipos de par:

- Direto, como `USD-BRL`: planos Startup e Pro.
- Inverso, como `BRL-USD`: calculado como `1 / USD-BRL`. Só no plano Pro.
- Cruzado, como `EUR-USD`: calculado como `EUR-BRL / USD-BRL` nas datas em
  que as duas séries têm valor. Só no plano Pro.

Peça até 20 pares por chamada. Sem datas, a janela é dos últimos 12 meses. A
PTAX sai uma vez por dia útil, então não há pontos em fins de semana e
feriados.

Um par não aceito ou fora do plano gera um item em `errors` e não derruba os
outros pares. Para cripto, use a
[cotação de criptomoedas](https://brapi.dev/docs/criptomoedas).

## Query parameters

- `currency` string, required: Pares no formato ORIGEM-DESTINO, separados por vírgula, até 20. Ex.: USD-BRL,EUR-BRL.
- `startDate` string: Data inicial no formato YYYY-MM-DD. Padrão: 12 meses atrás.
- `endDate` string: Data final no formato YYYY-MM-DD. Padrão: hoje.
- `sortOrder` 'asc' | 'desc': Ordem por data. Padrão: desc.
- `limit` integer: Máximo de pontos por par. Padrão: 365.

## Response `200`

Histórico de cotações PTAX retornado com sucesso.

- CurrencyHistoricalResponse
  - `results` CurrencyHistoricalPairResult[], required
    - `pair` string, required
    - `fromCurrency` string, required
    - `toCurrency` string, required
    - `observations` object[], required
      - `date` string, required
      - `value` number, required
  - `errors` CurrencyHistoricalError[]
    - `pair` string, required
    - `code` string, required
    - `message` string, required
    - `details` object
  - `requestedAt` string, date-time, required: Data e hora da requisição em ISO 8601.
  - `took` integer, required: Tempo de processamento, em milissegundos.

## Other responses

- `400`: **Requisição Inválida.** Parâmetros ausentes ou inválidos.
- `401`: **Não Autorizado.**
- `403`: **Acesso Proibido.** Plano sem acesso ao módulo de câmbio.
- `500`: **Erro Interno.**

## Changes

- **2026-08-20** `2996ef90929f`: 1 info
  - added the optional property `errors/items/details` to the response with the `200` status
- **2026-05-09** `b12b26efb60e`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/brapi-dev/apis/brapi-api-do-mercado-financeiro-brasileiro/changes/api/v2/currency/historical/get.md)

---

[API](https://skmtc.dev/brapi-dev/apis/brapi-api-do-mercado-financeiro-brasileiro.md) - [All operations](https://skmtc.dev/brapi-dev/apis/brapi-api-do-mercado-financeiro-brasileiro/llms.txt) - [OpenAPI document](https://skmtc.dev/brapi-dev/apis/brapi-api-do-mercado-financeiro-brasileiro/revisions/7c732d79148a?raw)
