---
title: "Histórico de posições em aberto"
method: GET
path: "/api/v2/options/positions/history"
tags: ["Opções"]
---

# Histórico de posições em aberto

`GET /api/v2/options/positions/history`

## Request

- Base URL: `https://brapi.dev`
- URL: `https://brapi.dev/api/v2/options/positions/history`
- Auth: HTTP bearer

Retorna o histórico diário de contratos em aberto de uma série de opção, identificada por `symbol` e `expirationDate`.

Use para ver a montagem e a desmontagem de posições ao longo do tempo e comparar contratos em aberto com o preço.

Cada item é uma apuração diária. Pregão sem apuração não aparece. Se o mesmo `symbol` aparece duas vezes no vencimento, passe também `strike`.

Disponível no plano Pro. Sem token, aceita só `symbol` com prefixo `PETR`.

## Query parameters

- `symbol` string, required: Código da série de opção.
- `expirationDate` string, required: Data de vencimento da série, no formato YYYY-MM-DD.
- `strike` number, nullable: Preço de exercício. Use quando o mesmo `symbol` aparece mais de uma vez no vencimento.
- `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: `asc` do mais antigo ao mais recente, `desc` do mais recente ao mais antigo.

## Response `200`

Histórico de posições retornado com sucesso.

- OptionPositionsHistoryResponse
  - `option` OptionPositionHistory, required
    - `symbol` string, required: Código da série de opção. Ex.: PETRF783.
    - `underlyingSymbol` string, nullable, required: Ativo subjacente da opção. Ex.: PETR4.
    - `side` 'call' | 'put', required: `call` (opção de compra) ou `put` (opção de venda).
    - `market` 'equity' | 'index' | 'currency', required: Mercado da opção: `equity` para ação ou ETF, `index` para índice, `currency` para DOL e WDO.
    - `optionStyle` 'american' | 'european', nullable, required: `american` permite exercício até o vencimento. `european` permite exercício só no vencimento. Nulo quando o cadastro da série não informa o estilo.
    - `strike` number, nullable, required: Preço de exercício da opção.
    - `allocationRoundLot` integer, nullable, required: Lote padrão de negociação. Em geral, 100 nas opções sobre ações.
    - `expirationDate` string, required: Data de vencimento, no formato YYYY-MM-DD.
    - `firstTradeDate` string, required: Data do primeiro pregão da série, no formato YYYY-MM-DD.
    - `lastTradeDate` string, required: Data do último pregão da série, no formato YYYY-MM-DD.
    - `positions` object[], required
      - `openInterest` number, nullable, required: Contratos em aberto na série, na última apuração até a data pedida.
      - `openInterestChange` number, nullable, required: Variação de contratos em aberto desde a apuração anterior.
      - `openInterestDate` string, nullable, required: Data da apuração usada, no formato YYYY-MM-DD. Pode ser anterior à data do pregão.
      - `reportDate` string, required: Data da apuração, no formato YYYY-MM-DD.
      - `isin` string, nullable, required: Código ISIN da série de opção, não do ativo objeto.
      - `asset` string, nullable, required: Código raiz do ativo objeto, sem o dígito da classe. Ex.: PETR.
      - `expirationCode` string, nullable, required: Código de vencimento da apuração. Vem vazio nas opções sobre ações.
      - `segment` string, required: Segmento da apuração. Ex.: EQUITY CALL.
      - `reportedOpenInterest` number, nullable, required: Contratos em aberto na apuração do pregão. Vem vazio nas opções sobre ações. Use `openInterest`.
      - `reportedOpenInterestChange` number, nullable, required: Variação de contratos em aberto na apuração do pregão. Vem vazia nas opções sobre ações. Use `openInterestChange`.
      - `distributionId` string, nullable, required: Número de distribuição do ativo objeto.
      - `coveredQuantity` number, nullable, required: Contratos em posição coberta.
      - `blockedQuantity` number, nullable, required: Contratos em posição bloqueada.
      - `uncoveredQuantity` number, nullable, required: Contratos em posição descoberta.
      - `totalPositionQuantity` number, nullable, required: Total de contratos em posição. É a origem de `openInterest` nas opções sobre ações.
      - `borrowerQuantity` number, nullable, required: Quantidade tomadora em empréstimo de ativos.
      - `lenderQuantity` number, nullable, required: Quantidade doadora em empréstimo de ativos.
      - `currentQuantity` number, nullable, required: Quantidade corrente. Preenchida só em alguns segmentos.
      - `forwardPrice` number, nullable, required: Preço a termo. Preenchido só em alguns segmentos.
  - `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. Confira os parâmetros.
- `401`: Token ausente ou inválido.
- `403`: O plano não inclui este recurso ou parâmetro.
- `404`: Nenhum dado encontrado para o pedido.
- `500`: Erro interno do servidor.

## Changes

- **2026-08-29** `40fae0b2d5fb`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/brapi-dev/apis/brapi-api-do-mercado-financeiro-brasileiro/changes/api/v2/options/positions/history/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)
