---
title: "Posições em aberto de opções"
method: GET
path: "/api/v2/options/positions"
tags: ["Opções"]
---

# Posições em aberto de opções

`GET /api/v2/options/positions`

## Request

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

Retorna os contratos em aberto de cada série de um vencimento, com a divisão entre posição coberta, descoberta e bloqueada.

Use para ver onde se concentram as posições por strike, comparar calls e puts e acompanhar a variação diária de contratos em aberto.

Use `openInterest` como número de contratos em aberto. Nas opções sobre ações, ele vem de `totalPositionQuantity`, porque `reportedOpenInterest` vem vazio. Volume e contratos em aberto medem coisas diferentes: uma série pode ficar sem negócio e ter muitos contratos em aberto.

Os contratos em aberto são apurados uma vez por pregão. Sem apuração na data pedida, a resposta traz a anterior. Confira `openInterestDate` antes de comparar com o preço do dia.

Aceita os mesmos filtros da [cadeia de opções](https://brapi.dev/docs/opcoes/series): `side`, `minStrike` e `maxStrike`.

Disponível no plano Pro. Sem token, aceita só `underlying=PETR4`.

## Query parameters

- `underlying` string, required: Ticker do ativo subjacente: ação, ETF, índice, `DOL` ou `WDO`.
- `expirationDate` string, required: Data de vencimento, no formato YYYY-MM-DD. Veja os vencimentos em `/expirations`.
- `date` string: Data do pregão, no formato YYYY-MM-DD. Padrão: último pregão disponível.
- `side` 'call' | 'put': Filtra por `call` ou `put`. Sem o filtro, retorna os dois.
- `minStrike` number, nullable: Strike mínimo.
- `maxStrike` number, nullable: Strike máximo.

## Response `200`

Posições retornadas com sucesso.

- OptionPositionsResponse
  - `underlying` string, required
  - `expirationDate` string, required
  - `date` string, required
  - `positions` OptionPositionSnapshot[], 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.
    - `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/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)
