Schema OpenAPI
Carregando conteúdo...
Nesta página
A brapi publica um documento OpenAPI 3.1 com todos os endpoints, parâmetros, schemas de resposta e exemplos. O documento é gerado a partir do código da API e muda junto com ela.
{ "openapi": "3.1.0", "info": { "title": "brapi - API do Mercado Financeiro Brasileiro", "version": "3.0.0", "description": "Dados do mercado financeiro brasileiro: ações, FIIs, fundos, BDRs, ETFs, índices, opções, futuros, Tesouro Direto, câmbio, criptomoedas e séries macroeconômicas.\n\nEnvie a chave no header `Authorization: Bearer <chave>`. Crie a conta em https://brapi.dev/login e pegue a chave em https://brapi.dev/dashboard. PETR4, MGLU3, VALE3 e ITUB4 funcionam sem chave.\n\nUse as rotas em `/api/v2` em integrações novas. Uma rota descontinuada envia `Deprecation: true`, `Sunset: <HTTP-date>` e um header `Link` com a rota que a substitui. A política está em https://brapi.dev/docs/versioning.\n\nSDKs oficiais: `npm install brapi` (https://github.com/brapi-dev/brapi-typescript) e `pip install brapi` (https://github.com/brapi-dev/brapi-python). Documentação: https://brapi.dev/docs", "contact": { "name": "brapi", "url": "https://brapi.dev", "email": "[email protected]" }, "externalDocs": { "description": "Política de versionamento e descontinuação", "url": "https://brapi.dev/versioning.md" }, "x-brapi-versioning": { "strategy": "url", "currentVersion": "v2", "policyUrl": "https://brapi.dev/versioning.md", "deprecationHeaders": [ "Deprecation", "Sunset", "Link" ] }, "license": { "name": "MIT", "url": "https://opensource.org/licenses/MIT" } }, "servers": [ { "url": "https://brapi.dev", "description": "Servidor principal da API brapi" }, { "url": "http://localhost:3001", "description": "Servidor local para desenvolvimento" } ], "tags": [ { "name": "Cotações", "description": "Consulte informações detalhadas sobre ações, BDRs, ETFs e índices brasileiros. Obtenha preços em tempo real, dados fundamentalistas, históricos e dividendos." }, { "name": "Fundos Imobiliários", "description": "Acesse dados completos de FIIs: cotações, indicadores fundamentalistas (P/VP, DY), relatórios gerenciais e histórico de proventos." }, { "name": "Fundos", "description": "Descubra e consulte fundos brasileiros listados e estruturados, incluindo FIIs, FIAGROs, FI-Infra/FIFs, FIDCs e FIPs." }, { "name": "Opções", "description": "Consulte contratos, cadeias EOD negociadas e histórico de opções." }, { "name": "Câmbio", "description": "Monitore taxas de câmbio entre moedas fiduciárias de todo o mundo, com atualizações frequentes e dados históricos." }, { "name": "Macroeconomia", "description": "Acompanhe os principais indicadores macroeconômicos do Brasil, incluindo inflação (IPCA, IGP-M), Taxa Selic, agregados monetários e atividade." }, { "name": "Renda Fixa", "description": "Consulte dados de títulos públicos e outros instrumentos de renda fixa brasileira." }, { "name": "Criptomoedas", "description": "Obtenha cotações em tempo real e dados históricos de criptomoedas, disponíveis em diversas moedas de referência." }, { "name": "Tickers", "description": "Descubra, filtre e valide tickers B3 disponíveis na brapi. Use como camada de identidade antes dos endpoints de dados de mercado." }, { "name": "Conta", "description": "Dados da conta autenticada, como plano atual e uso da janela vigente." }, { "name": "Utilitários", "description": "Ferramentas auxiliares para descobrir ativos disponíveis e verificar a saúde da API." } ], "components": { "securitySchemes": { "Bearer": { "type": "http", "scheme": "bearer", "bearerFormat": "JWT", "description": "Token de API obtido no dashboard em brapi.dev/dashboard" } }, "schemas": { "DatabaseHealth": { "type": "object", "properties": { "status": { "type": "string", "enum": [ "ok", "error" ] }, "latencyMs": { "type": "number", "minimum": 0 }, "error": { "type": "string" } }, "required": [ "status" ], "example": { "status": "ok", "latencyMs": 1 } }, "HealthResponse": { "type": "object", "properties": { "status": { "type": "string", "enum": [ "ok" ] }, "timestamp": { "type": "string", "format": "date-time" }, "uptime": { "type": "number", "minimum": 0 }, "database": { "$ref": "#/components/schemas/DatabaseHealth" } }, "required": [ "status", "timestamp", "uptime" ], "example": { "status": "ok", "timestamp": "2026-02-08T16:25:38.608Z", "uptime": 866.658018047, "database": { "status": "ok", "latencyMs": 1 } } }, "AvailableResponse": { "type": "object", "properties": { "stocks": { "type": "array", "items": { "type": "string" }, "description": "Tickers de ativos.", "example": [ "PETR4", "VALE3", "ITUB4" ] }, "indexes": { "type": "array", "items": { "type": "string" }, "description": "Tickers de índices.", "example": [ "^BVSP", "IFIX.SA" ] } }, "required": [ "stocks", "indexes" ], "example": { "stocks": [ "BBDC4", "GOLL54", "B3SA3", "ITSA4", "COGN3", "ITUB4", "BBAS3", "MGLU3", "VALE3", "PETR4" ], "indexes": [ "^BVSP", "IFIX.SA" ] } }, "ErrorResponse": { "type": "object", "properties": { "error": { "type": "boolean", "enum": [ true ] }, "message": { "type": "string" }, "code": { "type": "string" } }, "required": [ "error", "message" ], "description": "Erro interno do servidor.", "example": { "error": true, "message": "Erro interno do servidor", "code": "INTERNAL_SERVER_ERROR" } }, "CryptoCoinSimple": { "type": "object", "properties": { "currency": { "type": "string" }, "currencyRateFromUSD": { "type": "number" }, "coinName": { "type": "string" }, "coinImageUrl": { "type": "string" }, "coin": { "type": "string" }, "regularMarketChange": { "type": "number" }, "regularMarketPrice": { "type": "number" }, "regularMarketChangePercent": { "type": "number" }, "regularMarketDayLow": { "type": "number" }, "regularMarketDayHigh": { "type": "number" }, "regularMarketDayRange": { "type": "string" }, "regularMarketVolume": { "type": "number" }, "marketCap": { "type": "number" }, "regularMarketTime": { "type": "string" }, "usedInterval": { "type": "string" }, "usedRange": { "type": "string" }, "historicalDataPrice": { "type": "array", "items": { "type": "object", "properties": { "date": { "type": "integer" }, "open": { "type": "number", "nullable": true }, "high": { "type": "number", "nullable": true }, "low": { "type": "number", "nullable": true }, "close": { "type": "number", "nullable": true }, "volume": { "type": "number", "nullable": true }, "adjustedClose": { "type": "number", "nullable": true } }, "required": [ "date", "open", "high", "low", "close", "volume", "adjustedClose" ] } }, "validRanges": { "type": "array", "items": { "type": "string" } }, "validIntervals": { "type": "array", "items": { "type": "string" } } }, "required": [ "currency", "currencyRateFromUSD", "coinName", "coin", "regularMarketChange", "regularMarketPrice", "regularMarketChangePercent", "regularMarketDayLow", "regularMarketDayHigh", "regularMarketDayRange", "regularMarketVolume", "marketCap", "regularMarketTime" ] }, "CryptoResponseSimple": { "type": "object", "properties": { "coins": { "type": "array", "items": { "$ref": "#/components/schemas/CryptoCoinSimple" } }, "requestedAt": { "type": "string", "format": "date-time", "description": "Data e hora da requisição em ISO 8601.", "example": "2025-01-24T17:32:38.000Z" }, "took": { "type": "integer", "minimum": 0, "description": "Tempo de processamento, em milissegundos.", "example": 45 } }, "required": [ "coins", "requestedAt", "took" ], "example": { "coins": [ { "currency": "BRL", "currencyRateFromUSD": 5.2159, "coinName": "Bitcoin", "coinImageUrl": "https://cdn.jsdelivr.net/gh/spothq/cryptocurrency-icons@master/svg/color/btc.svg", "coin": "BTC", "regularMarketChange": 9553.84, "regularMarketPrice": 371028.28, "regularMarketChangePercent": 2.64, "regularMarketDayLow": 359613.69, "regularMarketDayHigh": 372616.12, "regularMarketDayRange": "359613.69 - 372616.12", "regularMarketVolume": 199263021357.47, "marketCap": 0, "regularMarketTime": "2026-02-08T16:24:00.000Z" } ], "requestedAt": "2026-02-08T16:26:22.155Z", "took": 350 } }, "CryptoAvailableResponse": { "type": "object", "properties": { "coins": { "type": "array", "items": { "type": "string" } } }, "required": [ "coins" ], "example": { "coins": [ "BTC", "ETH", "ADA", "BNB", "USDT", "XRP", "DOGE", "SOL", "USDC", "DOT1", "UNI3", "BCH", "LTC", "LINK", "MATIC", "AVAX" ] } }, "CurrencyQuoteSimple": { "type": "object", "properties": { "fromCurrency": { "type": "string" }, "toCurrency": { "type": "string" }, "name": { "type": "string" }, "high": { "type": "string" }, "low": { "type": "string" }, "bidVariation": { "type": "string" }, "percentageChange": { "type": "string" }, "bidPrice": { "type": "string" }, "askPrice": { "type": "string" }, "updatedAtTimestamp": { "type": "string" }, "updatedAtDate": { "type": "string" } }, "required": [ "fromCurrency", "toCurrency", "name", "high", "low", "bidVariation", "percentageChange", "bidPrice", "askPrice", "updatedAtTimestamp", "updatedAtDate" ] }, "CurrencyResponseSimple": { "type": "object", "properties": { "currency": { "type": "array", "items": { "$ref": "#/components/schemas/CurrencyQuoteSimple" } }, "requestedAt": { "type": "string", "format": "date-time", "description": "Data e hora da requisição em ISO 8601.", "example": "2025-01-24T17:32:38.000Z" }, "took": { "type": "integer", "minimum": 0, "description": "Tempo de processamento, em milissegundos.", "example": 45 } }, "required": [ "currency", "requestedAt", "took" ], "example": { "currency": [ { "fromCurrency": "USD", "toCurrency": "BRL", "name": "Dólar Americano/Real Brasileiro", "high": "5.343", "low": "5.20858", "bidVariation": "-0.0546", "percentageChange": "-1.035958", "bidPrice": "5.2159", "askPrice": "5.2189", "updatedAtTimestamp": "1770415348", "updatedAtDate": "2026-02-06 19:02:28" }, { "fromCurrency": "EUR", "toCurrency": "BRL", "name": "Euro/Real Brasileiro", "high": "6.1915", "low": "6.15764", "bidVariation": "0.03386", "percentageChange": "0.549886", "bidPrice": "6.1915", "askPrice": "6.2415", "updatedAtTimestamp": "1770527911", "updatedAtDate": "2026-02-08 02:18:31" } ], "requestedAt": "2026-02-08T16:26:24.131Z", "took": 27 } }, "CurrencyHistoricalPairResult": { "type": "object", "properties": { "pair": { "type": "string" }, "fromCurrency": { "type": "string" }, "toCurrency": { "type": "string" }, "observations": { "type": "array", "items": { "type": "object", "properties": { "date": { "type": "string", "example": "2026-04-30" }, "value": { "type": "number", "example": 4.9886 } }, "required": [ "date", "value" ] } } }, "required": [ "pair", "fromCurrency", "toCurrency", "observations" ], "example": { "pair": "USD-BRL", "fromCurrency": "USD", "toCurrency": "BRL", "observations": [ { "date": "2026-04-30", "value": 4.9886 }, { "date": "2026-04-29", "value": 4.9712 }, { "date": "2026-04-28", "value": 4.9854 }, { "date": "2026-04-25", "value": 5.0123 }, { "date": "2026-04-24", "value": 5.0218 } ] } }, "CurrencyHistoricalError": { "type": "object", "properties": { "pair": { "type": "string", "example": "BTC-BRL" }, "code": { "type": "string", "example": "UNSUPPORTED_PAIR" }, "message": { "type": "string", "example": "Par `BTC-BRL` não suportado em /historical. Use /api/v2/crypto para criptomoedas." }, "details": { "type": "object", "additionalProperties": { "nullable": true } } }, "required": [ "pair", "code", "message" ] }, "CurrencyHistoricalResponse": { "type": "object", "properties": { "results": { "type": "array", "items": { "$ref": "#/components/schemas/CurrencyHistoricalPairResult" } }, "errors": { "type": "array", "items": { "$ref": "#/components/schemas/CurrencyHistoricalError" } }, "requestedAt": { "type": "string", "format": "date-time", "description": "Data e hora da requisição em ISO 8601.", "example": "2025-01-24T17:32:38.000Z" }, "took": { "type": "integer", "minimum": 0, "description": "Tempo de processamento, em milissegundos.", "example": 45 } }, "required": [ "results", "requestedAt", "took" ], "example": { "results": [ { "pair": "USD-BRL", "fromCurrency": "USD", "toCurrency": "BRL", "observations": [ { "date": "2026-04-30", "value": 4.9886 }, { "date": "2026-04-29", "value": 4.9712 }, { "date": "2026-04-28", "value": 4.9854 }, { "date": "2026-04-25", "value": 5.0123 }, { "date": "2026-04-24", "value": 5.0218 } ] }, { "pair": "EUR-BRL", "fromCurrency": "EUR", "toCurrency": "BRL", "observations": [ { "date": "2026-04-30", "value": 5.6712 }, { "date": "2026-04-29", "value": 5.6543 }, { "date": "2026-04-28", "value": 5.6789 } ] } ], "requestedAt": "2026-04-30T12:00:00.000Z", "took": 14 } }, "CurrencyAvailableResponse": { "type": "object", "properties": { "currencies": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string" }, "currency": { "type": "string" } }, "required": [ "name", "currency" ] } } }, "required": [ "currencies" ], "example": { "currencies": [ { "name": "USD-BRL", "currency": "Dólar Americano/Real Brasileiro" }, { "name": "USD-BRLT", "currency": "Dólar Americano/Real Brasileiro Turismo" }, { "name": "CAD-BRL", "currency": "Dólar Canadense/Real Brasileiro" }, { "name": "EUR-BRL", "currency": "Euro/Real Brasileiro" }, { "name": "GBP-BRL", "currency": "Libra Esterlina/Real Brasileiro" }, { "name": "JPY-BRL", "currency": "Iene Japonês/Real Brasileiro" } ] } }, "DictionaryEntry": { "type": "object", "properties": { "key": { "type": "string" }, "label": { "type": "string" }, "description": { "type": "string" }, "calculation": { "type": "string", "nullable": true }, "endpoints": { "type": "array", "items": { "type": "string" } }, "category": { "type": "string" }, "type": { "type": "string", "enum": [ "number", "string", "boolean", "date", "object", "array" ] }, "unit": { "type": "string", "nullable": true } }, "required": [ "key", "label", "description", "calculation", "endpoints", "category", "type", "unit" ], "example": { "key": "symbol", "label": "Símbolo", "description": "Código de negociação do ativo brasileiro (ex: PETR4, VALE3)", "calculation": null, "endpoints": [ "/api/quote/{tickers}", "/api/quote/list" ], "category": "quote", "type": "string", "unit": null } }, "DictionaryResponse": { "type": "object", "properties": { "fields": { "type": "array", "items": { "$ref": "#/components/schemas/DictionaryEntry" } }, "requestedAt": { "type": "string", "format": "date-time", "description": "Data e hora da requisição em ISO 8601.", "example": "2025-01-24T17:32:38.000Z" }, "took": { "type": "integer", "minimum": 0, "description": "Tempo de processamento, em milissegundos.", "example": 45 } }, "required": [ "fields", "requestedAt", "took" ], "example": { "fields": [ { "key": "symbol", "label": "Símbolo", "description": "Código de negociação do ativo brasileiro (ex: PETR4, VALE3)", "calculation": null, "endpoints": [ "/api/quote/{tickers}", "/api/quote/list" ], "category": "quote", "type": "string", "unit": null }, { "key": "shortName", "label": "Nome Curto", "description": "Nome resumido do ativo", "calculation": null, "endpoints": [ "/api/quote/{tickers}", "/api/quote/list" ], "category": "quote", "type": "string", "unit": null }, { "key": "longName", "label": "Nome Completo", "description": "Nome completo da empresa ou fundo", "calculation": null, "endpoints": [ "/api/quote/{tickers}" ], "category": "quote", "type": "string", "unit": null } ], "requestedAt": "2026-02-08T16:25:35.000Z", "took": 2 } }, "FiiListItem": { "type": "object", "properties": { "symbol": { "type": "string", "nullable": true }, "name": { "type": "string", "nullable": true }, "cnpj": { "type": "string", "nullable": true }, "mandate": { "type": "string", "nullable": true }, "segmentoAtuacao": { "type": "string", "nullable": true }, "tipoGestao": { "type": "string", "nullable": true }, "administratorName": { "type": "string", "nullable": true }, "administratorCnpj": { "type": "string", "nullable": true }, "administratorAddress": { "type": "string", "nullable": true }, "administratorAddressNumber": { "type": "string", "nullable": true }, "administratorAddressComplement": { "type": "string", "nullable": true }, "administratorDistrict": { "type": "string", "nullable": true }, "administratorCity": { "type": "string", "nullable": true }, "administratorState": { "type": "string", "nullable": true }, "administratorZipCode": { "type": "string", "nullable": true }, "administratorPhone1": { "type": "string", "nullable": true }, "administratorPhone2": { "type": "string", "nullable": true }, "administratorPhone3": { "type": "string", "nullable": true }, "administratorWebsite": { "type": "string", "nullable": true }, "administratorEmail": { "type": "string", "nullable": true }, "price": { "type": "number", "nullable": true }, "navPerShare": { "type": "number", "nullable": true }, "priceToNav": { "type": "number", "nullable": true }, "dividendYield12m": { "type": "number", "nullable": true }, "totalInvestors": { "type": "number", "nullable": true }, "segmentType": { "type": "string", "nullable": true } }, "required": [ "symbol", "name", "cnpj", "mandate", "segmentoAtuacao", "tipoGestao", "administratorName", "administratorCnpj", "administratorAddress", "administratorAddressNumber", "administratorAddressComplement", "administratorDistrict", "administratorCity", "administratorState", "administratorZipCode", "administratorPhone1", "administratorPhone2", "administratorPhone3", "administratorWebsite", "administratorEmail", "price", "navPerShare", "priceToNav", "dividendYield12m", "totalInvestors", "segmentType" ] }, "PaginationMeta": { "type": "object", "properties": { "page": { "type": "number" }, "limit": { "type": "number" }, "totalItems": { "type": "number" }, "totalPages": { "type": "number" }, "hasNextPage": { "type": "boolean" } }, "required": [ "page", "limit", "totalItems", "totalPages", "hasNextPage" ] }, "FiiListResponse": { "type": "object", "properties": { "fiis": { "type": "array", "items": { "$ref": "#/components/schemas/FiiListItem" } }, "pagination": { "$ref": "#/components/schemas/PaginationMeta" }, "requestedAt": { "type": "string", "format": "date-time", "description": "Data e hora da requisição em ISO 8601.", "example": "2025-01-24T17:32:38.000Z" }, "took": { "type": "integer", "minimum": 0, "description": "Tempo de processamento, em milissegundos.", "example": 45 } }, "required": [ "fiis", "pagination", "requestedAt", "took" ], "example": { "fiis": [ { "symbol": "MXRF11", "name": "FII MAXI RENDA RL", "cnpj": "97521225000125", "mandate": null, "segmentoAtuacao": "Logística", "tipoGestao": "Ativa", "administratorName": "BTG PACTUAL SERVICOS FINANCEIROS S/A DTVM", "administratorCnpj": "59281253000123", "administratorAddress": "Praia de Botafogo", "administratorAddressNumber": "501", "administratorAddressComplement": "6 Andar", "administratorDistrict": "Botafogo", "administratorCity": "Rio de Janeiro", "administratorState": "RJ", "administratorZipCode": "22250040", "administratorPhone1": "55 11 3383-3102", "administratorPhone2": null, "administratorPhone3": null, "administratorWebsite": "www.btgpactual.com", "administratorEmail": "[email protected]", "price": 9.58, "navPerShare": 9.409927, "priceToNav": 1.0180738, "dividendYield12m": 0.12381, "totalInvestors": 1357621, "segmentType": "papel" }, { "symbol": "XPML11", "name": "XP MALLS FII", "cnpj": "28757546000100", "mandate": null, "segmentoAtuacao": "Shoppings", "tipoGestao": "Ativa", "administratorName": "XP INVESTIMENTOS CCTVM S.A.", "administratorCnpj": "02332886000104", "administratorAddress": "Avenida Afranio de Melo Franco", "administratorAddressNumber": "290", "administratorAddressComplement": "Sala 606", "administratorDistrict": "Leblon", "administratorCity": "Rio de Janeiro", "administratorState": "RJ", "administratorZipCode": "22430060", "administratorPhone1": "55 21 3265-3700", "administratorPhone2": null, "administratorPhone3": null, "administratorWebsite": "www.xpi.com.br", "administratorEmail": "[email protected]", "price": 110.37, "navPerShare": 108.160446, "priceToNav": 1.0204285, "dividendYield12m": 0.100098, "totalInvestors": 633076, "segmentType": "tijolo" } ], "pagination": { "page": 1, "limit": 2, "totalItems": 1545, "totalPages": 773, "hasNextPage": true }, "requestedAt": "2026-02-08T16:26:20.498Z", "took": 4 } }, "FiiIndicator": { "type": "object", "properties": { "symbol": { "type": "string" }, "asOfDate": { "type": "string", "nullable": true }, "price": { "type": "number", "nullable": true }, "navPerShare": { "type": "number", "nullable": true }, "priceToNav": { "type": "number", "nullable": true }, "dividendYield12m": { "type": "number", "nullable": true }, "dividendYield1m": { "type": "number", "nullable": true }, "monthlyReturn": { "type": "number", "nullable": true }, "totalInvestors": { "type": "number", "nullable": true }, "sharesOutstanding": { "type": "number", "nullable": true }, "equity": { "type": "number", "nullable": true }, "totalAssets": { "type": "number", "nullable": true }, "segmentType": { "type": "string", "nullable": true } }, "required": [ "symbol", "asOfDate", "price", "navPerShare", "priceToNav", "dividendYield12m", "dividendYield1m", "monthlyReturn", "totalInvestors", "sharesOutstanding", "equity", "totalAssets", "segmentType" ] }, "FiiIndicatorWithInfo": { "allOf": [ { "$ref": "#/components/schemas/FiiIndicator" }, { "type": "object", "properties": { "name": { "type": "string", "nullable": true }, "cnpj": { "type": "string", "nullable": true }, "mandate": { "type": "string", "nullable": true }, "segmentoAtuacao": { "type": "string", "nullable": true }, "tipoGestao": { "type": "string", "nullable": true }, "administratorName": { "type": "string", "nullable": true }, "administratorCnpj": { "type": "string", "nullable": true }, "administratorAddress": { "type": "string", "nullable": true }, "administratorAddressNumber": { "type": "string", "nullable": true }, "administratorAddressComplement": { "type": "string", "nullable": true }, "administratorDistrict": { "type": "string", "nullable": true }, "administratorCity": { "type": "string", "nullable": true }, "administratorState": { "type": "string", "nullable": true }, "administratorZipCode": { "type": "string", "nullable": true }, "administratorPhone1": { "type": "string", "nullable": true }, "administratorPhone2": { "type": "string", "nullable": true }, "administratorPhone3": { "type": "string", "nullable": true }, "administratorWebsite": { "type": "string", "nullable": true }, "administratorEmail": { "type": "string", "nullable": true } }, "required": [ "name", "cnpj", "mandate", "segmentoAtuacao", "tipoGestao", "administratorName", "administratorCnpj", "administratorAddress", "administratorAddressNumber", "administratorAddressComplement", "administratorDistrict", "administratorCity", "administratorState", "administratorZipCode", "administratorPhone1", "administratorPhone2", "administratorPhone3", "administratorWebsite", "administratorEmail" ] } ] }, "FiiIndicatorsResponse": { "type": "object", "properties": { "fiis": { "type": "array", "items": { "$ref": "#/components/schemas/FiiIndicatorWithInfo" } }, "requestedAt": { "type": "string", "format": "date-time", "description": "Data e hora da requisição em ISO 8601.", "example": "2025-01-24T17:32:38.000Z" }, "took": { "type": "integer", "minimum": 0, "description": "Tempo de processamento, em milissegundos.", "example": 45 } }, "required": [ "fiis", "requestedAt", "took" ], "example": { "fiis": [ { "symbol": "MXRF11", "asOfDate": "2025-12-01 00:00:00+00", "price": 9.58, "navPerShare": 9.409927, "priceToNav": 1.0180738, "dividendYield12m": 0.12381, "dividendYield1m": 0.009328, "monthlyReturn": 0.007876, "totalInvestors": 1357621, "sharesOutstanding": 460269540, "equity": 4331102700, "totalAssets": 4375755000, "segmentType": "papel", "name": "FII MAXI RENDA RL", "cnpj": "97521225000125", "mandate": null, "segmentoAtuacao": "Logística", "tipoGestao": "Ativa", "administratorName": "BTG PACTUAL SERVICOS FINANCEIROS S/A DTVM", "administratorCnpj": "59281253000123", "administratorAddress": "Praia de Botafogo", "administratorAddressNumber": "501", "administratorAddressComplement": "6 Andar", "administratorDistrict": "Botafogo", "administratorCity": "Rio de Janeiro", "administratorState": "RJ", "administratorZipCode": "22250040", "administratorPhone1": "55 11 3383-3102", "administratorPhone2": null, "administratorPhone3": null, "administratorWebsite": "www.btgpactual.com", "administratorEmail": "[email protected]" } ], "requestedAt": "2026-02-08T16:25:18.077Z", "took": 47 } }, "FiiIndicatorHistoryEntry": { "type": "object", "properties": { "symbol": { "type": "string" }, "referenceDate": { "type": "string" }, "price": { "type": "number", "nullable": true }, "navPerShare": { "type": "number", "nullable": true }, "priceToNav": { "type": "number", "nullable": true }, "dividendYield12m": { "type": "number", "nullable": true }, "dividendYield1m": { "type": "number", "nullable": true }, "monthlyReturn": { "type": "number", "nullable": true }, "totalInvestors": { "type": "number", "nullable": true }, "sharesOutstanding": { "type": "number", "nullable": true }, "equity": { "type": "number", "nullable": true }, "totalAssets": { "type": "number", "nullable": true }, "segmentType": { "type": "string", "nullable": true } }, "required": [ "symbol", "referenceDate", "price", "navPerShare", "priceToNav", "dividendYield12m", "dividendYield1m", "monthlyReturn", "totalInvestors", "sharesOutstanding", "equity", "totalAssets", "segmentType" ] }, "FiiIndicatorsHistoryResponse": { "type": "object", "properties": { "history": { "type": "array", "items": { "$ref": "#/components/schemas/FiiIndicatorHistoryEntry" } }, "requestedAt": { "type": "string", "format": "date-time", "description": "Data e hora da requisição em ISO 8601.", "example": "2025-01-24T17:32:38.000Z" }, "took": { "type": "integer", "minimum": 0, "description": "Tempo de processamento, em milissegundos.", "example": 45 } }, "required": [ "history", "requestedAt", "took" ], "example": { "history": [ { "symbol": "MXRF11", "referenceDate": "2025-12-01 00:00:00+00", "price": 9.411791, "navPerShare": 9.409927, "priceToNav": 1.0001981, "dividendYield12m": 0.12381, "dividendYield1m": 0.009328, "monthlyReturn": 0.007876, "totalInvestors": 1357621, "sharesOutstanding": 460269540, "equity": 4331102700, "totalAssets": 4375755000, "segmentType": "papel" }, { "symbol": "MXRF11", "referenceDate": "2025-11-01 00:00:00+00", "price": 9.463164, "navPerShare": 9.42361, "priceToNav": 1.0041974, "dividendYield12m": 0.125273, "dividendYield1m": 0.010665, "monthlyReturn": 0.010727, "totalInvestors": 1339326, "sharesOutstanding": 460269540, "equity": 4337401000, "totalAssets": 4386052600, "segmentType": "papel" } ], "requestedAt": "2026-02-08T16:25:20.123Z", "took": 12 } }, "FiiHistoricalPrice": { "type": "object", "properties": { "date": { "type": "integer" }, "open": { "type": "number", "nullable": true }, "high": { "type": "number", "nullable": true }, "low": { "type": "number", "nullable": true }, "close": { "type": "number", "nullable": true }, "volume": { "type": "number", "nullable": true }, "adjustedClose": { "type": "number", "nullable": true } }, "required": [ "date", "open", "high", "low", "close", "volume", "adjustedClose" ] }, "FiiHistoricalSeries": { "type": "object", "properties": { "symbol": { "type": "string" }, "historicalDataPrice": { "type": "array", "items": { "$ref": "#/components/schemas/FiiHistoricalPrice" } } }, "required": [ "symbol", "historicalDataPrice" ] }, "FiiHistoricalResponse": { "type": "object", "properties": { "fiis": { "type": "array", "items": { "$ref": "#/components/schemas/FiiHistoricalSeries" } }, "requestedAt": { "type": "string", "format": "date-time", "description": "Data e hora da requisição em ISO 8601.", "example": "2025-01-24T17:32:38.000Z" }, "took": { "type": "integer", "minimum": 0, "description": "Tempo de processamento, em milissegundos.", "example": 45 } }, "required": [ "fiis", "requestedAt", "took" ], "example": { "fiis": [ { "symbol": "MXRF11", "historicalDataPrice": [ { "date": 1736478000, "open": 9.33, "high": 9.37, "low": 9.3, "close": 9.35, "volume": 1027483, "adjustedClose": 8.3454485 }, { "date": 1736391600, "open": 9.42, "high": 9.44, "low": 9.29, "close": 9.33, "volume": 1203345, "adjustedClose": 8.327598 }, { "date": 1736305200, "open": 9.44, "high": 9.47, "low": 9.34, "close": 9.42, "volume": 1558708, "adjustedClose": 8.407928 } ] } ], "requestedAt": "2026-02-08T16:25:22.456Z", "took": 8 } }, "FiiPropertySummary": { "type": "object", "properties": { "count": { "type": "number" }, "totalArea": { "type": "number", "nullable": true }, "vacancyRate": { "type": "number", "nullable": true }, "averageVacancyRate": { "type": "number", "nullable": true }, "propertiesWithVacancy": { "type": "number" } }, "required": [ "count", "totalArea", "vacancyRate", "averageVacancyRate", "propertiesWithVacancy" ] }, "FiiPortfolioSummary": { "type": "object", "properties": { "totalItems": { "type": "number" }, "declaredValue": { "type": "number", "nullable": true }, "properties": { "$ref": "#/components/schemas/FiiPropertySummary" }, "financialAssets": { "type": "object", "properties": { "count": { "type": "number" }, "declaredValue": { "type": "number", "nullable": true } }, "required": [ "count", "declaredValue" ] }, "lands": { "type": "object", "properties": { "count": { "type": "number" }, "totalArea": { "type": "number", "nullable": true } }, "required": [ "count", "totalArea" ] }, "rights": { "type": "object", "properties": { "count": { "type": "number" }, "declaredValue": { "type": "number", "nullable": true } }, "required": [ "count", "declaredValue" ] } }, "required": [ "totalItems", "declaredValue", "properties", "financialAssets", "lands", "rights" ] }, "FiiPortfolioAllocation": { "type": "object", "properties": { "assetClass": { "type": "string" }, "count": { "type": "number" }, "value": { "type": "number", "nullable": true } }, "required": [ "assetClass", "count", "value" ] }, "FiiProperty": { "type": "object", "properties": { "name": { "type": "string" }, "identifier": { "type": "string", "nullable": true }, "address": { "type": "string", "nullable": true }, "propertyClass": { "type": "string", "nullable": true }, "area": { "type": "number", "nullable": true }, "unitCount": { "type": "number", "nullable": true }, "vacancyRate": { "type": "number", "nullable": true }, "delinquencyRate": { "type": "number", "nullable": true }, "revenueShare": { "type": "number", "nullable": true }, "leasedRate": { "type": "number", "nullable": true }, "soldRate": { "type": "number", "nullable": true }, "constructionProgressActual": { "type": "number", "nullable": true }, "constructionProgressExpected": { "type": "number", "nullable": true }, "constructionCostActual": { "type": "number", "nullable": true }, "constructionCostExpected": { "type": "number", "nullable": true }, "investedShare": { "type": "number", "nullable": true }, "confidential": { "type": "boolean" } }, "required": [ "name", "identifier", "address", "propertyClass", "area", "unitCount", "vacancyRate", "delinquencyRate", "revenueShare", "leasedRate", "soldRate", "constructionProgressActual", "constructionProgressExpected", "constructionCostActual", "constructionCostExpected", "investedShare", "confidential" ] }, "FiiFinancialAsset": { "type": "object", "properties": { "assetClass": { "type": "string" }, "name": { "type": "string" }, "issuer": { "type": "string", "nullable": true }, "issuerCnpj": { "type": "string", "nullable": true }, "identifier": { "type": "string", "nullable": true }, "quantity": { "type": "number", "nullable": true }, "value": { "type": "number", "nullable": true }, "issue": { "type": "string", "nullable": true }, "series": { "type": "string", "nullable": true }, "ticker": { "type": "string", "nullable": true }, "maturityDate": { "type": "string", "nullable": true }, "confidential": { "type": "boolean" } }, "required": [ "assetClass", "name", "issuer", "issuerCnpj", "identifier", "quantity", "value", "issue", "series", "ticker", "maturityDate", "confidential" ] }, "FiiLand": { "type": "object", "properties": { "name": { "type": "string" }, "identifier": { "type": "string", "nullable": true }, "address": { "type": "string", "nullable": true }, "area": { "type": "number", "nullable": true }, "investedShare": { "type": "number", "nullable": true }, "equityShare": { "type": "number", "nullable": true }, "confidential": { "type": "boolean" } }, "required": [ "name", "identifier", "address", "area", "investedShare", "equityShare", "confidential" ] }, "FiiRight": { "type": "object", "properties": { "name": { "type": "string" }, "identifier": { "type": "string", "nullable": true }, "value": { "type": "number", "nullable": true }, "description": { "type": "string", "nullable": true }, "confidential": { "type": "boolean" } }, "required": [ "name", "identifier", "value", "description", "confidential" ] }, "FiiPortfolio": { "type": "object", "properties": { "symbol": { "type": "string", "nullable": true }, "cnpj": { "type": "string" }, "referenceDate": { "type": "string" }, "version": { "type": "number" }, "summary": { "$ref": "#/components/schemas/FiiPortfolioSummary" }, "allocations": { "type": "array", "items": { "$ref": "#/components/schemas/FiiPortfolioAllocation" } }, "properties": { "type": "array", "items": { "$ref": "#/components/schemas/FiiProperty" } }, "financialAssets": { "type": "array", "items": { "$ref": "#/components/schemas/FiiFinancialAsset" } }, "fundHoldings": { "type": "array", "items": { "$ref": "#/components/schemas/FiiFinancialAsset" } }, "lands": { "type": "array", "items": { "$ref": "#/components/schemas/FiiLand" } }, "rights": { "type": "array", "items": { "$ref": "#/components/schemas/FiiRight" } } }, "required": [ "symbol", "cnpj", "referenceDate", "version", "summary", "allocations", "properties", "financialAssets", "fundHoldings", "lands", "rights" ] }, "FiiPortfolioResponse": { "type": "object", "properties": { "fiis": { "type": "array", "items": { "$ref": "#/components/schemas/FiiPortfolio" } }, "requestedAt": { "type": "string", "format": "date-time", "description": "Data e hora da requisição em ISO 8601.", "example": "2025-01-24T17:32:38.000Z" }, "took": { "type": "integer", "minimum": 0, "description": "Tempo de processamento, em milissegundos.", "example": 45 } }, "required": [ "fiis", "requestedAt", "took" ], "example": { "fiis": [ { "symbol": "HGLG11", "cnpj": "11728688000147", "referenceDate": "2026-03-31", "version": 2, "summary": { "totalItems": 40, "declaredValue": 3349501.49, "properties": { "count": 37, "totalArea": 2066028.32, "vacancyRate": 0.032785, "averageVacancyRate": 0.03787, "propertiesWithVacancy": 37 }, "financialAssets": { "count": 3, "declaredValue": 3349501.49 }, "lands": { "count": 0, "totalArea": null }, "rights": { "count": 0, "declaredValue": null } }, "allocations": [ { "assetClass": "real_estate", "count": 37, "value": null }, { "assetClass": "cri", "count": 3, "value": 3349501.49 } ], "properties": [ { "name": "DCR", "identifier": "925452ac11b478196d767981dee8ecaf", "address": "Av. Hélio Ossamu Daikuara, nº 1.445, Jardim Vista Alegre, Embu das Artes", "propertyClass": "Imóveis para renda acabados", "area": 77587.2, "unitCount": 1, "vacancyRate": 0.135305823641013, "delinquencyRate": 0, "revenueShare": 0.0398709781486898, "leasedRate": null, "soldRate": null, "constructionProgressActual": null, "constructionProgressExpected": null, "constructionCostActual": null, "constructionCostExpected": null, "investedShare": null, "confidential": false } ], "financialAssets": [ { "assetClass": "cri", "name": "VIRGO COMPANHIA DE SECURITIZAÇÃO", "issuer": "VIRGO COMPANHIA DE SECURITIZAÇÃO", "issuerCnpj": "08769451000108", "identifier": "8d612f6e7e4fb1da2d668f07c4f91420", "quantity": 35, "value": 3349501.49, "issue": "4", "series": "124", "ticker": null, "maturityDate": null, "confidential": false } ], "fundHoldings": [], "lands": [], "rights": [] } ], "requestedAt": "2026-02-08T16:25:24.456Z", "took": 8 } }, "FiiPropertiesResult": { "type": "object", "properties": { "symbol": { "type": "string", "nullable": true }, "cnpj": { "type": "string" }, "referenceDate": { "type": "string" }, "version": { "type": "number" }, "summary": { "$ref": "#/components/schemas/FiiPropertySummary" }, "properties": { "type": "array", "items": { "$ref": "#/components/schemas/FiiProperty" } } }, "required": [ "symbol", "cnpj", "referenceDate", "version", "summary", "properties" ] }, "FiiPropertiesResponse": { "type": "object", "properties": { "fiis": { "type": "array", "items": { "$ref": "#/components/schemas/FiiPropertiesResult" } }, "requestedAt": { "type": "string", "format": "date-time", "description": "Data e hora da requisição em ISO 8601.", "example": "2025-01-24T17:32:38.000Z" }, "took": { "type": "integer", "minimum": 0, "description": "Tempo de processamento, em milissegundos.", "example": 45 } }, "required": [ "fiis", "requestedAt", "took" ], "example": { "fiis": [ { "symbol": "HGLG11", "cnpj": "11728688000147", "referenceDate": "2026-03-31", "version": 2, "summary": { "count": 37, "totalArea": 2066028.32, "vacancyRate": 0.032785, "averageVacancyRate": 0.03787, "propertiesWithVacancy": 37 }, "properties": [ { "name": "São José dos Campos", "identifier": "322fab9c7769a894ed2736a77d73d9d1", "address": "Rua Ambrósio Molina, 1090/1100, São José dos Campos, SP", "propertyClass": "Imóveis para renda acabados", "area": 72487.36, "unitCount": 1, "vacancyRate": 0.248282735086503, "delinquencyRate": 0, "revenueShare": 0.0241721159147739, "leasedRate": null, "soldRate": null, "constructionProgressActual": null, "constructionProgressExpected": null, "constructionCostActual": null, "constructionCostExpected": null, "investedShare": null, "confidential": false } ] } ], "requestedAt": "2026-02-08T16:25:24.456Z", "took": 8 } }, "FiiPropertiesHistoryEntry": { "type": "object", "properties": { "symbol": { "type": "string", "nullable": true }, "cnpj": { "type": "string" }, "referenceDate": { "type": "string" }, "version": { "type": "number" }, "summary": { "$ref": "#/components/schemas/FiiPropertySummary" } }, "required": [ "symbol", "cnpj", "referenceDate", "version", "summary" ] }, "FiiPropertiesHistoryResponse": { "type": "object", "properties": { "history": { "type": "array", "items": { "$ref": "#/components/schemas/FiiPropertiesHistoryEntry" } }, "requestedAt": { "type": "string", "format": "date-time", "description": "Data e hora da requisição em ISO 8601.", "example": "2025-01-24T17:32:38.000Z" }, "took": { "type": "integer", "minimum": 0, "description": "Tempo de processamento, em milissegundos.", "example": 45 } }, "required": [ "history", "requestedAt", "took" ], "example": { "history": [ { "symbol": "HGLG11", "cnpj": "11728688000147", "referenceDate": "2026-03-31", "version": 2, "summary": { "count": 37, "totalArea": 2066028.32, "vacancyRate": 0.032785, "averageVacancyRate": 0.03787, "propertiesWithVacancy": 37 } }, { "symbol": "HGLG11", "cnpj": "11728688000147", "referenceDate": "2025-12-31", "version": 2, "summary": { "count": 28, "totalArea": 1628383.15, "vacancyRate": 0.029088, "averageVacancyRate": 0.04282, "propertiesWithVacancy": 28 } } ], "requestedAt": "2026-02-08T16:25:26.456Z", "took": 6 } }, "FiiPortfolioHistoryEntry": { "type": "object", "properties": { "symbol": { "type": "string", "nullable": true }, "cnpj": { "type": "string" }, "referenceDate": { "type": "string" }, "version": { "type": "number" }, "summary": { "$ref": "#/components/schemas/FiiPortfolioSummary" }, "allocations": { "type": "array", "items": { "$ref": "#/components/schemas/FiiPortfolioAllocation" } } }, "required": [ "symbol", "cnpj", "referenceDate", "version", "summary", "allocations" ] }, "FiiPortfolioHistoryResponse": { "type": "object", "properties": { "history": { "type": "array", "items": { "$ref": "#/components/schemas/FiiPortfolioHistoryEntry" } }, "requestedAt": { "type": "string", "format": "date-time", "description": "Data e hora da requisição em ISO 8601.", "example": "2025-01-24T17:32:38.000Z" }, "took": { "type": "integer", "minimum": 0, "description": "Tempo de processamento, em milissegundos.", "example": 45 } }, "required": [ "history", "requestedAt", "took" ], "example": { "history": [ { "symbol": "HGLG11", "cnpj": "11728688000147", "referenceDate": "2026-03-31", "version": 2, "summary": { "totalItems": 57, "declaredValue": 1256045042.52, "properties": { "count": 37, "totalArea": 2066028.32, "vacancyRate": 0.032785, "averageVacancyRate": 0.03787, "propertiesWithVacancy": 37 }, "financialAssets": { "count": 20, "declaredValue": 1256045042.52 }, "lands": { "count": 0, "totalArea": null }, "rights": { "count": 0, "declaredValue": null } }, "allocations": [ { "assetClass": "cri", "count": 1, "value": 106876.54 }, { "assetClass": "fii", "count": 8, "value": 232510079.3 }, { "assetClass": "real_estate_company", "count": 11, "value": 1023428086.68 }, { "assetClass": "real_estate", "count": 37, "value": null } ] } ], "requestedAt": "2026-02-08T16:25:27.456Z", "took": 7 } }, "FiiMonthlyReport": { "type": "object", "properties": { "symbol": { "type": "string", "nullable": true }, "name": { "type": "string", "nullable": true }, "cnpj": { "type": "string" }, "administratorName": { "type": "string", "nullable": true }, "administratorCnpj": { "type": "string", "nullable": true }, "administratorAddress": { "type": "string", "nullable": true }, "administratorAddressNumber": { "type": "string", "nullable": true }, "administratorAddressComplement": { "type": "string", "nullable": true }, "administratorDistrict": { "type": "string", "nullable": true }, "administratorCity": { "type": "string", "nullable": true }, "administratorState": { "type": "string", "nullable": true }, "administratorZipCode": { "type": "string", "nullable": true }, "administratorPhone1": { "type": "string", "nullable": true }, "administratorPhone2": { "type": "string", "nullable": true }, "administratorPhone3": { "type": "string", "nullable": true }, "administratorWebsite": { "type": "string", "nullable": true }, "administratorEmail": { "type": "string", "nullable": true }, "referenceDate": { "type": "string" }, "version": { "type": "number" }, "totalAssets": { "type": "number", "nullable": true }, "equity": { "type": "number", "nullable": true }, "sharesOutstanding": { "type": "number", "nullable": true }, "navPerShare": { "type": "number", "nullable": true }, "adminFeeRate": { "type": "number", "nullable": true }, "monthlyReturn": { "type": "number", "nullable": true }, "monthlyPatrimonialReturn": { "type": "number", "nullable": true }, "monthlyDividendYield": { "type": "number", "nullable": true }, "amortizationRate": { "type": "number", "nullable": true }, "totalInvestors": { "type": "number", "nullable": true }, "cash": { "type": "number", "nullable": true }, "liquidityNeeds": { "type": "number", "nullable": true }, "governmentBonds": { "type": "number", "nullable": true }, "privateBonds": { "type": "number", "nullable": true }, "fixedIncomeFunds": { "type": "number", "nullable": true }, "totalInvested": { "type": "number", "nullable": true }, "realEstateAssets": { "type": "number", "nullable": true }, "realEstateCompanyShares": { "type": "number", "nullable": true }, "realEstateCompanyUnits": { "type": "number", "nullable": true }, "cri": { "type": "number", "nullable": true }, "lci": { "type": "number", "nullable": true }, "fiiHoldings": { "type": "number", "nullable": true }, "receivables": { "type": "number", "nullable": true }, "rentalReceivables": { "type": "number", "nullable": true }, "otherReceivables": { "type": "number", "nullable": true }, "distributionsPayable": { "type": "number", "nullable": true }, "adminFeesPayable": { "type": "number", "nullable": true }, "realEstateObligations": { "type": "number", "nullable": true }, "totalLiabilities": { "type": "number", "nullable": true } }, "required": [ "symbol", "name", "cnpj", "administratorName", "administratorCnpj", "administratorAddress", "administratorAddressNumber", "administratorAddressComplement", "administratorDistrict", "administratorCity", "administratorState", "administratorZipCode", "administratorPhone1", "administratorPhone2", "administratorPhone3", "administratorWebsite", "administratorEmail", "referenceDate", "version", "totalAssets", "equity", "sharesOutstanding", "navPerShare", "adminFeeRate", "monthlyReturn", "monthlyPatrimonialReturn", "monthlyDividendYield", "amortizationRate", "totalInvestors", "cash", "liquidityNeeds", "governmentBonds", "privateBonds", "fixedIncomeFunds", "totalInvested", "realEstateAssets", "realEstateCompanyShares", "realEstateCompanyUnits", "cri", "lci", "fiiHoldings", "receivables", "rentalReceivables", "otherReceivables", "distributionsPayable", "adminFeesPayable", "realEstateObligations", "totalLiabilities" ] }, "FiiReportsResponse": { "type": "object", "properties": { "reports": { "type": "array", "items": { "$ref": "#/components/schemas/FiiMonthlyReport" } }, "pagination": { "$ref": "#/components/schemas/PaginationMeta" }, "requestedAt": { "type": "string", "format": "date-time", "description": "Data e hora da requisição em ISO 8601.", "example": "2025-01-24T17:32:38.000Z" }, "took": { "type": "integer", "minimum": 0, "description": "Tempo de processamento, em milissegundos.", "example": 45 } }, "required": [ "reports", "pagination", "requestedAt", "took" ], "example": { "reports": [ { "symbol": "MXRF11", "name": null, "cnpj": "97521225000125", "administratorName": "BTG PACTUAL SERVICOS FINANCEIROS S/A DTVM", "administratorCnpj": "59281253000123", "administratorAddress": "Praia de Botafogo", "administratorAddressNumber": "501", "administratorAddressComplement": "6 Andar", "administratorDistrict": "Botafogo", "administratorCity": "Rio de Janeiro", "administratorState": "RJ", "administratorZipCode": "22250040", "administratorPhone1": "55 11 3383-3102", "administratorPhone2": null, "administratorPhone3": null, "administratorWebsite": "www.btgpactual.com", "administratorEmail": "[email protected]", "referenceDate": "2025-12-01 00:00:00+00", "version": 2, "totalAssets": 4375755000, "equity": 4331102700, "sharesOutstanding": 460269540, "navPerShare": 9.409927, "adminFeeRate": 0.000753, "monthlyReturn": 0.007876, "monthlyPatrimonialReturn": -0.001452, "monthlyDividendYield": 0.009328, "amortizationRate": 0, "totalInvestors": 1357621, "cash": 0, "liquidityNeeds": 24506374, "governmentBonds": 0, "privateBonds": 0, "fixedIncomeFunds": 24506374, "totalInvested": 4326274600, "realEstateAssets": 9147060, "realEstateCompanyShares": 0, "realEstateCompanyUnits": 0, "cri": 3354012400, "lci": 0, "fiiHoldings": 538337660, "receivables": 24973770, "rentalReceivables": 0, "otherReceivables": 24973770, "distributionsPayable": 41155660, "adminFeesPayable": 3260833.2, "realEstateObligations": 0, "totalLiabilities": 44652356 } ], "pagination": { "page": 1, "limit": 1, "totalItems": 10, "totalPages": 10, "hasNextPage": true }, "requestedAt": "2026-02-08T16:25:27.115Z", "took": 5 } }, "FiiDividend": { "type": "object", "properties": { "symbol": { "type": "string" }, "approvedOn": { "type": "string", "nullable": true }, "label": { "type": "string" }, "lastDatePrior": { "type": "string" }, "exDate": { "type": "string", "nullable": true }, "paymentDate": { "type": "string" }, "rate": { "type": "number" }, "relatedTo": { "type": "string", "nullable": true }, "isinCode": { "type": "string", "nullable": true }, "remarks": { "type": "string", "nullable": true }, "verified": { "type": "boolean", "description": "`true` quando o provento foi conferido em um documento publicado pela empresa ou pelo fundo. `false` quando vem de dados históricos que ainda não têm esse documento." } }, "required": [ "symbol", "approvedOn", "label", "lastDatePrior", "exDate", "paymentDate", "rate", "relatedTo", "isinCode", "remarks", "verified" ] }, "FiiDividendsResponse": { "type": "object", "properties": { "dividends": { "type": "array", "items": { "$ref": "#/components/schemas/FiiDividend" } }, "requestedAt": { "type": "string", "format": "date-time", "description": "Data e hora da requisição em ISO 8601.", "example": "2025-01-24T17:32:38.000Z" }, "took": { "type": "integer", "minimum": 0, "description": "Tempo de processamento, em milissegundos.", "example": 45 } }, "required": [ "dividends", "requestedAt", "took" ], "example": { "dividends": [ { "symbol": "MXRF11", "approvedOn": null, "label": "RENDIMENTO", "lastDatePrior": "2025-12-01 00:00:00+00", "exDate": "2025-12-01 00:00:00+00", "paymentDate": "2025-12-01 00:00:00+00", "rate": 0.08941643, "relatedTo": null, "isinCode": null, "remarks": "backfilled from FiiMonthlyReports" }, { "symbol": "MXRF11", "approvedOn": null, "label": "RENDIMENTO", "lastDatePrior": "2025-11-01 00:00:00+00", "exDate": "2025-11-01 00:00:00+00", "paymentDate": "2025-11-01 00:00:00+00", "rate": 0.098144606, "relatedTo": null, "isinCode": null, "remarks": "backfilled from FiiMonthlyReports" } ], "requestedAt": "2026-02-08T16:25:19.026Z", "took": 23 } }, "FiiFinancialReport": { "type": "object", "properties": { "symbol": { "type": "string", "nullable": true }, "cnpj": { "type": "string" }, "year": { "type": "number" }, "referenceDate": { "type": "string" }, "documentType": { "type": "string" }, "fields": { "type": "object", "nullable": true, "additionalProperties": { "nullable": true } } }, "required": [ "symbol", "cnpj", "year", "referenceDate", "documentType", "fields" ] }, "FiiAnnualReport": { "type": "object", "properties": { "symbol": { "type": "string", "nullable": true }, "cnpj": { "type": "string" }, "year": { "type": "number" }, "referenceDate": { "type": "string" }, "includeSections": { "type": "object", "nullable": true, "additionalProperties": { "nullable": true } }, "fields": { "type": "object", "nullable": true, "additionalProperties": { "nullable": true } } }, "required": [ "symbol", "cnpj", "year", "referenceDate", "includeSections", "fields" ] }, "FundListItem": { "type": "object", "properties": { "symbol": { "type": "string", "nullable": true }, "cnpj": { "type": "string" }, "formattedCnpj": { "type": "string", "nullable": true }, "name": { "type": "string", "nullable": true }, "legalName": { "type": "string", "nullable": true }, "assetType": { "type": "string", "enum": [ "fii", "fiagro", "fiinfra", "fif", "fidc", "fip", "etf", "other" ] }, "cvmClassType": { "type": "string", "nullable": true }, "cvmClassification": { "type": "string", "nullable": true }, "anbimaClassification": { "type": "string", "nullable": true }, "b3Classification": { "type": "string", "nullable": true }, "isin": { "type": "string", "nullable": true }, "administratorName": { "type": "string", "nullable": true }, "administratorCnpj": { "type": "string", "nullable": true }, "managerName": { "type": "string", "nullable": true }, "managerCnpj": { "type": "string", "nullable": true }, "status": { "type": "string", "nullable": true }, "price": { "type": "number", "nullable": true }, "navPerShare": { "type": "number", "nullable": true }, "priceToNav": { "type": "number", "nullable": true }, "equity": { "type": "number", "nullable": true }, "totalAssets": { "type": "number", "nullable": true }, "totalInvestors": { "type": "number", "nullable": true }, "updatedAt": { "type": "string", "nullable": true } }, "required": [ "symbol", "cnpj", "formattedCnpj", "name", "legalName", "assetType", "cvmClassType", "cvmClassification", "anbimaClassification", "b3Classification", "isin", "administratorName", "administratorCnpj", "managerName", "managerCnpj", "status", "price", "navPerShare", "priceToNav", "equity", "totalAssets", "totalInvestors", "updatedAt" ] }, "FundPaginationMeta": { "type": "object", "properties": { "page": { "type": "number" }, "limit": { "type": "number" }, "totalItems": { "type": "number" }, "totalPages": { "type": "number" }, "hasNextPage": { "type": "boolean" } }, "required": [ "page", "limit", "totalItems", "totalPages", "hasNextPage" ] }, "FundIndicator": { "type": "object", "properties": { "symbol": { "type": "string", "nullable": true }, "cnpj": { "type": "string" }, "name": { "type": "string", "nullable": true }, "assetType": { "type": "string", "enum": [ "fii", "fiagro", "fiinfra", "fif", "fidc", "fip", "etf", "other" ] }, "price": { "type": "number", "nullable": true }, "navPerShare": { "type": "number", "nullable": true }, "priceToNav": { "type": "number", "nullable": true }, "equity": { "type": "number", "nullable": true }, "totalAssets": { "type": "number", "nullable": true }, "totalInvestors": { "type": "number", "nullable": true }, "asOfDate": { "type": "string", "nullable": true }, "dailyApplications": { "type": "number", "nullable": true }, "dailyRedemptions": { "type": "number", "nullable": true }, "sharesOutstanding": { "type": "number", "nullable": true }, "monthlyReturn": { "type": "number", "nullable": true }, "patrimonialMonthlyReturn": { "type": "number", "nullable": true }, "dividendYieldMonthly": { "type": "number", "nullable": true } }, "required": [ "symbol", "cnpj", "name", "assetType", "price", "navPerShare", "priceToNav", "equity", "totalAssets", "totalInvestors", "asOfDate", "dailyApplications", "dailyRedemptions", "sharesOutstanding", "monthlyReturn", "patrimonialMonthlyReturn", "dividendYieldMonthly" ] }, "FundNavHistory": { "type": "object", "properties": { "symbol": { "type": "string", "nullable": true }, "cnpj": { "type": "string" }, "date": { "type": "string" }, "classOrSeries": { "type": "string", "nullable": true }, "totalAssets": { "type": "number", "nullable": true }, "navPerShare": { "type": "number", "nullable": true }, "equity": { "type": "number", "nullable": true }, "dailyApplications": { "type": "number", "nullable": true }, "dailyRedemptions": { "type": "number", "nullable": true }, "totalInvestors": { "type": "number", "nullable": true }, "monthlyReturn": { "type": "number", "nullable": true } }, "required": [ "symbol", "cnpj", "date", "classOrSeries", "totalAssets", "navPerShare", "equity", "dailyApplications", "dailyRedemptions", "totalInvestors", "monthlyReturn" ] }, "FundProfile": { "type": "object", "properties": { "symbol": { "type": "string", "nullable": true }, "cnpj": { "type": "string" }, "referenceDate": { "type": "string" }, "investorBreakdown": { "type": "object", "nullable": true, "additionalProperties": { "nullable": true } }, "risk": { "type": "object", "nullable": true, "additionalProperties": { "nullable": true } }, "liquidity": { "type": "object", "nullable": true, "additionalProperties": { "nullable": true } }, "concentration": { "type": "object", "nullable": true, "additionalProperties": { "nullable": true } }, "privateCredit": { "type": "object", "nullable": true, "additionalProperties": { "nullable": true } } }, "required": [ "symbol", "cnpj", "referenceDate", "investorBreakdown", "risk", "liquidity", "concentration", "privateCredit" ] }, "FundDividend": { "type": "object", "properties": { "symbol": { "type": "string" }, "cnpj": { "type": "string" }, "assetType": { "type": "string", "enum": [ "fiagro", "fiinfra", "fif", "fidc", "fip", "other" ] }, "declaredDate": { "type": "string" }, "lastDatePrior": { "type": "string" }, "exDate": { "type": "string", "nullable": true }, "paymentDate": { "type": "string" }, "rate": { "type": "number" }, "label": { "type": "string" }, "isinCode": { "type": "string", "nullable": true } }, "required": [ "symbol", "cnpj", "assetType", "declaredDate", "lastDatePrior", "exDate", "paymentDate", "rate", "label", "isinCode" ] }, "FiagroReport": { "type": "object", "properties": { "symbol": { "type": "string", "nullable": true }, "cnpj": { "type": "string" }, "name": { "type": "string", "nullable": true }, "referenceDate": { "type": "string" }, "version": { "type": "number" }, "isin": { "type": "string", "nullable": true }, "market": { "type": "string", "nullable": true }, "administratorName": { "type": "string", "nullable": true }, "managerName": { "type": "string", "nullable": true }, "totalAssets": { "type": "number", "nullable": true }, "netEquity": { "type": "number", "nullable": true }, "sharesOutstanding": { "type": "number", "nullable": true }, "navPerShare": { "type": "number", "nullable": true }, "totalInvestors": { "type": "number", "nullable": true }, "monthlyReturn": { "type": "number", "nullable": true }, "patrimonialMonthlyReturn": { "type": "number", "nullable": true }, "dividendYieldMonthly": { "type": "number", "nullable": true }, "amortizationRateMonthly": { "type": "number", "nullable": true }, "liquidityNeeds": { "type": "number", "nullable": true }, "incomeToDistribute": { "type": "number", "nullable": true }, "totalLiabilities": { "type": "number", "nullable": true } }, "required": [ "symbol", "cnpj", "name", "referenceDate", "version", "isin", "market", "administratorName", "managerName", "totalAssets", "netEquity", "sharesOutstanding", "navPerShare", "totalInvestors", "monthlyReturn", "patrimonialMonthlyReturn", "dividendYieldMonthly", "amortizationRateMonthly", "liquidityNeeds", "incomeToDistribute", "totalLiabilities" ] }, "FiagroPortfolio": { "type": "object", "properties": { "symbol": { "type": "string", "nullable": true }, "cnpj": { "type": "string" }, "referenceDate": { "type": "string" }, "summary": { "type": "object", "nullable": true, "additionalProperties": { "nullable": true } }, "allocations": { "type": "object", "nullable": true, "additionalProperties": { "nullable": true } }, "investors": { "type": "object", "nullable": true, "additionalProperties": { "nullable": true } }, "liabilities": { "type": "object", "nullable": true, "additionalProperties": { "nullable": true } } }, "required": [ "symbol", "cnpj", "referenceDate", "summary", "allocations", "investors", "liabilities" ] }, "FundHoldingDetails": { "type": "object", "nullable": true, "properties": { "applicationType": { "type": "string" }, "negotiationType": { "type": "string" }, "assetCode": { "type": "string" }, "issueDate": { "type": "string" }, "relatedIssuer": { "type": "boolean" }, "purchasedQuantity": { "type": "number" }, "soldQuantity": { "type": "number" }, "purchaseValue": { "type": "number" }, "saleValue": { "type": "number" }, "confidentialUntil": { "type": "string" }, "fundClassType": { "type": "string" }, "subclassId": { "type": "string" }, "issuerType": { "type": "string" } } }, "FundHolding": { "type": "object", "properties": { "bucket": { "type": "string" }, "assetType": { "type": "string", "nullable": true }, "assetName": { "type": "string", "nullable": true }, "issuerName": { "type": "string", "nullable": true }, "issuerCnpj": { "type": "string", "nullable": true }, "isin": { "type": "string", "nullable": true }, "selicCode": { "type": "string", "nullable": true }, "quantity": { "type": "number", "nullable": true }, "marketValue": { "type": "number", "nullable": true }, "costValue": { "type": "number", "nullable": true }, "maturityDate": { "type": "string", "nullable": true }, "confidential": { "type": "boolean" }, "details": { "$ref": "#/components/schemas/FundHoldingDetails" } }, "required": [ "bucket", "assetType", "assetName", "issuerName", "issuerCnpj", "isin", "selicCode", "quantity", "marketValue", "costValue", "maturityDate", "confidential", "details" ] }, "FundPortfolio": { "type": "object", "properties": { "symbol": { "type": "string", "nullable": true }, "cnpj": { "type": "string" }, "name": { "type": "string", "nullable": true }, "referenceDate": { "type": "string" }, "summary": { "type": "object", "additionalProperties": { "nullable": true } }, "publicBonds": { "type": "array", "items": { "$ref": "#/components/schemas/FundHolding" } }, "fundHoldings": { "type": "array", "items": { "$ref": "#/components/schemas/FundHolding" } }, "creditAssets": { "type": "array", "items": { "$ref": "#/components/schemas/FundHolding" } }, "listedSecurities": { "type": "array", "items": { "$ref": "#/components/schemas/FundHolding" } }, "receivables": { "type": "array", "items": { "$ref": "#/components/schemas/FundHolding" } }, "payables": { "type": "array", "items": { "$ref": "#/components/schemas/FundHolding" } }, "confidentialSummary": { "type": "object", "nullable": true, "additionalProperties": { "nullable": true } } }, "required": [ "symbol", "cnpj", "name", "referenceDate", "summary", "publicBonds", "fundHoldings", "creditAssets", "listedSecurities", "receivables", "payables", "confidentialSummary" ] }, "FidcReport": { "type": "object", "properties": { "symbol": { "type": "string", "nullable": true }, "cnpj": { "type": "string" }, "name": { "type": "string", "nullable": true }, "referenceDate": { "type": "string" }, "administratorName": { "type": "string", "nullable": true }, "class": { "type": "string", "nullable": true }, "condominiumType": { "type": "string", "nullable": true }, "assets": { "type": "number", "nullable": true }, "portfolioValue": { "type": "number", "nullable": true }, "netEquity": { "type": "number", "nullable": true }, "averageNetEquity": { "type": "number", "nullable": true }, "liabilities": { "type": "number", "nullable": true } }, "required": [ "symbol", "cnpj", "name", "referenceDate", "administratorName", "class", "condominiumType", "assets", "portfolioValue", "netEquity", "averageNetEquity", "liabilities" ] }, "FidcPortfolio": { "type": "object", "properties": { "symbol": { "type": "string", "nullable": true }, "cnpj": { "type": "string" }, "referenceDate": { "type": "string" }, "sectors": { "type": "object", "nullable": true, "additionalProperties": { "nullable": true } }, "maturityBuckets": { "type": "object", "nullable": true, "additionalProperties": { "nullable": true } }, "delinquencyBuckets": { "type": "object", "nullable": true, "additionalProperties": { "nullable": true } }, "riskBuckets": { "type": "object", "nullable": true, "additionalProperties": { "nullable": true } }, "quotaClasses": { "type": "array", "nullable": true, "items": { "type": "object", "additionalProperties": { "nullable": true } } }, "investors": { "type": "object", "nullable": true, "additionalProperties": { "nullable": true } }, "cedentes": { "type": "object", "nullable": true, "additionalProperties": { "nullable": true } } }, "required": [ "symbol", "cnpj", "referenceDate", "sectors", "maturityBuckets", "delinquencyBuckets", "riskBuckets", "quotaClasses", "investors", "cedentes" ] }, "FipReport": { "type": "object", "properties": { "symbol": { "type": "string", "nullable": true }, "cnpj": { "type": "string" }, "name": { "type": "string", "nullable": true }, "reportType": { "type": "string", "enum": [ "trimestral", "quadrimestral" ] }, "referenceDate": { "type": "string" }, "netEquity": { "type": "number", "nullable": true }, "targetAudience": { "type": "string", "nullable": true }, "isInvestmentEntity": { "type": "boolean", "nullable": true }, "investedInOtherFips": { "type": "number", "nullable": true }, "capital": { "type": "object", "nullable": true, "properties": { "committed": { "type": "number", "nullable": true }, "subscribed": { "type": "number", "nullable": true }, "paidIn": { "type": "number", "nullable": true } }, "required": [ "committed", "subscribed", "paidIn" ] }, "quotas": { "type": "object", "nullable": true, "properties": { "subscribed": { "type": "number", "nullable": true }, "paidIn": { "type": "number", "nullable": true } }, "required": [ "subscribed", "paidIn" ] }, "quotaClass": { "type": "object", "nullable": true, "properties": { "name": { "type": "string", "nullable": true }, "fundType": { "type": "string", "nullable": true }, "subscribedQuotas": { "type": "number", "nullable": true }, "paidInQuotas": { "type": "number", "nullable": true }, "quotaValue": { "type": "number", "nullable": true }, "investors": { "type": "number", "nullable": true }, "hasDistinctEconomicRights": { "type": "boolean", "nullable": true }, "hasSpecialPoliticalRights": { "type": "boolean", "nullable": true } }, "required": [ "name", "fundType", "subscribedQuotas", "paidInQuotas", "quotaValue", "investors", "hasDistinctEconomicRights", "hasSpecialPoliticalRights" ] }, "investorComposition": { "type": "object", "nullable": true, "properties": { "totalInvestors": { "type": "number", "nullable": true }, "totalSubscribedQuotaPercent": { "type": "number", "nullable": true }, "byType": { "type": "object", "properties": { "individuals": { "type": "object", "properties": { "investors": { "type": "number", "nullable": true }, "subscribedQuotaPercent": { "type": "number", "nullable": true } }, "required": [ "investors", "subscribedQuotaPercent" ] }, "investmentFunds": { "type": "object", "properties": { "investors": { "type": "number", "nullable": true }, "subscribedQuotaPercent": { "type": "number", "nullable": true } }, "required": [ "investors", "subscribedQuotaPercent" ] }, "realEstateFunds": { "type": "object", "properties": { "investors": { "type": "number", "nullable": true }, "subscribedQuotaPercent": { "type": "number", "nullable": true } }, "required": [ "investors", "subscribedQuotaPercent" ] }, "openPensionFunds": { "type": "object", "properties": { "investors": { "type": "number", "nullable": true }, "subscribedQuotaPercent": { "type": "number", "nullable": true } }, "required": [ "investors", "subscribedQuotaPercent" ] }, "closedPensionFunds": { "type": "object", "properties": { "investors": { "type": "number", "nullable": true }, "subscribedQuotaPercent": { "type": "number", "nullable": true } }, "required": [ "investors", "subscribedQuotaPercent" ] }, "publicPensionFunds": { "type": "object", "properties": { "investors": { "type": "number", "nullable": true }, "subscribedQuotaPercent": { "type": "number", "nullable": true } }, "required": [ "investors", "subscribedQuotaPercent" ] }, "commercialBanks": { "type": "object", "properties": { "investors": { "type": "number", "nullable": true }, "subscribedQuotaPercent": { "type": "number", "nullable": true } }, "required": [ "investors", "subscribedQuotaPercent" ] }, "nonResidents": { "type": "object", "properties": { "investors": { "type": "number", "nullable": true }, "subscribedQuotaPercent": { "type": "number", "nullable": true } }, "required": [ "investors", "subscribedQuotaPercent" ] }, "otherInvestors": { "type": "object", "properties": { "investors": { "type": "number", "nullable": true }, "subscribedQuotaPercent": { "type": "number", "nullable": true } }, "required": [ "investors", "subscribedQuotaPercent" ] }, "insuranceCompanies": { "type": "object", "properties": { "investors": { "type": "number", "nullable": true }, "subscribedQuotaPercent": { "type": "number", "nullable": true } }, "required": [ "investors", "subscribedQuotaPercent" ] }, "fundDistributors": { "type": "object", "properties": { "investors": { "type": "number", "nullable": true }, "subscribedQuotaPercent": { "type": "number", "nullable": true } }, "required": [ "investors", "subscribedQuotaPercent" ] }, "capitalizationAndLeasingCompanies": { "type": "object", "properties": { "investors": { "type": "number", "nullable": true }, "subscribedQuotaPercent": { "type": "number", "nullable": true } }, "required": [ "investors", "subscribedQuotaPercent" ] }, "financialCompanies": { "type": "object", "properties": { "investors": { "type": "number", "nullable": true }, "subscribedQuotaPercent": { "type": "number", "nullable": true } }, "required": [ "investors", "subscribedQuotaPercent" ] }, "nonFinancialCompanies": { "type": "object", "properties": { "investors": { "type": "number", "nullable": true }, "subscribedQuotaPercent": { "type": "number", "nullable": true } }, "required": [ "investors", "subscribedQuotaPercent" ] }, "brokersAndDistributors": { "type": "object", "properties": { "investors": { "type": "number", "nullable": true }, "subscribedQuotaPercent": { "type": "number", "nullable": true } }, "required": [ "investors", "subscribedQuotaPercent" ] } } } }, "required": [ "totalInvestors", "totalSubscribedQuotaPercent", "byType" ] } }, "required": [ "symbol", "cnpj", "name", "reportType", "referenceDate", "netEquity", "targetAudience", "isInvestmentEntity", "investedInOtherFips", "capital", "quotas", "quotaClass", "investorComposition" ] }, "FutureOptionExpirationsResponse": { "type": "object", "properties": { "underlying": { "type": "string" }, "expirations": { "type": "array", "items": { "type": "string" } }, "requestedAt": { "type": "string", "format": "date-time", "description": "Data e hora da requisição em ISO 8601.", "example": "2025-01-24T17:32:38.000Z" }, "took": { "type": "integer", "minimum": 0, "description": "Tempo de processamento, em milissegundos.", "example": 45 } }, "required": [ "underlying", "expirations", "requestedAt", "took" ], "example": { "underlying": "BGI", "expirations": [ "2026-07-31", "2027-08-31", "2026-09-30", "2026-10-30", "2026-11-30", "2026-12-30", "2027-03-31" ], "requestedAt": "2026-06-02T12:00:00.000Z", "took": 22 } }, "FutureOptionStrikesResponse": { "type": "object", "properties": { "underlying": { "type": "string" }, "expirationDate": { "type": "string" }, "side": { "type": "string", "nullable": true, "enum": [ "call", "put" ] }, "strikes": { "type": "array", "items": { "type": "number" } }, "requestedAt": { "type": "string", "format": "date-time", "description": "Data e hora da requisição em ISO 8601.", "example": "2025-01-24T17:32:38.000Z" }, "took": { "type": "integer", "minimum": 0, "description": "Tempo de processamento, em milissegundos.", "example": 45 } }, "required": [ "underlying", "expirationDate", "side", "strikes", "requestedAt", "took" ], "example": { "underlying": "BGI", "expirationDate": "2027-08-31", "side": "call", "strikes": [ 280, 285, 290, 300, 305, 308, 310, 312, 315 ], "requestedAt": "2026-06-02T12:00:00.000Z", "took": 18 } }, "FutureOptionQuote": { "type": "object", "properties": { "symbol": { "type": "string", "description": "Código da série de opção. Ex.: `BGIH27C028550`." }, "underlyingAsset": { "type": "string", "description": "Código do ativo do futuro. Ex.: `BGI`." }, "underlyingFuture": { "type": "string", "nullable": true, "description": "Contrato futuro de base, quando informado." }, "optionType": { "type": "string", "enum": [ "call", "put" ], "description": "`call` (opção de compra) ou `put` (opção de venda)." }, "optionStyle": { "type": "string", "nullable": true, "enum": [ "american", "european" ], "description": "`american` permite exercício até o vencimento. `european` permite exercício só no vencimento." }, "segment": { "type": "string", "enum": [ "financial", "agribusiness" ], "description": "Segmento do contrato: `financial` ou `agribusiness`." }, "strike": { "type": "number", "description": "Preço de exercício da opção, na unidade de cotação do futuro." }, "expirationDate": { "type": "string", "description": "Data de vencimento, no formato YYYY-MM-DD." }, "firstTradeDate": { "type": "string", "nullable": true, "description": "Data do primeiro pregão da série, no formato YYYY-MM-DD." }, "lastTradeDate": { "type": "string", "nullable": true, "description": "Data do último pregão da série, no formato YYYY-MM-DD." }, "contractMultiplier": { "type": "number", "nullable": true, "description": "Multiplicador do contrato, herdado do futuro. Ex.: 330 arrobas no boi gordo." }, "allocationRoundLot": { "type": "integer", "nullable": true, "description": "Lote padrão de negociação." }, "exerciseType": { "type": "string", "nullable": true, "description": "Tipo de exercício." }, "automaticExercise": { "type": "boolean", "nullable": true, "description": "`true` quando a opção é exercida automaticamente no vencimento." }, "premiumUpfront": { "type": "boolean", "nullable": true, "description": "`true` se o prêmio é pago à vista, `false` se é diferido." }, "isin": { "type": "string", "nullable": true, "description": "Código ISIN da série de opção." }, "cficCode": { "type": "string", "nullable": true, "description": "Código CFI." }, "date": { "type": "integer", "description": "Data do pregão, em timestamp Unix (segundos)." }, "open": { "type": "number", "nullable": true, "description": "Preço de abertura." }, "high": { "type": "number", "nullable": true, "description": "Preço máximo." }, "low": { "type": "number", "nullable": true, "description": "Preço mínimo." }, "average": { "type": "number", "nullable": true, "description": "Preço médio." }, "close": { "type": "number", "nullable": true, "description": "Preço de fechamento." }, "referencePrice": { "type": "number", "nullable": true, "description": "Preço de referência do pregão. Costuma vir preenchido mesmo sem negócio." }, "oscillationPct": { "type": "number", "nullable": true, "description": "Variação percentual em relação ao pregão anterior." }, "trades": { "type": "number", "nullable": true, "description": "Número de negócios." }, "volume": { "type": "number", "nullable": true, "description": "Número de contratos negociados." }, "financialVolume": { "type": "number", "nullable": true, "description": "Volume financeiro, em reais." }, "openInterest": { "type": "number", "nullable": true, "description": "Contratos em aberto na série, na última apuração até a data pedida." }, "openInterestChange": { "type": "number", "nullable": true, "description": "Variação de contratos em aberto desde a apuração anterior." }, "openInterestDate": { "type": "string", "nullable": true, "description": "Data da apuração usada, no formato YYYY-MM-DD. Pode ser anterior à data do pregão." } }, "required": [ "symbol", "underlyingAsset", "underlyingFuture", "optionType", "optionStyle", "segment", "strike", "expirationDate", "firstTradeDate", "lastTradeDate", "contractMultiplier", "allocationRoundLot", "exerciseType", "automaticExercise", "premiumUpfront", "isin", "cficCode", "date", "open", "high", "low", "average", "close", "referencePrice", "oscillationPct", "trades", "volume", "financialVolume", "openInterest", "openInterestChange", "openInterestDate" ] }, "FutureOptionChainResponse": { "type": "object", "properties": { "underlying": { "type": "string" }, "expirationDate": { "type": "string" }, "date": { "type": "string" }, "series": { "type": "array", "items": { "$ref": "#/components/schemas/FutureOptionQuote" } }, "requestedAt": { "type": "string", "format": "date-time", "description": "Data e hora da requisição em ISO 8601.", "example": "2025-01-24T17:32:38.000Z" }, "took": { "type": "integer", "minimum": 0, "description": "Tempo de processamento, em milissegundos.", "example": 45 } }, "required": [ "underlying", "expirationDate", "date", "series", "requestedAt", "took" ], "example": { "underlying": "BGI", "expirationDate": "2027-08-31", "date": "2026-06-01", "series": [ { "symbol": "BGIM26C028000", "underlyingAsset": "BGI", "underlyingFuture": null, "optionType": "call", "optionStyle": "american", "segment": "agribusiness", "strike": 280, "expirationDate": "2027-08-31", "firstTradeDate": "2026-03-09", "lastTradeDate": "2027-08-31", "contractMultiplier": 330, "allocationRoundLot": 1, "exerciseType": null, "automaticExercise": null, "premiumUpfront": true, "isin": "BRBMEFCBMMP7", "cficCode": "OCAFPS", "date": 1780272000, "open": null, "high": null, "low": null, "average": null, "close": null, "referencePrice": 68.57, "oscillationPct": null, "trades": null, "volume": null, "financialVolume": null, "openInterest": 2441, "openInterestChange": -22, "openInterestDate": "2026-06-01" }, { "symbol": "BGIM26P028000", "underlyingAsset": "BGI", "underlyingFuture": null, "optionType": "put", "optionStyle": "american", "segment": "agribusiness", "strike": 280, "expirationDate": "2027-08-31", "firstTradeDate": "2026-03-09", "lastTradeDate": "2027-08-31", "contractMultiplier": 330, "allocationRoundLot": 1, "exerciseType": null, "automaticExercise": null, "premiumUpfront": true, "isin": "BRBMEFVBMMP7", "cficCode": "OPAFPS", "date": 1780272000, "open": null, "high": null, "low": null, "average": null, "close": null, "referencePrice": 0.01, "oscillationPct": null, "trades": null, "volume": null, "financialVolume": null, "openInterest": 2441, "openInterestChange": -22, "openInterestDate": "2026-06-01" } ], "requestedAt": "2026-06-02T12:00:00.000Z", "took": 54 } }, "FutureOptionPositionSnapshot": { "type": "object", "properties": { "symbol": { "type": "string", "description": "Código da série de opção. Ex.: `BGIH27C028550`." }, "underlyingAsset": { "type": "string", "description": "Código do ativo do futuro. Ex.: `BGI`." }, "underlyingFuture": { "type": "string", "nullable": true, "description": "Contrato futuro de base, quando informado." }, "optionType": { "type": "string", "enum": [ "call", "put" ], "description": "`call` (opção de compra) ou `put` (opção de venda)." }, "optionStyle": { "type": "string", "nullable": true, "enum": [ "american", "european" ], "description": "`american` permite exercício até o vencimento. `european` permite exercício só no vencimento." }, "segment": { "type": "string", "enum": [ "financial", "agribusiness" ], "description": "Segmento do contrato: `financial` ou `agribusiness`." }, "strike": { "type": "number", "description": "Preço de exercício da opção, na unidade de cotação do futuro." }, "expirationDate": { "type": "string", "description": "Data de vencimento, no formato YYYY-MM-DD." }, "firstTradeDate": { "type": "string", "nullable": true, "description": "Data do primeiro pregão da série, no formato YYYY-MM-DD." }, "lastTradeDate": { "type": "string", "nullable": true, "description": "Data do último pregão da série, no formato YYYY-MM-DD." }, "contractMultiplier": { "type": "number", "nullable": true, "description": "Multiplicador do contrato, herdado do futuro. Ex.: 330 arrobas no boi gordo." }, "allocationRoundLot": { "type": "integer", "nullable": true, "description": "Lote padrão de negociação." }, "exerciseType": { "type": "string", "nullable": true, "description": "Tipo de exercício." }, "automaticExercise": { "type": "boolean", "nullable": true, "description": "`true` quando a opção é exercida automaticamente no vencimento." }, "premiumUpfront": { "type": "boolean", "nullable": true, "description": "`true` se o prêmio é pago à vista, `false` se é diferido." }, "isin": { "type": "string", "nullable": true, "description": "Código ISIN da série de opção, não do contrato futuro." }, "cficCode": { "type": "string", "nullable": true, "description": "Código CFI." }, "openInterest": { "type": "number", "nullable": true, "description": "Contratos em aberto na série, na última apuração até a data pedida." }, "openInterestChange": { "type": "number", "nullable": true, "description": "Variação de contratos em aberto desde a apuração anterior." }, "openInterestDate": { "type": "string", "nullable": true, "description": "Data da apuração usada, no formato YYYY-MM-DD. Pode ser anterior à data do pregão." }, "reportDate": { "type": "string", "description": "Data da apuração, no formato YYYY-MM-DD." }, "asset": { "type": "string", "nullable": true, "description": "Código raiz do ativo objeto. Ex.: BGI." }, "expirationCode": { "type": "string", "nullable": true, "description": "Código de vencimento da apuração. Ex.: VVNK." }, "reportSegment": { "type": "string", "description": "Segmento da apuração. Ex.: AGRIBUSINESS. É diferente do campo `segment` do contrato." }, "reportedOpenInterest": { "type": "number", "nullable": true, "description": "Contratos em aberto na apuração do pregão. É a origem de `openInterest`." }, "reportedOpenInterestChange": { "type": "number", "nullable": true, "description": "Variação de contratos em aberto na apuração do pregão. É a origem de `openInterestChange`." }, "distributionId": { "type": "string", "nullable": true, "description": "Número de distribuição do ativo objeto. Vem vazio nas opções sobre futuros." }, "coveredQuantity": { "type": "number", "nullable": true, "description": "Contratos em posição coberta." }, "blockedQuantity": { "type": "number", "nullable": true, "description": "Contratos em posição bloqueada." }, "uncoveredQuantity": { "type": "number", "nullable": true, "description": "Contratos em posição descoberta." }, "totalPositionQuantity": { "type": "number", "nullable": true, "description": "Total de contratos em posição. Vem vazio na maior parte dos segmentos de futuros." }, "borrowerQuantity": { "type": "number", "nullable": true, "description": "Quantidade tomadora em empréstimo de ativos." }, "lenderQuantity": { "type": "number", "nullable": true, "description": "Quantidade doadora em empréstimo de ativos." }, "currentQuantity": { "type": "number", "nullable": true, "description": "Quantidade corrente. Preenchida só em alguns segmentos." }, "forwardPrice": { "type": "number", "nullable": true, "description": "Preço a termo. Preenchido só em alguns segmentos." } }, "required": [ "symbol", "underlyingAsset", "underlyingFuture", "optionType", "optionStyle", "segment", "strike", "expirationDate", "firstTradeDate", "lastTradeDate", "contractMultiplier", "allocationRoundLot", "exerciseType", "automaticExercise", "premiumUpfront", "isin", "cficCode", "openInterest", "openInterestChange", "openInterestDate", "reportDate", "asset", "expirationCode", "reportSegment", "reportedOpenInterest", "reportedOpenInterestChange", "distributionId", "coveredQuantity", "blockedQuantity", "uncoveredQuantity", "totalPositionQuantity", "borrowerQuantity", "lenderQuantity", "currentQuantity", "forwardPrice" ] }, "FutureOptionPositionsResponse": { "type": "object", "properties": { "underlying": { "type": "string" }, "expirationDate": { "type": "string" }, "date": { "type": "string" }, "positions": { "type": "array", "items": { "$ref": "#/components/schemas/FutureOptionPositionSnapshot" } }, "requestedAt": { "type": "string", "format": "date-time", "description": "Data e hora da requisição em ISO 8601.", "example": "2025-01-24T17:32:38.000Z" }, "took": { "type": "integer", "minimum": 0, "description": "Tempo de processamento, em milissegundos.", "example": 45 } }, "required": [ "underlying", "expirationDate", "date", "positions", "requestedAt", "took" ], "example": { "underlying": "BGI", "expirationDate": "2027-08-31", "date": "2026-06-01", "positions": [ { "symbol": "BGIM26C028000", "underlyingAsset": "BGI", "underlyingFuture": null, "optionType": "call", "optionStyle": "american", "segment": "agribusiness", "strike": 280, "expirationDate": "2027-08-31", "firstTradeDate": "2026-03-09", "lastTradeDate": "2027-08-31", "contractMultiplier": 330, "allocationRoundLot": 1, "exerciseType": null, "automaticExercise": null, "premiumUpfront": true, "isin": "BRBMEFCBMMP7", "cficCode": "OCAFPS", "openInterest": 2441, "openInterestChange": -22, "openInterestDate": "2026-06-01", "reportDate": "2026-06-01", "asset": "BGI", "expirationCode": "VVNK", "reportSegment": "AGRIBUSINESS", "reportedOpenInterest": 2441, "reportedOpenInterestChange": -22, "distributionId": null, "coveredQuantity": null, "blockedQuantity": null, "uncoveredQuantity": null, "totalPositionQuantity": null, "borrowerQuantity": null, "lenderQuantity": null, "currentQuantity": null, "forwardPrice": null } ], "requestedAt": "2026-06-02T12:00:00.000Z", "took": 14 } }, "FutureOptionPricePoint": { "type": "object", "properties": { "date": { "type": "integer", "description": "Data do pregão, em timestamp Unix (segundos)." }, "open": { "type": "number", "nullable": true, "description": "Preço de abertura." }, "high": { "type": "number", "nullable": true, "description": "Preço máximo." }, "low": { "type": "number", "nullable": true, "description": "Preço mínimo." }, "average": { "type": "number", "nullable": true, "description": "Preço médio." }, "close": { "type": "number", "nullable": true, "description": "Preço de fechamento." }, "referencePrice": { "type": "number", "nullable": true, "description": "Preço de referência do pregão. Costuma vir preenchido mesmo sem negócio." }, "oscillationPct": { "type": "number", "nullable": true, "description": "Variação percentual em relação ao pregão anterior." }, "trades": { "type": "number", "nullable": true, "description": "Número de negócios." }, "volume": { "type": "number", "nullable": true, "description": "Número de contratos negociados." }, "financialVolume": { "type": "number", "nullable": true, "description": "Volume financeiro, em reais." } }, "required": [ "date", "open", "high", "low", "average", "close", "referencePrice", "oscillationPct", "trades", "volume", "financialVolume" ] }, "FutureOptionSpecs": { "type": "object", "properties": { "symbol": { "type": "string", "description": "Código da série de opção. Ex.: `BGIH27C028550`." }, "underlyingAsset": { "type": "string", "description": "Código do ativo do futuro. Ex.: `BGI`." }, "underlyingFuture": { "type": "string", "nullable": true, "description": "Contrato futuro de base, quando informado." }, "optionType": { "type": "string", "enum": [ "call", "put" ], "description": "`call` (opção de compra) ou `put` (opção de venda)." }, "optionStyle": { "type": "string", "nullable": true, "enum": [ "american", "european" ], "description": "`american` permite exercício até o vencimento. `european` permite exercício só no vencimento." }, "segment": { "type": "string", "enum": [ "financial", "agribusiness" ], "description": "Segmento do contrato: `financial` ou `agribusiness`." }, "strike": { "type": "number", "description": "Preço de exercício da opção, na unidade de cotação do futuro." }, "expirationDate": { "type": "string", "description": "Data de vencimento, no formato YYYY-MM-DD." }, "firstTradeDate": { "type": "string", "nullable": true, "description": "Data do primeiro pregão da série, no formato YYYY-MM-DD." }, "lastTradeDate": { "type": "string", "nullable": true, "description": "Data do último pregão da série, no formato YYYY-MM-DD." }, "contractMultiplier": { "type": "number", "nullable": true, "description": "Multiplicador do contrato, herdado do futuro. Ex.: 330 arrobas no boi gordo." }, "allocationRoundLot": { "type": "integer", "nullable": true, "description": "Lote padrão de negociação." }, "exerciseType": { "type": "string", "nullable": true, "description": "Tipo de exercício." }, "automaticExercise": { "type": "boolean", "nullable": true, "description": "`true` quando a opção é exercida automaticamente no vencimento." }, "premiumUpfront": { "type": "boolean", "nullable": true, "description": "`true` se o prêmio é pago à vista, `false` se é diferido." }, "isin": { "type": "string", "nullable": true, "description": "Código ISIN da série de opção." }, "cficCode": { "type": "string", "nullable": true, "description": "Código CFI." } }, "required": [ "symbol", "underlyingAsset", "underlyingFuture", "optionType", "optionStyle", "segment", "strike", "expirationDate", "firstTradeDate", "lastTradeDate", "contractMultiplier", "allocationRoundLot", "exerciseType", "automaticExercise", "premiumUpfront", "isin", "cficCode" ] }, "FutureOptionWithHistory": { "allOf": [ { "$ref": "#/components/schemas/FutureOptionSpecs" }, { "type": "object", "properties": { "history": { "type": "array", "items": { "$ref": "#/components/schemas/FutureOptionPricePoint" } } }, "required": [ "history" ] } ] }, "FutureOptionHistoricalResponse": { "type": "object", "properties": { "option": { "$ref": "#/components/schemas/FutureOptionWithHistory" }, "requestedAt": { "type": "string", "format": "date-time", "description": "Data e hora da requisição em ISO 8601.", "example": "2025-01-24T17:32:38.000Z" }, "took": { "type": "integer", "minimum": 0, "description": "Tempo de processamento, em milissegundos.", "example": 45 } }, "required": [ "option", "requestedAt", "took" ], "example": { "option": { "symbol": "BGIM26C028000", "underlyingAsset": "BGI", "underlyingFuture": null, "optionType": "call", "optionStyle": "american", "segment": "agribusiness", "strike": 280, "expirationDate": "2027-08-31", "firstTradeDate": "2026-03-09", "lastTradeDate": "2027-08-31", "contractMultiplier": 330, "allocationRoundLot": 1, "exerciseType": null, "automaticExercise": null, "premiumUpfront": true, "isin": "BRBMEFCBMMP7", "cficCode": "OCAFPS", "history": [ { "date": 1780272000, "open": null, "high": null, "low": null, "average": null, "close": null, "referencePrice": 68.57, "oscillationPct": null, "trades": null, "volume": null, "financialVolume": null } ] }, "requestedAt": "2026-06-02T12:00:00.000Z", "took": 33 } }, "FutureOptionPositionHistory": { "allOf": [ { "$ref": "#/components/schemas/FutureOptionSpecs" }, { "type": "object", "properties": { "positions": { "type": "array", "items": { "type": "object", "properties": { "openInterest": { "type": "number", "nullable": true, "description": "Contratos em aberto na série, na última apuração até a data pedida." }, "openInterestChange": { "type": "number", "nullable": true, "description": "Variação de contratos em aberto desde a apuração anterior." }, "openInterestDate": { "type": "string", "nullable": true, "description": "Data da apuração usada, no formato YYYY-MM-DD. Pode ser anterior à data do pregão." }, "reportDate": { "type": "string", "description": "Data da apuração, no formato YYYY-MM-DD." }, "isin": { "type": "string", "nullable": true, "description": "Código ISIN da série de opção, não do contrato futuro." }, "asset": { "type": "string", "nullable": true, "description": "Código raiz do ativo objeto. Ex.: BGI." }, "expirationCode": { "type": "string", "nullable": true, "description": "Código de vencimento da apuração. Ex.: VVNK." }, "reportSegment": { "type": "string", "description": "Segmento da apuração. Ex.: AGRIBUSINESS. É diferente do campo `segment` do contrato." }, "reportedOpenInterest": { "type": "number", "nullable": true, "description": "Contratos em aberto na apuração do pregão. É a origem de `openInterest`." }, "reportedOpenInterestChange": { "type": "number", "nullable": true, "description": "Variação de contratos em aberto na apuração do pregão. É a origem de `openInterestChange`." }, "distributionId": { "type": "string", "nullable": true, "description": "Número de distribuição do ativo objeto. Vem vazio nas opções sobre futuros." }, "coveredQuantity": { "type": "number", "nullable": true, "description": "Contratos em posição coberta." }, "blockedQuantity": { "type": "number", "nullable": true, "description": "Contratos em posição bloqueada." }, "uncoveredQuantity": { "type": "number", "nullable": true, "description": "Contratos em posição descoberta." }, "totalPositionQuantity": { "type": "number", "nullable": true, "description": "Total de contratos em posição. Vem vazio na maior parte dos segmentos de futuros." }, "borrowerQuantity": { "type": "number", "nullable": true, "description": "Quantidade tomadora em empréstimo de ativos." }, "lenderQuantity": { "type": "number", "nullable": true, "description": "Quantidade doadora em empréstimo de ativos." }, "currentQuantity": { "type": "number", "nullable": true, "description": "Quantidade corrente. Preenchida só em alguns segmentos." }, "forwardPrice": { "type": "number", "nullable": true, "description": "Preço a termo. Preenchido só em alguns segmentos." } }, "required": [ "openInterest", "openInterestChange", "openInterestDate", "reportDate", "isin", "asset", "expirationCode", "reportSegment", "reportedOpenInterest", "reportedOpenInterestChange", "distributionId", "coveredQuantity", "blockedQuantity", "uncoveredQuantity", "totalPositionQuantity", "borrowerQuantity", "lenderQuantity", "currentQuantity", "forwardPrice" ] } } }, "required": [ "positions" ] } ] }, "FutureOptionPositionsHistoryResponse": { "type": "object", "properties": { "option": { "$ref": "#/components/schemas/FutureOptionPositionHistory" }, "requestedAt": { "type": "string", "format": "date-time", "description": "Data e hora da requisição em ISO 8601.", "example": "2025-01-24T17:32:38.000Z" }, "took": { "type": "integer", "minimum": 0, "description": "Tempo de processamento, em milissegundos.", "example": 45 } }, "required": [ "option", "requestedAt", "took" ], "example": { "option": { "symbol": "BGIM26C028000", "underlyingAsset": "BGI", "underlyingFuture": null, "optionType": "call", "optionStyle": "american", "segment": "agribusiness", "strike": 280, "expirationDate": "2027-08-31", "firstTradeDate": "2026-03-09", "lastTradeDate": "2027-08-31", "contractMultiplier": 330, "allocationRoundLot": 1, "exerciseType": null, "automaticExercise": null, "premiumUpfront": true, "isin": "BRBMEFCBMMP7", "cficCode": "OCAFPS", "positions": [ { "openInterest": 2441, "openInterestChange": -22, "openInterestDate": "2026-06-01", "reportDate": "2026-06-01", "isin": "BRBMEFCBMMP7", "asset": "BGI", "expirationCode": "VVNK", "reportSegment": "AGRIBUSINESS", "reportedOpenInterest": 2441, "reportedOpenInterestChange": -22, "distributionId": null, "coveredQuantity": null, "blockedQuantity": null, "uncoveredQuantity": null, "totalPositionQuantity": null, "borrowerQuantity": null, "lenderQuantity": null, "currentQuantity": null, "forwardPrice": null } ] }, "requestedAt": "2026-06-02T12:00:00.000Z", "took": 13 } }, "FutureOptionAnalyticsQuote": { "type": "object", "properties": { "symbol": { "type": "string", "description": "Código da série de opção. Ex.: `BGIH27C028550`." }, "underlyingAsset": { "type": "string", "description": "Código do ativo do futuro. Ex.: `BGI`." }, "underlyingFuture": { "type": "string", "nullable": true, "description": "Contrato futuro de base, quando informado." }, "optionType": { "type": "string", "enum": [ "call", "put" ], "description": "`call` (opção de compra) ou `put` (opção de venda)." }, "optionStyle": { "type": "string", "nullable": true, "enum": [ "american", "european" ], "description": "`american` permite exercício até o vencimento. `european` permite exercício só no vencimento." }, "segment": { "type": "string", "enum": [ "financial", "agribusiness" ], "description": "Segmento do contrato: `financial` ou `agribusiness`." }, "strike": { "type": "number", "description": "Preço de exercício da opção, na unidade de cotação do futuro." }, "expirationDate": { "type": "string", "description": "Data de vencimento, no formato YYYY-MM-DD." }, "firstTradeDate": { "type": "string", "nullable": true, "description": "Data do primeiro pregão da série, no formato YYYY-MM-DD." }, "lastTradeDate": { "type": "string", "nullable": true, "description": "Data do último pregão da série, no formato YYYY-MM-DD." }, "contractMultiplier": { "type": "number", "nullable": true, "description": "Multiplicador do contrato, herdado do futuro. Ex.: 330 arrobas no boi gordo." }, "allocationRoundLot": { "type": "integer", "nullable": true, "description": "Lote padrão de negociação." }, "exerciseType": { "type": "string", "nullable": true, "description": "Tipo de exercício." }, "automaticExercise": { "type": "boolean", "nullable": true, "description": "`true` quando a opção é exercida automaticamente no vencimento." }, "premiumUpfront": { "type": "boolean", "nullable": true, "description": "`true` se o prêmio é pago à vista, `false` se é diferido." }, "isin": { "type": "string", "nullable": true, "description": "Código ISIN da série de opção." }, "cficCode": { "type": "string", "nullable": true, "description": "Código CFI." }, "date": { "type": "string", "description": "Data do pregão, no formato YYYY-MM-DD." }, "model": { "type": "string", "enum": [ "black-76", "cox-ross-rubinstein-futures", "unsupported" ], "description": "Modelo de cálculo. Séries americanas usam árvore binomial sobre o futuro (`cox-ross-rubinstein-futures`). Séries europeias usam `black-76`. `unsupported` quando o estilo da opção é desconhecido." }, "priceSource": { "type": "string", "enum": [ "close", "referencePrice", "none" ], "description": "Preço usado para calcular a IV. `close` é o fechamento negociado. Sem negócio, o cálculo usa `referencePrice`, com `confidence` igual a `low`." }, "underlyingPrice": { "type": "number", "nullable": true, "description": "Preço do futuro subjacente usado no cálculo." }, "optionPrice": { "type": "number", "nullable": true, "description": "Preço da opção usado para calcular a volatilidade implícita." }, "riskFreeRate": { "type": "number", "nullable": true, "description": "Taxa livre de risco anual, em decimal. Ex.: 0.105 para 10,5%." }, "dividendYield": { "type": "number", "nullable": true, "description": "Sempre `0` em opções sobre futuros." }, "timeToExpirationYears": { "type": "number", "nullable": true, "description": "Dias corridos até o vencimento divididos por 365, inclusive em anos bissextos." }, "impliedVolatility": { "type": "number", "nullable": true, "description": "Volatilidade implícita anual, em decimal. O cálculo usa tempo em dias corridos dividido por 365." }, "delta": { "type": "number", "nullable": true, "description": "Variação do prêmio para 1 unidade de variação no ativo subjacente." }, "gamma": { "type": "number", "nullable": true, "description": "Variação do delta para 1 unidade de variação no ativo subjacente." }, "theta": { "type": "number", "nullable": true, "description": "Variação do prêmio com a passagem do tempo, por ano." }, "vega": { "type": "number", "nullable": true, "description": "Variação do prêmio para 1,00 de variação na volatilidade. Divida por 100 para 1 ponto percentual." }, "rho": { "type": "number", "nullable": true, "description": "Variação do prêmio para 1,00 de variação na taxa de juro. Divida por 100 para 1 ponto percentual." }, "confidence": { "type": "string", "enum": [ "high", "medium", "low", "none" ], "description": "Confiança do cálculo. `none` indica IV e gregas nulas, com o motivo em `nullReason`. `low` indica cálculo sobre `referencePrice`." }, "nullReason": { "type": "string", "nullable": true, "description": "Motivo dos campos calculados nulos. Ex.: `no_trades`, `missing_underlying_price`, `iv_not_converged`." }, "openInterest": { "type": "number", "nullable": true, "description": "Contratos em aberto na série, na última apuração até a data pedida." }, "openInterestChange": { "type": "number", "nullable": true, "description": "Variação de contratos em aberto desde a apuração anterior." }, "openInterestDate": { "type": "string", "nullable": true, "description": "Data da apuração usada, no formato YYYY-MM-DD. Pode ser anterior à data do pregão." } }, "required": [ "symbol", "underlyingAsset", "underlyingFuture", "optionType", "optionStyle", "segment", "strike", "expirationDate", "firstTradeDate", "lastTradeDate", "contractMultiplier", "allocationRoundLot", "exerciseType", "automaticExercise", "premiumUpfront", "isin", "cficCode", "date", "model", "priceSource", "underlyingPrice", "optionPrice", "riskFreeRate", "dividendYield", "timeToExpirationYears", "impliedVolatility", "delta", "gamma", "theta", "vega", "rho", "confidence", "nullReason", "openInterest", "openInterestChange", "openInterestDate" ] }, "FutureOptionAnalyticsResponse": { "type": "object", "properties": { "underlying": { "type": "string" }, "expirationDate": { "type": "string" }, "date": { "type": "string" }, "analytics": { "type": "array", "items": { "$ref": "#/components/schemas/FutureOptionAnalyticsQuote" } }, "requestedAt": { "type": "string", "format": "date-time", "description": "Data e hora da requisição em ISO 8601.", "example": "2025-01-24T17:32:38.000Z" }, "took": { "type": "integer", "minimum": 0, "description": "Tempo de processamento, em milissegundos.", "example": 45 } }, "required": [ "underlying", "expirationDate", "date", "analytics", "requestedAt", "took" ], "example": { "underlying": "BGI", "expirationDate": "2027-08-31", "date": "2026-05-29", "analytics": [ { "symbol": "BGIM26C028000", "underlyingAsset": "BGI", "underlyingFuture": null, "optionType": "call", "optionStyle": "american", "segment": "agribusiness", "strike": 280, "expirationDate": "2027-08-31", "firstTradeDate": "2026-03-09", "lastTradeDate": "2027-08-31", "contractMultiplier": 330, "allocationRoundLot": 1, "exerciseType": null, "automaticExercise": null, "premiumUpfront": true, "isin": "BRBMEFCBMMP7", "cficCode": "OCAFPS", "date": "2026-05-29", "model": "cox-ross-rubinstein-futures", "priceSource": "referencePrice", "underlyingPrice": 345.65, "optionPrice": 65.66, "riskFreeRate": 0.145, "dividendYield": 0, "timeToExpirationYears": 0.087671235, "impliedVolatility": 0.33742568, "delta": 0.99461865, "gamma": 0.0014397058, "theta": -1.7623149, "vega": 1.3298614, "rho": -0.4161327, "confidence": "low", "nullReason": null, "openInterest": 2441, "openInterestChange": -22, "openInterestDate": "2026-06-01" } ], "requestedAt": "2026-06-02T12:00:00.000Z", "took": 41 } }, "FutureOptionWithAnalyticsHistory": { "allOf": [ { "$ref": "#/components/schemas/FutureOptionSpecs" }, { "type": "object", "properties": { "analytics": { "type": "array", "items": { "type": "object", "properties": { "date": { "type": "string", "description": "Data do pregão, no formato YYYY-MM-DD." }, "model": { "type": "string", "enum": [ "black-76", "cox-ross-rubinstein-futures", "unsupported" ], "description": "Modelo de cálculo. Séries americanas usam árvore binomial sobre o futuro (`cox-ross-rubinstein-futures`). Séries europeias usam `black-76`. `unsupported` quando o estilo da opção é desconhecido." }, "priceSource": { "type": "string", "enum": [ "close", "referencePrice", "none" ], "description": "Preço usado para calcular a IV. `close` é o fechamento negociado. Sem negócio, o cálculo usa `referencePrice`, com `confidence` igual a `low`." }, "underlyingPrice": { "type": "number", "nullable": true, "description": "Preço do futuro subjacente usado no cálculo." }, "optionPrice": { "type": "number", "nullable": true, "description": "Preço da opção usado para calcular a volatilidade implícita." }, "riskFreeRate": { "type": "number", "nullable": true, "description": "Taxa livre de risco anual, em decimal. Ex.: 0.105 para 10,5%." }, "dividendYield": { "type": "number", "nullable": true, "description": "Sempre `0` em opções sobre futuros." }, "timeToExpirationYears": { "type": "number", "nullable": true, "description": "Dias corridos até o vencimento divididos por 365, inclusive em anos bissextos." }, "impliedVolatility": { "type": "number", "nullable": true, "description": "Volatilidade implícita anual, em decimal. O cálculo usa tempo em dias corridos dividido por 365." }, "delta": { "type": "number", "nullable": true, "description": "Variação do prêmio para 1 unidade de variação no ativo subjacente." }, "gamma": { "type": "number", "nullable": true, "description": "Variação do delta para 1 unidade de variação no ativo subjacente." }, "theta": { "type": "number", "nullable": true, "description": "Variação do prêmio com a passagem do tempo, por ano." }, "vega": { "type": "number", "nullable": true, "description": "Variação do prêmio para 1,00 de variação na volatilidade. Divida por 100 para 1 ponto percentual." }, "rho": { "type": "number", "nullable": true, "description": "Variação do prêmio para 1,00 de variação na taxa de juro. Divida por 100 para 1 ponto percentual." }, "confidence": { "type": "string", "enum": [ "high", "medium", "low", "none" ], "description": "Confiança do cálculo. `none` indica IV e gregas nulas, com o motivo em `nullReason`. `low` indica cálculo sobre `referencePrice`." }, "nullReason": { "type": "string", "nullable": true, "description": "Motivo dos campos calculados nulos. Ex.: `no_trades`, `missing_underlying_price`, `iv_not_converged`." }, "openInterest": { "type": "number", "nullable": true, "description": "Contratos em aberto na série, na última apuração até a data pedida." }, "openInterestChange": { "type": "number", "nullable": true, "description": "Variação de contratos em aberto desde a apuração anterior." }, "openInterestDate": { "type": "string", "nullable": true, "description": "Data da apuração usada, no formato YYYY-MM-DD. Pode ser anterior à data do pregão." } }, "required": [ "date", "model", "priceSource", "underlyingPrice", "optionPrice", "riskFreeRate", "dividendYield", "timeToExpirationYears", "impliedVolatility", "delta", "gamma", "theta", "vega", "rho", "confidence", "nullReason", "openInterest", "openInterestChange", "openInterestDate" ] } } }, "required": [ "analytics" ] } ] }, "FutureOptionAnalyticsHistoryResponse": { "type": "object", "properties": { "option": { "$ref": "#/components/schemas/FutureOptionWithAnalyticsHistory" }, "requestedAt": { "type": "string", "format": "date-time", "description": "Data e hora da requisição em ISO 8601.", "example": "2025-01-24T17:32:38.000Z" }, "took": { "type": "integer", "minimum": 0, "description": "Tempo de processamento, em milissegundos.", "example": 45 } }, "required": [ "option", "requestedAt", "took" ], "example": { "option": { "symbol": "BGIM26C028000", "underlyingAsset": "BGI", "underlyingFuture": null, "optionType": "call", "optionStyle": "american", "segment": "agribusiness", "strike": 280, "expirationDate": "2027-08-31", "firstTradeDate": "2026-03-09", "lastTradeDate": "2027-08-31", "contractMultiplier": 330, "allocationRoundLot": 1, "exerciseType": null, "automaticExercise": null, "premiumUpfront": true, "isin": "BRBMEFCBMMP7", "cficCode": "OCAFPS", "analytics": [ { "date": "2026-05-29", "model": "cox-ross-rubinstein-futures", "priceSource": "referencePrice", "underlyingPrice": 345.65, "optionPrice": 65.66, "riskFreeRate": 0.145, "dividendYield": 0, "timeToExpirationYears": 0.087671235, "impliedVolatility": 0.33742568, "delta": 0.99461865, "gamma": 0.0014397058, "theta": -1.7623149, "vega": 1.3298614, "rho": -0.4161327, "confidence": "low", "nullReason": null, "openInterest": 2441, "openInterestChange": -22, "openInterestDate": "2026-06-01" } ] }, "requestedAt": "2026-06-02T12:00:00.000Z", "took": 35 } }, "FutureSpecs": { "type": "object", "properties": { "symbol": { "type": "string", "description": "Código do contrato. Ex.: `WINM26`, `BGIF27`, `DI1F27`." }, "underlyingAsset": { "type": "string", "description": "Código do ativo, sem mês e ano. Ex.: `WIN`, `BGI`, `DI1`." }, "assetDescription": { "type": "string", "nullable": true, "description": "Nome do ativo em português." }, "segment": { "type": "string", "enum": [ "financial", "agribusiness" ], "description": "`financial` para índices, juros e moedas. `agribusiness` para commodities." }, "quotationType": { "type": "string", "enum": [ "price", "rate" ], "description": "`rate` em contratos de juros, como DI1 e DAP, com preços em % a.a. `price` nos demais." }, "expirationDate": { "type": "string", "description": "Data de vencimento, no formato YYYY-MM-DD." }, "firstTradeDate": { "type": "string", "nullable": true, "description": "Data do primeiro pregão, no formato YYYY-MM-DD." }, "lastTradeDate": { "type": "string", "nullable": true, "description": "Data do último pregão, no formato YYYY-MM-DD." }, "contractMultiplier": { "type": "number", "nullable": true, "description": "Valor de um ponto, em reais. Ex.: `WIN` 0,2, `BGI` 330, `DI1` 1." }, "allocationRoundLot": { "type": "integer", "nullable": true, "description": "Tamanho do lote, em contratos." }, "tradingCurrency": { "type": "string", "nullable": true, "description": "Moeda de negociação. Quase sempre `BRL`." }, "deliveryType": { "type": "string", "nullable": true, "description": "Tipo de entrega: `Financial` ou `Physical`." }, "exerciseType": { "type": "string", "nullable": true, "description": "Forma de cotação: `Price` ou `Rate`." }, "isin": { "type": "string", "nullable": true, "description": "Código ISIN." }, "cficCode": { "type": "string", "nullable": true, "description": "Código CFI." } }, "required": [ "symbol", "underlyingAsset", "assetDescription", "segment", "quotationType", "expirationDate", "firstTradeDate", "lastTradeDate", "contractMultiplier", "allocationRoundLot", "tradingCurrency", "deliveryType", "exerciseType", "isin", "cficCode" ] }, "FutureListResponse": { "type": "object", "properties": { "futures": { "type": "array", "items": { "$ref": "#/components/schemas/FutureSpecs" } }, "pagination": { "type": "object", "properties": { "page": { "type": "integer" }, "limit": { "type": "integer" }, "total": { "type": "integer" }, "totalPages": { "type": "integer" } }, "required": [ "page", "limit", "total", "totalPages" ] }, "requestedAt": { "type": "string", "format": "date-time", "description": "Data e hora da requisição em ISO 8601.", "example": "2025-01-24T17:32:38.000Z" }, "took": { "type": "integer", "minimum": 0, "description": "Tempo de processamento, em milissegundos.", "example": 45 } }, "required": [ "futures", "pagination", "requestedAt", "took" ], "example": { "futures": [ { "symbol": "WINM26", "underlyingAsset": "WIN", "assetDescription": "Minicontrato de Ibovespa", "segment": "financial", "quotationType": "price", "expirationDate": "2026-06-17", "firstTradeDate": "2024-04-29", "lastTradeDate": "2026-06-17", "contractMultiplier": 0.2, "allocationRoundLot": 1, "tradingCurrency": "BRL", "deliveryType": "Financial", "exerciseType": "Price", "isin": "BRBMEFWIN3O3", "cficCode": "FFICSX" }, { "symbol": "DI1F27", "underlyingAsset": "DI1", "assetDescription": "Taxa Média de Depósitos Interfinanceiros de Um Dia", "segment": "financial", "quotationType": "rate", "expirationDate": "2027-01-04", "firstTradeDate": "2015-12-28", "lastTradeDate": "2026-12-30", "contractMultiplier": 1, "allocationRoundLot": 1, "tradingCurrency": "BRL", "deliveryType": "Financial", "exerciseType": "Rate", "isin": "BRBMEFD1I4Z0", "cficCode": "FFNCSX" }, { "symbol": "BGIF27", "underlyingAsset": "BGI", "assetDescription": "Boi Gordo", "segment": "agribusiness", "quotationType": "price", "expirationDate": "2027-01-29", "firstTradeDate": "2026-02-27", "lastTradeDate": "2027-01-29", "contractMultiplier": 330, "allocationRoundLot": 1, "tradingCurrency": "BRL", "deliveryType": "Financial", "exerciseType": "Price", "isin": "BRBMEFBGI7Y7", "cficCode": "FCACSX" } ], "pagination": { "page": 1, "limit": 50, "total": 1728, "totalPages": 35 }, "requestedAt": "2026-05-21T03:00:00.000Z", "took": 42 } }, "FutureQuote": { "type": "object", "properties": { "symbol": { "type": "string", "description": "Código do contrato. Ex.: `WINM26`, `BGIF27`, `DI1F27`." }, "underlyingAsset": { "type": "string", "description": "Código do ativo, sem mês e ano. Ex.: `WIN`, `BGI`, `DI1`." }, "assetDescription": { "type": "string", "nullable": true, "description": "Nome do ativo em português." }, "segment": { "type": "string", "enum": [ "financial", "agribusiness" ], "description": "`financial` para índices, juros e moedas. `agribusiness` para commodities." }, "quotationType": { "type": "string", "enum": [ "price", "rate" ], "description": "`rate` em contratos de juros, como DI1 e DAP, com preços em % a.a. `price` nos demais." }, "expirationDate": { "type": "string", "description": "Data de vencimento, no formato YYYY-MM-DD." }, "firstTradeDate": { "type": "string", "nullable": true, "description": "Data do primeiro pregão, no formato YYYY-MM-DD." }, "lastTradeDate": { "type": "string", "nullable": true, "description": "Data do último pregão, no formato YYYY-MM-DD." }, "contractMultiplier": { "type": "number", "nullable": true, "description": "Valor de um ponto, em reais. Ex.: `WIN` 0,2, `BGI` 330, `DI1` 1." }, "allocationRoundLot": { "type": "integer", "nullable": true, "description": "Tamanho do lote, em contratos." }, "tradingCurrency": { "type": "string", "nullable": true, "description": "Moeda de negociação. Quase sempre `BRL`." }, "deliveryType": { "type": "string", "nullable": true, "description": "Tipo de entrega: `Financial` ou `Physical`." }, "exerciseType": { "type": "string", "nullable": true, "description": "Forma de cotação: `Price` ou `Rate`." }, "isin": { "type": "string", "nullable": true, "description": "Código ISIN." }, "cficCode": { "type": "string", "nullable": true, "description": "Código CFI." }, "date": { "type": "integer", "description": "Data do pregão, em Unix timestamp (segundos)." }, "open": { "type": "number", "nullable": true, "description": "Preço de abertura. Sempre `null`, porque os dados de fim de dia não trazem abertura." }, "high": { "type": "number", "nullable": true, "description": "Máxima do dia. Em % a.a. nos contratos de juros." }, "low": { "type": "number", "nullable": true, "description": "Mínima do dia. Em % a.a. nos contratos de juros." }, "average": { "type": "number", "nullable": true, "description": "Preço médio do dia. Em % a.a. nos contratos de juros." }, "close": { "type": "number", "nullable": true, "description": "Último negócio do dia. Em % a.a. nos contratos de juros." }, "settlement": { "type": "number", "nullable": true, "description": "Preço de ajuste oficial do dia. Nos contratos de juros, vem em reais, como preço unitário." }, "settlementRate": { "type": "number", "nullable": true, "description": "Taxa do ajuste, em % a.a. Só vem em contratos de juros." }, "referencePrice": { "type": "number", "nullable": true, "description": "Preço de referência oficial." }, "oscillationPct": { "type": "number", "nullable": true, "description": "Variação em relação ao pregão anterior, em %." }, "trades": { "type": "number", "nullable": true, "description": "Número de negócios." }, "volume": { "type": "number", "nullable": true, "description": "Contratos negociados." }, "financialVolume": { "type": "number", "nullable": true, "description": "Volume financeiro, em reais." } }, "required": [ "symbol", "underlyingAsset", "assetDescription", "segment", "quotationType", "expirationDate", "firstTradeDate", "lastTradeDate", "contractMultiplier", "allocationRoundLot", "tradingCurrency", "deliveryType", "exerciseType", "isin", "cficCode", "date", "open", "high", "low", "average", "close", "settlement", "settlementRate", "referencePrice", "oscillationPct", "trades", "volume", "financialVolume" ] }, "FutureQuoteResponse": { "type": "object", "properties": { "quotes": { "type": "array", "items": { "$ref": "#/components/schemas/FutureQuote" } }, "requestedAt": { "type": "string", "format": "date-time", "description": "Data e hora da requisição em ISO 8601.", "example": "2025-01-24T17:32:38.000Z" }, "took": { "type": "integer", "minimum": 0, "description": "Tempo de processamento, em milissegundos.", "example": 45 } }, "required": [ "quotes", "requestedAt", "took" ], "example": { "quotes": [ { "symbol": "WINM26", "underlyingAsset": "WIN", "assetDescription": "Minicontrato de Ibovespa", "segment": "financial", "quotationType": "price", "expirationDate": "2026-06-17", "firstTradeDate": "2024-04-29", "lastTradeDate": "2026-06-17", "contractMultiplier": 0.2, "allocationRoundLot": 1, "tradingCurrency": "BRL", "deliveryType": "Financial", "exerciseType": "Price", "isin": "BRBMEFWIN3O3", "cficCode": "FFICSX", "date": 1779235200, "open": null, "high": 179945, "low": 176180, "average": 178583, "close": 178650, "settlement": 179115, "settlementRate": null, "referencePrice": null, "oscillationPct": 1.59, "trades": 4906603, "volume": 17533842, "financialVolume": 626250384171 }, { "symbol": "DI1F27", "underlyingAsset": "DI1", "assetDescription": "Taxa Média de Depósitos Interfinanceiros de Um Dia", "segment": "financial", "quotationType": "rate", "expirationDate": "2027-01-04", "firstTradeDate": "2015-12-28", "lastTradeDate": "2026-12-30", "contractMultiplier": 1, "allocationRoundLot": 1, "tradingCurrency": "BRL", "deliveryType": "Financial", "exerciseType": "Rate", "isin": "BRBMEFD1I4Z0", "cficCode": "FFNCSX", "date": 1779235200, "open": null, "high": 14.16, "low": 14.03, "average": 14.09, "close": 14.075, "settlement": 92179.44, "settlementRate": 14.059, "referencePrice": null, "oscillationPct": -0.51, "trades": 28694, "volume": 850519, "financialVolume": 78386932604.68 } ], "requestedAt": "2026-05-21T03:00:00.000Z", "took": 28 } }, "FutureSpecsResponse": { "type": "object", "properties": { "specs": { "type": "array", "items": { "$ref": "#/components/schemas/FutureSpecs" } }, "requestedAt": { "type": "string", "format": "date-time", "description": "Data e hora da requisição em ISO 8601.", "example": "2025-01-24T17:32:38.000Z" }, "took": { "type": "integer", "minimum": 0, "description": "Tempo de processamento, em milissegundos.", "example": 45 } }, "required": [ "specs", "requestedAt", "took" ], "example": { "specs": [ { "symbol": "WINM26", "underlyingAsset": "WIN", "assetDescription": "Minicontrato de Ibovespa", "segment": "financial", "quotationType": "price", "expirationDate": "2026-06-17", "firstTradeDate": "2024-04-29", "lastTradeDate": "2026-06-17", "contractMultiplier": 0.2, "allocationRoundLot": 1, "tradingCurrency": "BRL", "deliveryType": "Financial", "exerciseType": "Price", "isin": "BRBMEFWIN3O3", "cficCode": "FFICSX" }, { "symbol": "BGIF27", "underlyingAsset": "BGI", "assetDescription": "Boi Gordo", "segment": "agribusiness", "quotationType": "price", "expirationDate": "2027-01-29", "firstTradeDate": "2026-02-27", "lastTradeDate": "2027-01-29", "contractMultiplier": 330, "allocationRoundLot": 1, "tradingCurrency": "BRL", "deliveryType": "Financial", "exerciseType": "Price", "isin": "BRBMEFBGI7Y7", "cficCode": "FCACSX" } ], "requestedAt": "2026-05-21T03:00:00.000Z", "took": 12 } }, "FuturePricePoint": { "type": "object", "properties": { "date": { "type": "integer", "description": "Data do pregão, em Unix timestamp (segundos)." }, "open": { "type": "number", "nullable": true, "description": "Preço de abertura. Sempre `null`, porque os dados de fim de dia não trazem abertura." }, "high": { "type": "number", "nullable": true, "description": "Máxima do dia. Em % a.a. nos contratos de juros." }, "low": { "type": "number", "nullable": true, "description": "Mínima do dia. Em % a.a. nos contratos de juros." }, "average": { "type": "number", "nullable": true, "description": "Preço médio do dia. Em % a.a. nos contratos de juros." }, "close": { "type": "number", "nullable": true, "description": "Último negócio do dia. Em % a.a. nos contratos de juros." }, "settlement": { "type": "number", "nullable": true, "description": "Preço de ajuste oficial do dia. Nos contratos de juros, vem em reais, como preço unitário." }, "settlementRate": { "type": "number", "nullable": true, "description": "Taxa do ajuste, em % a.a. Só vem em contratos de juros." }, "referencePrice": { "type": "number", "nullable": true, "description": "Preço de referência oficial." }, "oscillationPct": { "type": "number", "nullable": true, "description": "Variação em relação ao pregão anterior, em %." }, "trades": { "type": "number", "nullable": true, "description": "Número de negócios." }, "volume": { "type": "number", "nullable": true, "description": "Contratos negociados." }, "financialVolume": { "type": "number", "nullable": true, "description": "Volume financeiro, em reais." } }, "required": [ "date", "open", "high", "low", "average", "close", "settlement", "settlementRate", "referencePrice", "oscillationPct", "trades", "volume", "financialVolume" ] }, "FutureWithHistory": { "allOf": [ { "$ref": "#/components/schemas/FutureSpecs" }, { "type": "object", "properties": { "history": { "type": "array", "items": { "$ref": "#/components/schemas/FuturePricePoint" }, "description": "Um item por pregão no período pedido." } }, "required": [ "history" ] } ] }, "FutureHistoricalResponse": { "type": "object", "properties": { "future": { "$ref": "#/components/schemas/FutureWithHistory" }, "requestedAt": { "type": "string", "format": "date-time", "description": "Data e hora da requisição em ISO 8601.", "example": "2025-01-24T17:32:38.000Z" }, "took": { "type": "integer", "minimum": 0, "description": "Tempo de processamento, em milissegundos.", "example": 45 } }, "required": [ "future", "requestedAt", "took" ], "example": { "future": { "symbol": "WINM26", "underlyingAsset": "WIN", "assetDescription": "Minicontrato de Ibovespa", "segment": "financial", "quotationType": "price", "expirationDate": "2026-06-17", "firstTradeDate": "2024-04-29", "lastTradeDate": "2026-06-17", "contractMultiplier": 0.2, "allocationRoundLot": 1, "tradingCurrency": "BRL", "deliveryType": "Financial", "exerciseType": "Price", "isin": "BRBMEFWIN3O3", "cficCode": "FFICSX", "history": [ { "date": 1779235200, "open": null, "high": 179945, "low": 176180, "average": 178583, "close": 178650, "settlement": 179115, "settlementRate": null, "referencePrice": null, "oscillationPct": 1.59, "trades": 4906603, "volume": 17533842, "financialVolume": 626250384171 }, { "date": 1779148800, "open": null, "high": 178700, "low": 175200, "average": 176509, "close": 176465, "settlement": 175844, "settlementRate": null, "referencePrice": null, "oscillationPct": -1.46, "trades": 5563064, "volume": 20252108, "financialVolume": 714936160000 } ] }, "requestedAt": "2026-05-21T03:00:00.000Z", "took": 65 } }, "FutureTermStructureResponse": { "type": "object", "properties": { "asset": { "type": "string" }, "contracts": { "type": "array", "items": { "$ref": "#/components/schemas/FutureQuote" } }, "requestedAt": { "type": "string", "format": "date-time", "description": "Data e hora da requisição em ISO 8601.", "example": "2025-01-24T17:32:38.000Z" }, "took": { "type": "integer", "minimum": 0, "description": "Tempo de processamento, em milissegundos.", "example": 45 } }, "required": [ "asset", "contracts", "requestedAt", "took" ], "example": { "asset": "DI1", "contracts": [ { "symbol": "DI1M26", "underlyingAsset": "DI1", "assetDescription": "Taxa Média de Depósitos Interfinanceiros de Um Dia", "segment": "financial", "quotationType": "rate", "expirationDate": "2026-06-01", "firstTradeDate": "2015-12-28", "lastTradeDate": "2026-05-29", "contractMultiplier": 1, "allocationRoundLot": 1, "tradingCurrency": "BRL", "deliveryType": "Financial", "exerciseType": "Rate", "isin": "BRBMEFD1I4M0", "cficCode": "FFNCSX", "date": 1779235200, "open": null, "high": 14.41, "low": 14.39, "average": 14.4, "close": 14.398, "settlement": 98884.51, "settlementRate": 14.4, "referencePrice": null, "oscillationPct": -0.02, "trades": 12345, "volume": 234567, "financialVolume": 23194840000 }, { "symbol": "DI1F27", "underlyingAsset": "DI1", "assetDescription": "Taxa Média de Depósitos Interfinanceiros de Um Dia", "segment": "financial", "quotationType": "rate", "expirationDate": "2027-01-04", "firstTradeDate": "2015-12-28", "lastTradeDate": "2026-12-30", "contractMultiplier": 1, "allocationRoundLot": 1, "tradingCurrency": "BRL", "deliveryType": "Financial", "exerciseType": "Rate", "isin": "BRBMEFD1I4Z0", "cficCode": "FFNCSX", "date": 1779235200, "open": null, "high": 14.16, "low": 14.03, "average": 14.09, "close": 14.075, "settlement": 92179.44, "settlementRate": 14.059, "referencePrice": null, "oscillationPct": -0.51, "trades": 28694, "volume": 850519, "financialVolume": 78386932604.68 } ], "requestedAt": "2026-05-21T03:00:00.000Z", "took": 137 } }, "InflationEntrySimple": { "type": "object", "properties": { "date": { "type": "string" }, "value": { "type": "string", "description": "IPCA acumulado em 12 meses, em %.", "example": "4.26" }, "epochDate": { "type": "number" } }, "required": [ "date", "value", "epochDate" ] }, "InflationResponseSimple": { "type": "object", "properties": { "inflation": { "type": "array", "items": { "$ref": "#/components/schemas/InflationEntrySimple" } }, "requestedAt": { "type": "string", "format": "date-time", "description": "Data e hora da requisição em ISO 8601.", "example": "2025-01-24T17:32:38.000Z" }, "took": { "type": "integer", "minimum": 0, "description": "Tempo de processamento, em milissegundos.", "example": 45 } }, "required": [ "inflation", "requestedAt", "took" ], "example": { "inflation": [ { "date": "01/12/2025", "value": "4.26", "epochDate": 1764558000000 }, { "date": "01/11/2025", "value": "4.46", "epochDate": 1761966000000 }, { "date": "01/10/2025", "value": "4.68", "epochDate": 1759287600000 } ], "requestedAt": "2026-02-08T16:26:26.123Z", "took": 138 } }, "InflationAvailableResponse": { "type": "object", "properties": { "countries": { "type": "array", "items": { "type": "string" } }, "message": { "type": "string" }, "requestedAt": { "type": "string", "format": "date-time", "description": "Data e hora da requisição em ISO 8601.", "example": "2025-01-24T17:32:38.000Z" } }, "required": [ "countries", "message", "requestedAt" ], "example": { "countries": [ "brazil" ], "message": "Available inflation data countries", "requestedAt": "2026-02-08T16:26:27.274Z" } }, "MacroSeriesPublic": { "type": "object", "properties": { "slug": { "type": "string", "description": "Código da série. Use este valor em `symbols`." }, "name": { "type": "string" }, "description": { "type": "string" }, "unit": { "type": "string" }, "frequency": { "type": "string" }, "category": { "type": "string" }, "startDate": { "type": "string" } }, "required": [ "slug", "name", "description", "unit", "frequency", "category", "startDate" ], "example": { "slug": "selic", "name": "Taxa Selic", "description": "Taxa básica de juros da economia brasileira, definida pelo COPOM (Comitê de Política Monetária) do Banco Central. É a referência para todas as demais taxas de juros do país.", "unit": "percentPerYear", "frequency": "daily", "category": "interestRate", "startDate": "1999-03-05" } }, "MacroAvailableResponse": { "type": "object", "properties": { "results": { "type": "array", "items": { "$ref": "#/components/schemas/MacroSeriesPublic" }, "description": "Séries encontradas. Com `q`, a ordem é por relevância: código, nome alternativo, nome e descrição." }, "categories": { "type": "array", "items": { "type": "string" }, "description": "Todas as categorias. Os filtros não mudam esta lista." }, "count": { "type": "integer", "description": "Número de séries em `results`, depois dos filtros." }, "requestedAt": { "type": "string", "format": "date-time", "description": "Data e hora da requisição em ISO 8601.", "example": "2025-01-24T17:32:38.000Z" }, "took": { "type": "integer", "minimum": 0, "description": "Tempo de processamento, em milissegundos.", "example": 45 } }, "required": [ "results", "categories", "count", "requestedAt", "took" ], "example": { "results": [ { "slug": "selic", "name": "Taxa Selic", "description": "Taxa básica de juros da economia brasileira, definida pelo COPOM (Comitê de Política Monetária) do Banco Central. É a referência para todas as demais taxas de juros do país.", "unit": "percentPerYear", "frequency": "daily", "category": "interestRate", "startDate": "1999-03-05" }, { "slug": "ipca12m", "name": "IPCA acumulado 12 meses", "description": "Variação acumulada em 12 meses do Índice Nacional de Preços ao Consumidor Amplo. Indicador oficial de inflação do Brasil.", "unit": "percent", "frequency": "monthly", "category": "inflation", "startDate": "1981-01-01" }, { "slug": "cdi", "name": "CDI", "description": "Certificado de Depósito Interbancário - taxa de juros das operações entre bancos. Principal benchmark de renda fixa no Brasil.", "unit": "percentPerDay", "frequency": "daily", "category": "interestRate", "startDate": "1986-03-06" } ], "categories": [ "interestRate", "inflation", "monetary", "activity", "labor", "external" ], "count": 15, "requestedAt": "2026-04-30T12:00:00.000Z", "took": 4 } }, "MacroSeriesObservation": { "type": "object", "properties": { "date": { "type": "string", "example": "2026-04-30" }, "value": { "type": "number", "example": 14.75 } }, "required": [ "date", "value" ] }, "MacroSeriesResult": { "type": "object", "properties": { "series": { "$ref": "#/components/schemas/MacroSeriesPublic" }, "observations": { "type": "array", "items": { "$ref": "#/components/schemas/MacroSeriesObservation" } } }, "required": [ "series", "observations" ], "example": { "series": { "slug": "selic", "name": "Taxa Selic", "description": "Taxa básica de juros da economia brasileira, definida pelo COPOM (Comitê de Política Monetária) do Banco Central. É a referência para todas as demais taxas de juros do país.", "unit": "percentPerYear", "frequency": "daily", "category": "interestRate", "startDate": "1999-03-05" }, "observations": [ { "date": "2026-04-30", "value": 14.5 }, { "date": "2026-04-29", "value": 14.75 }, { "date": "2026-04-28", "value": 14.75 } ] } }, "MacroSeriesAliasWarning": { "type": "object", "properties": { "provided": { "type": "string", "description": "Nome alternativo enviado em `symbols`." }, "canonicalSlug": { "type": "string", "description": "Código oficial da série. Use este valor em integrações." }, "message": { "type": "string" } }, "required": [ "provided", "canonicalSlug", "message" ] }, "MacroSeriesError": { "type": "object", "properties": { "slug": { "type": "string", "description": "Código enviado em `symbols`." }, "code": { "type": "string" }, "message": { "type": "string" } }, "required": [ "slug", "code", "message" ] }, "MacroSeriesDataResponse": { "type": "object", "properties": { "results": { "type": "array", "items": { "$ref": "#/components/schemas/MacroSeriesResult" } }, "warnings": { "type": "array", "items": { "$ref": "#/components/schemas/MacroSeriesAliasWarning" } }, "errors": { "type": "array", "items": { "$ref": "#/components/schemas/MacroSeriesError" } }, "requestedAt": { "type": "string", "format": "date-time", "description": "Data e hora da requisição em ISO 8601.", "example": "2025-01-24T17:32:38.000Z" }, "took": { "type": "integer", "minimum": 0, "description": "Tempo de processamento, em milissegundos.", "example": 45 } }, "required": [ "results", "requestedAt", "took" ], "example": { "results": [ { "series": { "slug": "selic", "name": "Taxa Selic", "description": "Taxa básica de juros da economia brasileira, definida pelo COPOM (Comitê de Política Monetária) do Banco Central. É a referência para todas as demais taxas de juros do país.", "unit": "percentPerYear", "frequency": "daily", "category": "interestRate", "startDate": "1999-03-05" }, "observations": [ { "date": "2026-04-30", "value": 14.5 }, { "date": "2026-04-29", "value": 14.75 }, { "date": "2026-04-28", "value": 14.75 }, { "date": "2026-04-25", "value": 14.75 } ] }, { "series": { "slug": "ipca12m", "name": "IPCA acumulado 12 meses", "description": "Variação acumulada em 12 meses do Índice Nacional de Preços ao Consumidor Amplo. Indicador oficial de inflação do Brasil.", "unit": "percent", "frequency": "monthly", "category": "inflation", "startDate": "1981-01-01" }, "observations": [ { "date": "2026-03-01", "value": 4.14 }, { "date": "2026-02-01", "value": 3.81 }, { "date": "2026-01-01", "value": 4.44 } ] } ], "requestedAt": "2026-04-30T12:00:00.000Z", "took": 23 } }, "MacroSeriesLatest": { "type": "object", "properties": { "series": { "$ref": "#/components/schemas/MacroSeriesPublic" }, "latest": { "allOf": [ { "$ref": "#/components/schemas/MacroSeriesObservation" }, { "nullable": true } ] } }, "required": [ "series", "latest" ], "example": { "series": { "slug": "selic", "name": "Taxa Selic", "description": "Taxa básica de juros da economia brasileira, definida pelo COPOM (Comitê de Política Monetária) do Banco Central. É a referência para todas as demais taxas de juros do país.", "unit": "percentPerYear", "frequency": "daily", "category": "interestRate", "startDate": "1999-03-05" }, "latest": { "date": "2026-04-30", "value": 14.5 } } }, "MacroSeriesLatestResponse": { "type": "object", "properties": { "results": { "type": "array", "items": { "$ref": "#/components/schemas/MacroSeriesLatest" } }, "warnings": { "type": "array", "items": { "$ref": "#/components/schemas/MacroSeriesAliasWarning" } }, "errors": { "type": "array", "items": { "$ref": "#/components/schemas/MacroSeriesError" } }, "requestedAt": { "type": "string", "format": "date-time", "description": "Data e hora da requisição em ISO 8601.", "example": "2025-01-24T17:32:38.000Z" }, "took": { "type": "integer", "minimum": 0, "description": "Tempo de processamento, em milissegundos.", "example": 45 } }, "required": [ "results", "requestedAt", "took" ], "example": { "results": [ { "series": { "slug": "selic", "name": "Taxa Selic", "description": "Taxa básica de juros da economia brasileira, definida pelo COPOM (Comitê de Política Monetária) do Banco Central. É a referência para todas as demais taxas de juros do país.", "unit": "percentPerYear", "frequency": "daily", "category": "interestRate", "startDate": "1999-03-05" }, "latest": { "date": "2026-04-30", "value": 14.5 } }, { "series": { "slug": "ipca12m", "name": "IPCA acumulado 12 meses", "description": "Variação acumulada em 12 meses do Índice Nacional de Preços ao Consumidor Amplo. Indicador oficial de inflação do Brasil.", "unit": "percent", "frequency": "monthly", "category": "inflation", "startDate": "1981-01-01" }, "latest": { "date": "2026-03-01", "value": 4.14 } }, { "series": { "slug": "cdi", "name": "CDI", "description": "Certificado de Depósito Interbancário - taxa de juros das operações entre bancos. Principal benchmark de renda fixa no Brasil.", "unit": "percentPerDay", "frequency": "daily", "category": "interestRate", "startDate": "1986-03-06" }, "latest": { "date": "2026-04-30", "value": 0.054267 } } ], "requestedAt": "2026-04-30T12:00:00.000Z", "took": 18 } }, "OptionExpirationsResponse": { "type": "object", "properties": { "underlying": { "type": "string", "description": "Ativo subjacente consultado, em maiúsculas." }, "tradedOnly": { "type": "boolean", "enum": [ true ], "description": "Sempre `true`: a lista vem das séries negociadas." }, "expirations": { "type": "array", "items": { "type": "string" }, "description": "Datas de vencimento em ordem crescente, no formato YYYY-MM-DD." }, "requestedAt": { "type": "string", "format": "date-time", "description": "Data e hora da requisição em ISO 8601.", "example": "2025-01-24T17:32:38.000Z" }, "took": { "type": "integer", "minimum": 0, "description": "Tempo de processamento, em milissegundos.", "example": 45 } }, "required": [ "underlying", "tradedOnly", "expirations", "requestedAt", "took" ], "example": { "underlying": "PETR4", "tradedOnly": true, "expirations": [ "2026-12-04", "2026-12-11", "2026-12-18" ], "requestedAt": "2026-06-02T12:00:00.000Z", "took": 4 } }, "OptionStrikesResponse": { "type": "object", "properties": { "underlying": { "type": "string", "description": "Ativo subjacente consultado, em maiúsculas." }, "expirationDate": { "type": "string", "description": "Vencimento consultado, no formato YYYY-MM-DD." }, "side": { "type": "string", "nullable": true, "enum": [ "call", "put" ], "description": "Lado filtrado: `call`, `put` ou `null` sem filtro." }, "tradedOnly": { "type": "boolean", "enum": [ true ], "description": "Sempre `true`: os strikes vêm das séries negociadas." }, "strikes": { "type": "array", "items": { "type": "number" }, "description": "Preços de exercício em ordem crescente." }, "requestedAt": { "type": "string", "format": "date-time", "description": "Data e hora da requisição em ISO 8601.", "example": "2025-01-24T17:32:38.000Z" }, "took": { "type": "integer", "minimum": 0, "description": "Tempo de processamento, em milissegundos.", "example": 45 } }, "required": [ "underlying", "expirationDate", "side", "tradedOnly", "strikes", "requestedAt", "took" ], "example": { "underlying": "PETR4", "expirationDate": "2026-12-18", "side": "call", "tradedOnly": true, "strikes": [ 1.19, 7.29, 9.29, 10.69, 13.44 ], "requestedAt": "2026-06-02T12:00:00.000Z", "took": 4 } }, "OptionSeriesSnapshot": { "type": "object", "properties": { "symbol": { "type": "string", "description": "Código da série de opção. Ex.: PETRF783." }, "underlyingSymbol": { "type": "string", "nullable": true, "description": "Ativo subjacente da opção. Ex.: PETR4." }, "side": { "type": "string", "enum": [ "call", "put" ], "description": "`call` (opção de compra) ou `put` (opção de venda)." }, "market": { "type": "string", "enum": [ "equity", "index", "currency" ], "description": "Mercado da opção: `equity` para ação ou ETF, `index` para índice, `currency` para DOL e WDO." }, "optionStyle": { "type": "string", "nullable": true, "enum": [ "american", "european" ], "description": "`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": { "type": "number", "nullable": true, "description": "Preço de exercício da opção." }, "allocationRoundLot": { "type": "integer", "nullable": true, "description": "Lote padrão de negociação. Em geral, 100 nas opções sobre ações." }, "expirationDate": { "type": "string", "description": "Data de vencimento, no formato YYYY-MM-DD." }, "firstTradeDate": { "type": "string", "description": "Data do primeiro pregão da série, no formato YYYY-MM-DD." }, "lastTradeDate": { "type": "string", "description": "Data do último pregão da série, no formato YYYY-MM-DD." }, "date": { "type": "integer", "description": "Data do pregão, em timestamp Unix (segundos)." }, "open": { "type": "number", "nullable": true, "description": "Preço de abertura." }, "high": { "type": "number", "nullable": true, "description": "Preço máximo." }, "low": { "type": "number", "nullable": true, "description": "Preço mínimo." }, "average": { "type": "number", "nullable": true, "description": "Preço médio." }, "close": { "type": "number", "nullable": true, "description": "Preço de fechamento." }, "referencePrice": { "type": "number", "nullable": true, "description": "Preço de referência do pregão." }, "bid": { "type": "number", "nullable": true, "description": "Melhor oferta de compra no fechamento." }, "ask": { "type": "number", "nullable": true, "description": "Melhor oferta de venda no fechamento." }, "trades": { "type": "number", "nullable": true, "description": "Número de negócios." }, "volume": { "type": "number", "nullable": true, "description": "Número de contratos negociados." }, "financialVolume": { "type": "number", "nullable": true, "description": "Volume financeiro, em reais." }, "openInterest": { "type": "number", "nullable": true, "description": "Contratos em aberto na série, na última apuração até a data pedida." }, "openInterestChange": { "type": "number", "nullable": true, "description": "Variação de contratos em aberto desde a apuração anterior." }, "openInterestDate": { "type": "string", "nullable": true, "description": "Data da apuração usada, no formato YYYY-MM-DD. Pode ser anterior à data do pregão." } }, "required": [ "symbol", "underlyingSymbol", "side", "market", "optionStyle", "strike", "allocationRoundLot", "expirationDate", "firstTradeDate", "lastTradeDate", "date", "open", "high", "low", "average", "close", "referencePrice", "bid", "ask", "trades", "volume", "financialVolume", "openInterest", "openInterestChange", "openInterestDate" ] }, "OptionSeriesResponse": { "type": "object", "properties": { "underlying": { "type": "string", "description": "Ativo subjacente consultado, em maiúsculas." }, "expirationDate": { "type": "string", "description": "Vencimento consultado, no formato YYYY-MM-DD." }, "date": { "type": "string", "description": "Último pregão com dados até a data pedida, no formato YYYY-MM-DD." }, "tradedOnly": { "type": "boolean", "enum": [ true ], "description": "Sempre `true`: a lista traz só séries com cotação nos 10 dias até `date`." }, "series": { "type": "array", "items": { "$ref": "#/components/schemas/OptionSeriesSnapshot" }, "description": "Séries do vencimento. Cada uma traz a cotação do seu último pregão até `date`." }, "requestedAt": { "type": "string", "format": "date-time", "description": "Data e hora da requisição em ISO 8601.", "example": "2025-01-24T17:32:38.000Z" }, "took": { "type": "integer", "minimum": 0, "description": "Tempo de processamento, em milissegundos.", "example": 45 } }, "required": [ "underlying", "expirationDate", "date", "tradedOnly", "series", "requestedAt", "took" ], "example": { "underlying": "PETR4", "expirationDate": "2026-12-18", "date": "2026-06-01", "tradedOnly": true, "series": [ { "symbol": "PETRF783", "underlyingSymbol": "PETR4", "side": "call", "market": "equity", "optionStyle": "european", "strike": 7.29, "allocationRoundLot": 100, "expirationDate": "2026-12-18", "firstTradeDate": "2026-04-24", "lastTradeDate": "2026-06-01", "openInterest": 12500, "openInterestChange": 350, "openInterestDate": "2026-06-01", "date": 1780282800, "open": 35.15, "high": 35.15, "low": 35.15, "average": 35.15, "close": 35.15, "referencePrice": null, "bid": 0, "ask": 0, "trades": 1, "volume": 500, "financialVolume": 17575 } ], "requestedAt": "2026-06-02T12:00:00.000Z", "took": 7 } }, "OptionPositionSnapshot": { "type": "object", "properties": { "symbol": { "type": "string", "description": "Código da série de opção. Ex.: PETRF783." }, "underlyingSymbol": { "type": "string", "nullable": true, "description": "Ativo subjacente da opção. Ex.: PETR4." }, "side": { "type": "string", "enum": [ "call", "put" ], "description": "`call` (opção de compra) ou `put` (opção de venda)." }, "market": { "type": "string", "enum": [ "equity", "index", "currency" ], "description": "Mercado da opção: `equity` para ação ou ETF, `index` para índice, `currency` para DOL e WDO." }, "optionStyle": { "type": "string", "nullable": true, "enum": [ "american", "european" ], "description": "`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": { "type": "number", "nullable": true, "description": "Preço de exercício da opção." }, "allocationRoundLot": { "type": "integer", "nullable": true, "description": "Lote padrão de negociação. Em geral, 100 nas opções sobre ações." }, "expirationDate": { "type": "string", "description": "Data de vencimento, no formato YYYY-MM-DD." }, "firstTradeDate": { "type": "string", "description": "Data do primeiro pregão da série, no formato YYYY-MM-DD." }, "lastTradeDate": { "type": "string", "description": "Data do último pregão da série, no formato YYYY-MM-DD." }, "openInterest": { "type": "number", "nullable": true, "description": "Contratos em aberto na série, na última apuração até a data pedida." }, "openInterestChange": { "type": "number", "nullable": true, "description": "Variação de contratos em aberto desde a apuração anterior." }, "openInterestDate": { "type": "string", "nullable": true, "description": "Data da apuração usada, no formato YYYY-MM-DD. Pode ser anterior à data do pregão." }, "reportDate": { "type": "string", "description": "Data da apuração, no formato YYYY-MM-DD." }, "isin": { "type": "string", "nullable": true, "description": "Código ISIN da série de opção, não do ativo objeto." }, "asset": { "type": "string", "nullable": true, "description": "Código raiz do ativo objeto, sem o dígito da classe. Ex.: PETR." }, "expirationCode": { "type": "string", "nullable": true, "description": "Código de vencimento da apuração. Vem vazio nas opções sobre ações." }, "segment": { "type": "string", "description": "Segmento da apuração. Ex.: EQUITY CALL." }, "reportedOpenInterest": { "type": "number", "nullable": true, "description": "Contratos em aberto na apuração do pregão. Vem vazio nas opções sobre ações. Use `openInterest`." }, "reportedOpenInterestChange": { "type": "number", "nullable": true, "description": "Variação de contratos em aberto na apuração do pregão. Vem vazia nas opções sobre ações. Use `openInterestChange`." }, "distributionId": { "type": "string", "nullable": true, "description": "Número de distribuição do ativo objeto." }, "coveredQuantity": { "type": "number", "nullable": true, "description": "Contratos em posição coberta." }, "blockedQuantity": { "type": "number", "nullable": true, "description": "Contratos em posição bloqueada." }, "uncoveredQuantity": { "type": "number", "nullable": true, "description": "Contratos em posição descoberta." }, "totalPositionQuantity": { "type": "number", "nullable": true, "description": "Total de contratos em posição. É a origem de `openInterest` nas opções sobre ações." }, "borrowerQuantity": { "type": "number", "nullable": true, "description": "Quantidade tomadora em empréstimo de ativos." }, "lenderQuantity": { "type": "number", "nullable": true, "description": "Quantidade doadora em empréstimo de ativos." }, "currentQuantity": { "type": "number", "nullable": true, "description": "Quantidade corrente. Preenchida só em alguns segmentos." }, "forwardPrice": { "type": "number", "nullable": true, "description": "Preço a termo. Preenchido só em alguns segmentos." } }, "required": [ "symbol", "underlyingSymbol", "side", "market", "optionStyle", "strike", "allocationRoundLot", "expirationDate", "firstTradeDate", "lastTradeDate", "openInterest", "openInterestChange", "openInterestDate", "reportDate", "isin", "asset", "expirationCode", "segment", "reportedOpenInterest", "reportedOpenInterestChange", "distributionId", "coveredQuantity", "blockedQuantity", "uncoveredQuantity", "totalPositionQuantity", "borrowerQuantity", "lenderQuantity", "currentQuantity", "forwardPrice" ] }, "OptionPositionsResponse": { "type": "object", "properties": { "underlying": { "type": "string" }, "expirationDate": { "type": "string" }, "date": { "type": "string" }, "positions": { "type": "array", "items": { "$ref": "#/components/schemas/OptionPositionSnapshot" } }, "requestedAt": { "type": "string", "format": "date-time", "description": "Data e hora da requisição em ISO 8601.", "example": "2025-01-24T17:32:38.000Z" }, "took": { "type": "integer", "minimum": 0, "description": "Tempo de processamento, em milissegundos.", "example": 45 } }, "required": [ "underlying", "expirationDate", "date", "positions", "requestedAt", "took" ], "example": { "underlying": "PETR4", "expirationDate": "2026-12-18", "date": "2026-06-01", "positions": [ { "symbol": "PETRF783", "underlyingSymbol": "PETR4", "side": "call", "market": "equity", "optionStyle": "european", "strike": 7.29, "allocationRoundLot": 100, "expirationDate": "2026-12-18", "firstTradeDate": "2026-04-24", "lastTradeDate": "2026-06-01", "openInterest": 12500, "openInterestChange": 350, "openInterestDate": "2026-06-01", "reportDate": "2026-06-01", "isin": "BRPETR4F1RM1", "asset": "PETR", "expirationCode": null, "segment": "EQUITY CALL", "reportedOpenInterest": null, "reportedOpenInterestChange": null, "distributionId": "228", "coveredQuantity": 0, "blockedQuantity": 1200, "uncoveredQuantity": 11300, "totalPositionQuantity": 12500, "borrowerQuantity": 1, "lenderQuantity": 3, "currentQuantity": null, "forwardPrice": null } ], "requestedAt": "2026-06-02T12:00:00.000Z", "took": 12 } }, "OptionPricePoint": { "type": "object", "properties": { "date": { "type": "integer", "description": "Data do pregão, em timestamp Unix (segundos)." }, "open": { "type": "number", "nullable": true, "description": "Preço de abertura." }, "high": { "type": "number", "nullable": true, "description": "Preço máximo." }, "low": { "type": "number", "nullable": true, "description": "Preço mínimo." }, "average": { "type": "number", "nullable": true, "description": "Preço médio." }, "close": { "type": "number", "nullable": true, "description": "Preço de fechamento." }, "referencePrice": { "type": "number", "nullable": true, "description": "Preço de referência do pregão." }, "bid": { "type": "number", "nullable": true, "description": "Melhor oferta de compra no fechamento." }, "ask": { "type": "number", "nullable": true, "description": "Melhor oferta de venda no fechamento." }, "trades": { "type": "number", "nullable": true, "description": "Número de negócios." }, "volume": { "type": "number", "nullable": true, "description": "Número de contratos negociados." }, "financialVolume": { "type": "number", "nullable": true, "description": "Volume financeiro, em reais." } }, "required": [ "date", "open", "high", "low", "average", "close", "referencePrice", "bid", "ask", "trades", "volume", "financialVolume" ] }, "OptionSeries": { "type": "object", "properties": { "symbol": { "type": "string", "description": "Código da série de opção. Ex.: PETRF783." }, "underlyingSymbol": { "type": "string", "nullable": true, "description": "Ativo subjacente da opção. Ex.: PETR4." }, "side": { "type": "string", "enum": [ "call", "put" ], "description": "`call` (opção de compra) ou `put` (opção de venda)." }, "market": { "type": "string", "enum": [ "equity", "index", "currency" ], "description": "Mercado da opção: `equity` para ação ou ETF, `index` para índice, `currency` para DOL e WDO." }, "optionStyle": { "type": "string", "nullable": true, "enum": [ "american", "european" ], "description": "`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": { "type": "number", "nullable": true, "description": "Preço de exercício da opção." }, "allocationRoundLot": { "type": "integer", "nullable": true, "description": "Lote padrão de negociação. Em geral, 100 nas opções sobre ações." }, "expirationDate": { "type": "string", "description": "Data de vencimento, no formato YYYY-MM-DD." }, "firstTradeDate": { "type": "string", "description": "Data do primeiro pregão da série, no formato YYYY-MM-DD." }, "lastTradeDate": { "type": "string", "description": "Data do último pregão da série, no formato YYYY-MM-DD." } }, "required": [ "symbol", "underlyingSymbol", "side", "market", "optionStyle", "strike", "allocationRoundLot", "expirationDate", "firstTradeDate", "lastTradeDate" ] }, "OptionSeriesWithHistory": { "allOf": [ { "$ref": "#/components/schemas/OptionSeries" }, { "type": "object", "properties": { "history": { "type": "array", "items": { "$ref": "#/components/schemas/OptionPricePoint" }, "description": "Um ponto por pregão no intervalo pedido." } }, "required": [ "history" ] } ], "description": "Dados da série e `history`, com um ponto por pregão no intervalo pedido." }, "OptionHistoricalResponse": { "type": "object", "properties": { "option": { "$ref": "#/components/schemas/OptionSeriesWithHistory" }, "requestedAt": { "type": "string", "format": "date-time", "description": "Data e hora da requisição em ISO 8601.", "example": "2025-01-24T17:32:38.000Z" }, "took": { "type": "integer", "minimum": 0, "description": "Tempo de processamento, em milissegundos.", "example": 45 } }, "required": [ "option", "requestedAt", "took" ], "example": { "option": { "symbol": "PETRF783", "underlyingSymbol": "PETR4", "side": "call", "market": "equity", "optionStyle": "european", "strike": 7.29, "allocationRoundLot": 100, "expirationDate": "2026-12-18", "firstTradeDate": "2026-04-24", "lastTradeDate": "2026-06-01", "history": [ { "date": 1780282800, "open": 35.15, "high": 35.15, "low": 35.15, "average": 35.15, "close": 35.15, "referencePrice": null, "bid": 0, "ask": 0, "trades": 1, "volume": 500, "financialVolume": 17575 } ] }, "requestedAt": "2026-06-02T12:00:00.000Z", "took": 8 } }, "OptionPositionHistory": { "allOf": [ { "$ref": "#/components/schemas/OptionSeries" }, { "type": "object", "properties": { "positions": { "type": "array", "items": { "type": "object", "properties": { "openInterest": { "type": "number", "nullable": true, "description": "Contratos em aberto na série, na última apuração até a data pedida." }, "openInterestChange": { "type": "number", "nullable": true, "description": "Variação de contratos em aberto desde a apuração anterior." }, "openInterestDate": { "type": "string", "nullable": true, "description": "Data da apuração usada, no formato YYYY-MM-DD. Pode ser anterior à data do pregão." }, "reportDate": { "type": "string", "description": "Data da apuração, no formato YYYY-MM-DD." }, "isin": { "type": "string", "nullable": true, "description": "Código ISIN da série de opção, não do ativo objeto." }, "asset": { "type": "string", "nullable": true, "description": "Código raiz do ativo objeto, sem o dígito da classe. Ex.: PETR." }, "expirationCode": { "type": "string", "nullable": true, "description": "Código de vencimento da apuração. Vem vazio nas opções sobre ações." }, "segment": { "type": "string", "description": "Segmento da apuração. Ex.: EQUITY CALL." }, "reportedOpenInterest": { "type": "number", "nullable": true, "description": "Contratos em aberto na apuração do pregão. Vem vazio nas opções sobre ações. Use `openInterest`." }, "reportedOpenInterestChange": { "type": "number", "nullable": true, "description": "Variação de contratos em aberto na apuração do pregão. Vem vazia nas opções sobre ações. Use `openInterestChange`." }, "distributionId": { "type": "string", "nullable": true, "description": "Número de distribuição do ativo objeto." }, "coveredQuantity": { "type": "number", "nullable": true, "description": "Contratos em posição coberta." }, "blockedQuantity": { "type": "number", "nullable": true, "description": "Contratos em posição bloqueada." }, "uncoveredQuantity": { "type": "number", "nullable": true, "description": "Contratos em posição descoberta." }, "totalPositionQuantity": { "type": "number", "nullable": true, "description": "Total de contratos em posição. É a origem de `openInterest` nas opções sobre ações." }, "borrowerQuantity": { "type": "number", "nullable": true, "description": "Quantidade tomadora em empréstimo de ativos." }, "lenderQuantity": { "type": "number", "nullable": true, "description": "Quantidade doadora em empréstimo de ativos." }, "currentQuantity": { "type": "number", "nullable": true, "description": "Quantidade corrente. Preenchida só em alguns segmentos." }, "forwardPrice": { "type": "number", "nullable": true, "description": "Preço a termo. Preenchido só em alguns segmentos." } }, "required": [ "openInterest", "openInterestChange", "openInterestDate", "reportDate", "isin", "asset", "expirationCode", "segment", "reportedOpenInterest", "reportedOpenInterestChange", "distributionId", "coveredQuantity", "blockedQuantity", "uncoveredQuantity", "totalPositionQuantity", "borrowerQuantity", "lenderQuantity", "currentQuantity", "forwardPrice" ] } } }, "required": [ "positions" ] } ] }, "OptionPositionsHistoryResponse": { "type": "object", "properties": { "option": { "$ref": "#/components/schemas/OptionPositionHistory" }, "requestedAt": { "type": "string", "format": "date-time", "description": "Data e hora da requisição em ISO 8601.", "example": "2025-01-24T17:32:38.000Z" }, "took": { "type": "integer", "minimum": 0, "description": "Tempo de processamento, em milissegundos.", "example": 45 } }, "required": [ "option", "requestedAt", "took" ], "example": { "option": { "symbol": "PETRF783", "underlyingSymbol": "PETR4", "side": "call", "market": "equity", "optionStyle": "european", "strike": 7.29, "allocationRoundLot": 100, "expirationDate": "2026-12-18", "firstTradeDate": "2026-04-24", "lastTradeDate": "2026-06-01", "positions": [ { "openInterest": 12500, "openInterestChange": 350, "openInterestDate": "2026-06-01", "reportDate": "2026-06-01", "isin": "BRPETR4F1RM1", "asset": "PETR", "expirationCode": null, "segment": "EQUITY CALL", "reportedOpenInterest": null, "reportedOpenInterestChange": null, "distributionId": "228", "coveredQuantity": 0, "blockedQuantity": 1200, "uncoveredQuantity": 11300, "totalPositionQuantity": 12500, "borrowerQuantity": 1, "lenderQuantity": 3, "currentQuantity": null, "forwardPrice": null } ] }, "requestedAt": "2026-06-02T12:00:00.000Z", "took": 11 } }, "OptionAnalyticsSnapshot": { "type": "object", "properties": { "symbol": { "type": "string", "description": "Código da série de opção. Ex.: PETRF783." }, "underlyingSymbol": { "type": "string", "nullable": true, "description": "Ativo subjacente da opção. Ex.: PETR4." }, "side": { "type": "string", "enum": [ "call", "put" ], "description": "`call` (opção de compra) ou `put` (opção de venda)." }, "market": { "type": "string", "enum": [ "equity", "index", "currency" ], "description": "Mercado da opção: `equity` para ação ou ETF, `index` para índice, `currency` para DOL e WDO." }, "optionStyle": { "type": "string", "nullable": true, "enum": [ "american", "european" ], "description": "`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": { "type": "number", "nullable": true, "description": "Preço de exercício da opção." }, "allocationRoundLot": { "type": "integer", "nullable": true, "description": "Lote padrão de negociação. Em geral, 100 nas opções sobre ações." }, "expirationDate": { "type": "string", "description": "Data de vencimento, no formato YYYY-MM-DD." }, "firstTradeDate": { "type": "string", "description": "Data do primeiro pregão da série, no formato YYYY-MM-DD." }, "lastTradeDate": { "type": "string", "description": "Data do último pregão da série, no formato YYYY-MM-DD." }, "date": { "type": "string", "description": "Data do pregão, no formato YYYY-MM-DD." }, "model": { "type": "string", "enum": [ "black-scholes-merton", "barone-adesi-whaley", "cox-ross-rubinstein", "unsupported" ], "description": "Modelo de cálculo. Séries americanas usam árvore binomial (`cox-ross-rubinstein`). Séries europeias usam `black-scholes-merton`. `unsupported` quando o estilo da opção é desconhecido." }, "priceSource": { "type": "string", "enum": [ "close", "referencePrice", "none" ], "description": "Preço usado para calcular a IV. Aqui é sempre `close` ou `none`. Sem negócio no dia, não há cálculo." }, "underlyingPrice": { "type": "number", "nullable": true, "description": "Preço do ativo subjacente usado no cálculo." }, "optionPrice": { "type": "number", "nullable": true, "description": "Preço da opção usado para calcular a volatilidade implícita." }, "riskFreeRate": { "type": "number", "nullable": true, "description": "Taxa livre de risco anual, em decimal. Ex.: 0.105 para 10,5%." }, "dividendYield": { "type": "number", "nullable": true, "description": "Yield contínuo dos dividendos anunciados até a data do cálculo. `0` sem dividendo anunciado. Não inclui estimativas." }, "timeToExpirationYears": { "type": "number", "nullable": true, "description": "Dias corridos até o vencimento divididos por 365, inclusive em anos bissextos." }, "impliedVolatility": { "type": "number", "nullable": true, "description": "Volatilidade implícita anual, em decimal. O cálculo usa tempo em dias corridos dividido por 365." }, "delta": { "type": "number", "nullable": true, "description": "Variação do prêmio para 1 unidade de variação no ativo subjacente." }, "gamma": { "type": "number", "nullable": true, "description": "Variação do delta para 1 unidade de variação no ativo subjacente." }, "theta": { "type": "number", "nullable": true, "description": "Variação do prêmio com a passagem do tempo, por ano." }, "vega": { "type": "number", "nullable": true, "description": "Variação do prêmio para 1,00 de variação na volatilidade. Divida por 100 para 1 ponto percentual." }, "rho": { "type": "number", "nullable": true, "description": "Variação do prêmio para 1,00 de variação na taxa de juro. Divida por 100 para 1 ponto percentual." }, "confidence": { "type": "string", "enum": [ "high", "medium", "low", "none" ], "description": "Confiança do cálculo. `none` indica IV e gregas nulas, com o motivo em `nullReason`." }, "nullReason": { "type": "string", "nullable": true, "description": "Motivo dos campos calculados nulos. Ex.: `no_trades`, `missing_underlying_price`, `iv_not_converged`." }, "openInterest": { "type": "number", "nullable": true, "description": "Contratos em aberto na série, na última apuração até a data pedida." }, "openInterestChange": { "type": "number", "nullable": true, "description": "Variação de contratos em aberto desde a apuração anterior." }, "openInterestDate": { "type": "string", "nullable": true, "description": "Data da apuração usada, no formato YYYY-MM-DD. Pode ser anterior à data do pregão." } }, "required": [ "symbol", "underlyingSymbol", "side", "market", "optionStyle", "strike", "allocationRoundLot", "expirationDate", "firstTradeDate", "lastTradeDate", "date", "model", "priceSource", "underlyingPrice", "optionPrice", "riskFreeRate", "dividendYield", "timeToExpirationYears", "impliedVolatility", "delta", "gamma", "theta", "vega", "rho", "confidence", "nullReason", "openInterest", "openInterestChange", "openInterestDate" ] }, "OptionAnalyticsResponse": { "type": "object", "properties": { "underlying": { "type": "string" }, "expirationDate": { "type": "string" }, "date": { "type": "string" }, "analytics": { "type": "array", "items": { "$ref": "#/components/schemas/OptionAnalyticsSnapshot" } }, "requestedAt": { "type": "string", "format": "date-time", "description": "Data e hora da requisição em ISO 8601.", "example": "2025-01-24T17:32:38.000Z" }, "took": { "type": "integer", "minimum": 0, "description": "Tempo de processamento, em milissegundos.", "example": 45 } }, "required": [ "underlying", "expirationDate", "date", "analytics", "requestedAt", "took" ], "example": { "underlying": "PETR4", "expirationDate": "2026-12-18", "date": "2026-05-29", "analytics": [ { "symbol": "PETRF783", "underlyingSymbol": "PETR4", "side": "call", "market": "equity", "optionStyle": "european", "strike": 7.29, "allocationRoundLot": 100, "expirationDate": "2026-12-18", "firstTradeDate": "2026-04-24", "lastTradeDate": "2026-06-01", "openInterest": 12500, "openInterestChange": 350, "openInterestDate": "2026-06-01", "date": "2026-05-29", "model": "black-scholes-merton", "priceSource": "close", "underlyingPrice": 42, "optionPrice": 34.8, "riskFreeRate": 0.145, "dividendYield": 0, "timeToExpirationYears": 0.057534248, "impliedVolatility": 3.0155768, "delta": 0.99739844, "gamma": 0.0002648198, "theta": -3.1521828, "vega": 0.08104867, "rho": 0.4079601, "confidence": "medium", "nullReason": null } ], "requestedAt": "2026-06-02T12:00:00.000Z", "took": 9 } }, "OptionSeriesWithAnalyticsHistory": { "allOf": [ { "$ref": "#/components/schemas/OptionSeries" }, { "type": "object", "properties": { "analytics": { "type": "array", "items": { "type": "object", "properties": { "date": { "type": "string", "description": "Data do pregão, no formato YYYY-MM-DD." }, "model": { "type": "string", "enum": [ "black-scholes-merton", "barone-adesi-whaley", "cox-ross-rubinstein", "unsupported" ], "description": "Modelo de cálculo. Séries americanas usam árvore binomial (`cox-ross-rubinstein`). Séries europeias usam `black-scholes-merton`. `unsupported` quando o estilo da opção é desconhecido." }, "priceSource": { "type": "string", "enum": [ "close", "referencePrice", "none" ], "description": "Preço usado para calcular a IV. Aqui é sempre `close` ou `none`. Sem negócio no dia, não há cálculo." }, "underlyingPrice": { "type": "number", "nullable": true, "description": "Preço do ativo subjacente usado no cálculo." }, "optionPrice": { "type": "number", "nullable": true, "description": "Preço da opção usado para calcular a volatilidade implícita." }, "riskFreeRate": { "type": "number", "nullable": true, "description": "Taxa livre de risco anual, em decimal. Ex.: 0.105 para 10,5%." }, "dividendYield": { "type": "number", "nullable": true, "description": "Yield contínuo dos dividendos anunciados até a data do cálculo. `0` sem dividendo anunciado. Não inclui estimativas." }, "timeToExpirationYears": { "type": "number", "nullable": true, "description": "Dias corridos até o vencimento divididos por 365, inclusive em anos bissextos." }, "impliedVolatility": { "type": "number", "nullable": true, "description": "Volatilidade implícita anual, em decimal. O cálculo usa tempo em dias corridos dividido por 365." }, "delta": { "type": "number", "nullable": true, "description": "Variação do prêmio para 1 unidade de variação no ativo subjacente." }, "gamma": { "type": "number", "nullable": true, "description": "Variação do delta para 1 unidade de variação no ativo subjacente." }, "theta": { "type": "number", "nullable": true, "description": "Variação do prêmio com a passagem do tempo, por ano." }, "vega": { "type": "number", "nullable": true, "description": "Variação do prêmio para 1,00 de variação na volatilidade. Divida por 100 para 1 ponto percentual." }, "rho": { "type": "number", "nullable": true, "description": "Variação do prêmio para 1,00 de variação na taxa de juro. Divida por 100 para 1 ponto percentual." }, "confidence": { "type": "string", "enum": [ "high", "medium", "low", "none" ], "description": "Confiança do cálculo. `none` indica IV e gregas nulas, com o motivo em `nullReason`." }, "nullReason": { "type": "string", "nullable": true, "description": "Motivo dos campos calculados nulos. Ex.: `no_trades`, `missing_underlying_price`, `iv_not_converged`." }, "openInterest": { "type": "number", "nullable": true, "description": "Contratos em aberto na série, na última apuração até a data pedida." }, "openInterestChange": { "type": "number", "nullable": true, "description": "Variação de contratos em aberto desde a apuração anterior." }, "openInterestDate": { "type": "string", "nullable": true, "description": "Data da apuração usada, no formato YYYY-MM-DD. Pode ser anterior à data do pregão." } }, "required": [ "date", "model", "priceSource", "underlyingPrice", "optionPrice", "riskFreeRate", "dividendYield", "timeToExpirationYears", "impliedVolatility", "delta", "gamma", "theta", "vega", "rho", "confidence", "nullReason", "openInterest", "openInterestChange", "openInterestDate" ] }, "description": "Um ponto de IV e gregas por pregão no intervalo pedido." } }, "required": [ "analytics" ] } ] }, "OptionAnalyticsHistoryResponse": { "type": "object", "properties": { "option": { "$ref": "#/components/schemas/OptionSeriesWithAnalyticsHistory" }, "requestedAt": { "type": "string", "format": "date-time", "description": "Data e hora da requisição em ISO 8601.", "example": "2025-01-24T17:32:38.000Z" }, "took": { "type": "integer", "minimum": 0, "description": "Tempo de processamento, em milissegundos.", "example": 45 } }, "required": [ "option", "requestedAt", "took" ], "example": { "option": { "symbol": "PETRF783", "underlyingSymbol": "PETR4", "side": "call", "market": "equity", "optionStyle": "european", "strike": 7.29, "allocationRoundLot": 100, "expirationDate": "2026-12-18", "firstTradeDate": "2026-04-24", "lastTradeDate": "2026-06-01", "analytics": [ { "date": "2026-05-29", "model": "black-scholes-merton", "priceSource": "close", "underlyingPrice": 42, "optionPrice": 34.8, "riskFreeRate": 0.145, "dividendYield": 0, "timeToExpirationYears": 0.057534248, "impliedVolatility": 3.0155768, "delta": 0.99739844, "gamma": 0.0002648198, "theta": -3.1521828, "vega": 0.08104867, "rho": 0.4079601, "confidence": "medium", "nullReason": null, "openInterest": 12500, "openInterestChange": 350, "openInterestDate": "2026-06-01" } ] }, "requestedAt": "2026-06-02T12:00:00.000Z", "took": 10 } }, "PrimeRateEntrySimple": { "type": "object", "properties": { "date": { "type": "string" }, "value": { "type": "string", "description": "Meta da Selic, em % ao ano.", "example": "15.00" }, "epochDate": { "type": "number" } }, "required": [ "date", "value", "epochDate" ] }, "PrimeRateResponseSimple": { "type": "object", "properties": { "prime-rate": { "type": "array", "items": { "$ref": "#/components/schemas/PrimeRateEntrySimple" } }, "requestedAt": { "type": "string", "format": "date-time", "description": "Data e hora da requisição em ISO 8601.", "example": "2025-01-24T17:32:38.000Z" }, "took": { "type": "integer", "minimum": 0, "description": "Tempo de processamento, em milissegundos.", "example": 45 } }, "required": [ "prime-rate", "requestedAt", "took" ], "example": { "prime-rate": [ { "date": "08/02/2026", "value": "15.00", "epochDate": 1770519600000 }, { "date": "07/02/2026", "value": "15.00", "epochDate": 1770433200000 }, { "date": "06/02/2026", "value": "15.00", "epochDate": 1770346800000 } ], "requestedAt": "2026-02-08T16:26:28.456Z", "took": 92 } }, "PrimeRateAvailableResponse": { "type": "object", "properties": { "countries": { "type": "array", "items": { "type": "string" } }, "message": { "type": "string" }, "requestedAt": { "type": "string", "format": "date-time", "description": "Data e hora da requisição em ISO 8601.", "example": "2025-01-24T17:32:38.000Z" } }, "required": [ "countries", "message", "requestedAt" ], "example": { "countries": [ "brazil" ], "message": "Available prime rate data countries", "requestedAt": "2026-02-08T16:26:29.093Z" } }, "QuoteListItem": { "type": "object", "properties": { "stock": { "type": "string", "description": "Ticker do ativo." }, "name": { "type": "string", "description": "Nome da empresa." }, "close": { "type": "number", "nullable": true, "description": "Último preço." }, "change": { "type": "number", "nullable": true, "description": "Variação no dia, em porcentagem." }, "volume": { "type": "number", "nullable": true, "description": "Volume negociado." }, "market_cap": { "type": "number", "nullable": true, "description": "Valor de mercado, em reais." }, "logo": { "type": "string", "nullable": true, "description": "URL do logo." }, "sector": { "type": "string", "nullable": true, "description": "Setor." }, "subsector": { "type": "string", "nullable": true, "description": "Subsetor." }, "type": { "type": "string", "nullable": true, "description": "Tipo do ativo." }, "subType": { "type": "string", "nullable": true, "description": "Subtipo do ativo: stock, unit, fii, etf, fi-infra, fi-agro, fip, fidc ou bdr." } }, "required": [ "stock", "name", "close", "change", "volume", "market_cap", "logo", "sector", "subsector", "type", "subType" ] }, "QuoteListResponse": { "type": "object", "properties": { "indexes": { "type": "array", "items": { "type": "object", "properties": { "stock": { "type": "string" }, "name": { "type": "string" } }, "required": [ "stock", "name" ] } }, "stocks": { "type": "array", "items": { "$ref": "#/components/schemas/QuoteListItem" } }, "availableSectors": { "type": "array", "items": { "type": "string" } }, "availableSubsectors": { "type": "array", "items": { "type": "string" } }, "availableStockTypes": { "type": "array", "items": { "type": "string" } }, "availableSubTypeTypes": { "type": "array", "items": { "type": "string" } }, "currentPage": { "type": "number" }, "totalPages": { "type": "number" }, "itemsPerPage": { "type": "number" }, "totalCount": { "type": "number" }, "hasNextPage": { "type": "boolean" } }, "required": [ "indexes", "stocks", "availableSectors", "availableSubsectors", "availableStockTypes", "availableSubTypeTypes" ], "example": { "indexes": [ { "stock": "^BVSP", "name": "IBOVESPA" }, { "stock": "IFIX.SA", "name": "Índice de Fundos Imobiliários" } ], "stocks": [ { "stock": "PETR4", "name": "PETR4", "close": 36.65, "change": -0.95, "volume": 27681100, "market_cap": 483937892568, "sector": "Energy Minerals", "type": "stock", "subType": "stock", "logo": "https://icons.brapi.dev/icons/PETR4.svg" }, { "stock": "VALE3", "name": "VALE3", "close": 52.89, "change": -1.23, "volume": 18543200, "market_cap": 229876543210, "sector": "Non-Energy Minerals", "type": "stock", "subType": "stock", "logo": "https://icons.brapi.dev/icons/VALE3.svg" } ], "availableSectors": [ "Retail Trade", "Energy Minerals", "Health Services", "Utilities", "Finance", "Consumer Services", "Consumer Non-Durables", "Non-Energy Minerals", "Commercial Services", "Distribution Services", "Transportation", "Technology Services", "Process Industries", "Communications", "Producer Manufacturing", "Miscellaneous", "Electronic Technology", "Industrial Services", "Health Technology", "Consumer Durables" ], "availableSubsectors": [ "Comércio", "Intermediários Financeiros" ], "availableStockTypes": [ "stock", "fund", "bdr" ], "availableSubTypeTypes": [ "stock", "unit", "fii", "etf", "fi-infra", "fi-agro", "fip", "fidc", "bdr" ], "currentPage": 1, "totalPages": 50, "itemsPerPage": 10, "totalCount": 500, "hasNextPage": true, "requestedAt": "2026-02-08T16:25:29.000Z", "took": 12 } }, "HistoricalDataPrice": { "type": "object", "properties": { "date": { "type": "integer", "description": "Data do ponto em Unix timestamp, em segundos." }, "open": { "type": "number", "description": "Preço de abertura no intervalo." }, "high": { "type": "number", "description": "Preço máximo no intervalo." }, "low": { "type": "number", "description": "Preço mínimo no intervalo." }, "close": { "type": "number", "description": "Preço de fechamento no intervalo." }, "volume": { "type": "integer", "description": "Volume negociado no intervalo." }, "adjustedClose": { "type": "number", "description": "Fechamento ajustado por proventos, desdobramentos e grupamentos. Use para calcular retorno." }, "rawOpen": { "type": "number", "nullable": true, "description": "Preço de abertura original, sem ajuste. Vem com `includeRaw=true` em intervalos diários. Pode ser nulo." }, "rawHigh": { "type": "number", "nullable": true, "description": "Preço máximo original, sem ajuste. Vem com `includeRaw=true` em intervalos diários. Pode ser nulo." }, "rawLow": { "type": "number", "nullable": true, "description": "Preço mínimo original, sem ajuste. Vem com `includeRaw=true` em intervalos diários. Pode ser nulo." }, "rawClose": { "type": "number", "nullable": true, "description": "Preço de fechamento original, sem ajuste. Vem com `includeRaw=true` em intervalos diários. Pode ser nulo." } }, "required": [ "date", "open", "high", "low", "close", "volume", "adjustedClose" ] }, "DividendsData": { "type": "object", "properties": { "cashDividends": { "type": "array", "items": { "type": "object", "properties": { "assetIssued": { "type": "string", "description": "Código ISIN do ativo que dá direito ao provento." }, "paymentDate": { "type": "string", "nullable": true, "description": "Data de pagamento." }, "paymentDateIsDeadline": { "type": "boolean", "description": "`true` quando a empresa informou só o prazo máximo do pagamento (\"até 31/12/2026\"). Nesse caso, `paymentDate` é o prazo e muda quando a empresa divulgar a data." }, "verified": { "type": "boolean", "description": "`true` quando o provento foi conferido em um documento publicado pela empresa ou pelo fundo. `false` quando vem de dados históricos que ainda não têm esse documento." }, "rate": { "type": "number", "description": "Valor por ação, em reais." }, "rawRate": { "type": "number", "nullable": true, "description": "Valor por ação na escala dos preços sem ajuste. Vem com `includeRaw=true`." }, "relatedTo": { "type": "string", "description": "Período a que o provento se refere. Ex.: 1º Trimestre/2024." }, "approvedOn": { "type": "string", "nullable": true, "description": "Data de aprovação." }, "isinCode": { "type": "string", "description": "Código ISIN." }, "label": { "type": "string", "description": "Tipo do provento: DIVIDENDO ou JCP." }, "lastDatePrior": { "type": "string", "nullable": true, "description": "Data-com, o último dia para comprar o ativo e ter direito ao provento." }, "exDate": { "type": "string", "nullable": true, "description": "Data ex, o primeiro dia sem direito ao provento. Pode ser nulo." }, "remarks": { "type": "string", "description": "Observações." } }, "required": [ "assetIssued", "paymentDate", "paymentDateIsDeadline", "verified", "rate", "relatedTo", "approvedOn", "isinCode", "label", "lastDatePrior", "exDate", "remarks" ] }, "description": "Dividendos e JCP pagos em dinheiro." }, "stockDividends": { "type": "array", "items": { "type": "object", "properties": { "assetIssued": { "type": "string", "description": "Código ISIN do ativo que dá direito ao provento." }, "factor": { "type": "number", "description": "Fator do evento. Ex.: 2 em um desdobramento de 2 para 1." }, "completeFactor": { "type": "string", "description": "Fator em texto. Ex.: 2 para 1." }, "approvedOn": { "type": "string", "nullable": true, "description": "Data de aprovação." }, "isinCode": { "type": "string", "description": "Código ISIN." }, "label": { "type": "string", "description": "Tipo do evento: DESDOBRAMENTO, GRUPAMENTO ou BONIFICAÇÃO." }, "lastDatePrior": { "type": "string", "nullable": true, "description": "Data-com, o último dia para comprar o ativo e ter direito ao evento." }, "exDate": { "type": "string", "nullable": true, "description": "Data ex, o primeiro dia sem direito ao evento. Pode ser nulo." }, "remarks": { "type": "string", "description": "Observações." } }, "required": [ "assetIssued", "factor", "completeFactor", "approvedOn", "isinCode", "label", "lastDatePrior", "exDate", "remarks" ] }, "description": "Eventos em ações: desdobramentos, grupamentos e bonificações." }, "subscriptions": { "type": "array", "items": { "nullable": true }, "description": "Direitos de subscrição." } }, "required": [ "cashDividends", "stockDividends", "subscriptions" ], "description": "Proventos. Na rota `/api/quote/{tickers}`, vem com `dividends=true`. Na rota `/api/v2/stocks/dividends`, não exige esse parâmetro." }, "SummaryProfile": { "type": "object", "properties": { "symbol": { "type": "string", "description": "Ticker do ativo" }, "cnpj": { "type": "string", "nullable": true, "description": "CNPJ da empresa" }, "address1": { "type": "string", "nullable": true, "description": "Endereço linha 1" }, "address2": { "type": "string", "nullable": true, "description": "Endereço linha 2" }, "address3": { "type": "string", "nullable": true, "description": "Endereço linha 3" }, "city": { "type": "string", "nullable": true, "description": "Cidade" }, "state": { "type": "string", "nullable": true, "description": "Estado" }, "zip": { "type": "string", "nullable": true, "description": "CEP" }, "country": { "type": "string", "nullable": true, "description": "País" }, "phone": { "type": "string", "nullable": true, "description": "Telefone" }, "fax": { "type": "string", "nullable": true, "description": "Fax" }, "website": { "type": "string", "nullable": true, "description": "Website" }, "industry": { "type": "string", "nullable": true, "description": "Setor" }, "industryKey": { "type": "string", "nullable": true, "description": "Chave do setor" }, "industryDisp": { "type": "string", "nullable": true, "description": "Nome do setor" }, "sector": { "type": "string", "nullable": true, "description": "Segmento" }, "sectorKey": { "type": "string", "nullable": true, "description": "Chave do segmento" }, "sectorDisp": { "type": "string", "nullable": true, "description": "Nome do segmento" }, "longBusinessSummary": { "type": "string", "nullable": true, "description": "Descrição da empresa" }, "fullTimeEmployees": { "type": "number", "nullable": true, "description": "Número de funcionários" }, "companyOfficers": { "type": "array", "items": { "nullable": true }, "description": "Diretoria" }, "updatedAt": { "type": "string", "nullable": true, "description": "Data de atualização" } }, "required": [ "symbol", "cnpj", "address1", "address2", "address3", "city", "state", "zip", "country", "phone", "fax", "website", "industry", "industryKey", "industryDisp", "sector", "sectorKey", "sectorDisp", "longBusinessSummary", "fullTimeEmployees", "companyOfficers", "updatedAt" ], "description": "Cadastro da empresa. Vem com o módulo `summaryProfile`." }, "BalanceSheetEntry": { "type": "object", "properties": { "symbol": { "type": "string", "description": "Ticker do ativo" }, "type": { "type": "string", "description": "Tipo (yearly, quarterly)" }, "endDate": { "type": "string", "description": "Data de referência" }, "cash": { "type": "number", "nullable": true, "description": "Caixa" }, "shortTermInvestments": { "type": "number", "nullable": true, "description": "Investimentos de curto prazo" }, "netReceivables": { "type": "number", "nullable": true, "description": "Contas a receber" }, "inventory": { "type": "number", "nullable": true, "description": "Estoques" }, "otherCurrentAssets": { "type": "number", "nullable": true, "description": "Outros ativos circulantes" }, "totalCurrentAssets": { "type": "number", "nullable": true, "description": "Total ativo circulante" }, "longTermInvestments": { "type": "number", "nullable": true, "description": "Investimentos de longo prazo" }, "propertyPlantEquipment": { "type": "number", "nullable": true, "description": "Imobilizado" }, "otherAssets": { "type": "number", "nullable": true, "description": "Outros ativos" }, "totalAssets": { "type": "number", "nullable": true, "description": "Total de ativos" }, "accountsPayable": { "type": "number", "nullable": true, "description": "Fornecedores" }, "shortLongTermDebt": { "type": "number", "nullable": true, "description": "Dívida de curto/longo prazo" }, "longTermDebt": { "type": "number", "nullable": true, "description": "Dívida de longo prazo" }, "totalCurrentLiabilities": { "type": "number", "nullable": true, "description": "Passivo circulante total" }, "totalLiab": { "type": "number", "nullable": true, "description": "Passivo total" }, "totalStockholderEquity": { "type": "number", "nullable": true, "description": "Patrimônio líquido" }, "updatedAt": { "type": "string", "nullable": true, "description": "Data de atualização" } }, "required": [ "symbol", "type", "endDate", "cash", "shortTermInvestments", "netReceivables", "inventory", "otherCurrentAssets", "totalCurrentAssets", "longTermInvestments", "propertyPlantEquipment", "otherAssets", "totalAssets", "accountsPayable", "shortLongTermDebt", "longTermDebt", "totalCurrentLiabilities", "totalLiab", "totalStockholderEquity", "updatedAt" ] }, "FinancialDataEntry": { "type": "object", "properties": { "symbol": { "type": "string", "description": "Ticker do ativo" }, "currentPrice": { "type": "number", "nullable": true, "description": "Preço atual" }, "ebitda": { "type": "number", "nullable": true, "description": "EBITDA" }, "quickRatio": { "type": "number", "nullable": true, "description": "Liquidez seca" }, "currentRatio": { "type": "number", "nullable": true, "description": "Liquidez corrente" }, "debtToEquity": { "type": "number", "nullable": true, "description": "Dívida/PL" }, "revenuePerShare": { "type": "number", "nullable": true, "description": "Receita por ação" }, "returnOnAssets": { "type": "number", "nullable": true, "description": "ROA" }, "returnOnEquity": { "type": "number", "nullable": true, "description": "ROE" }, "earningsGrowth": { "type": "number", "nullable": true, "description": "Crescimento do lucro atribuível aos controladores nos últimos 4 trimestres, contra os 4 trimestres anteriores. Para a variação anual, use `earningsGrowthAnnual`." }, "revenueGrowth": { "type": "number", "nullable": true, "description": "Crescimento da receita nos últimos 4 trimestres, contra os 4 trimestres anteriores. Para a variação anual, use `revenueGrowthAnnual`." }, "earningsGrowthAnnual": { "type": "number", "nullable": true, "description": "Crescimento do lucro atribuível aos controladores no último exercício completo, contra o exercício anterior." }, "revenueGrowthAnnual": { "type": "number", "nullable": true, "description": "Crescimento da receita líquida no último exercício completo, contra o exercício anterior." }, "grossMargins": { "type": "number", "nullable": true, "description": "Margem bruta" }, "ebitdaMargins": { "type": "number", "nullable": true, "description": "Margem EBITDA" }, "operatingMargins": { "type": "number", "nullable": true, "description": "Margem operacional" }, "profitMargins": { "type": "number", "nullable": true, "description": "Margem de lucro" }, "totalCash": { "type": "number", "nullable": true, "description": "Caixa total" }, "totalCashPerShare": { "type": "number", "nullable": true, "description": "Caixa por ação" }, "totalDebt": { "type": "number", "nullable": true, "description": "Dívida total" }, "totalRevenue": { "type": "number", "nullable": true, "description": "Receita total" }, "grossProfits": { "type": "number", "nullable": true, "description": "Lucro bruto" }, "operatingCashflow": { "type": "number", "nullable": true, "description": "Fluxo de caixa operacional" }, "freeCashflow": { "type": "number", "nullable": true, "description": "Fluxo de caixa livre" }, "financialCurrency": { "type": "string", "nullable": true, "description": "Moeda" }, "updatedAt": { "type": "string", "nullable": true, "description": "Data de atualização" }, "type": { "type": "string", "nullable": true, "description": "Tipo (ttm, yearly, quarterly)" } }, "required": [ "symbol", "currentPrice", "ebitda", "quickRatio", "currentRatio", "debtToEquity", "revenuePerShare", "returnOnAssets", "returnOnEquity", "earningsGrowth", "revenueGrowth", "earningsGrowthAnnual", "revenueGrowthAnnual", "grossMargins", "ebitdaMargins", "operatingMargins", "profitMargins", "totalCash", "totalCashPerShare", "totalDebt", "totalRevenue", "grossProfits", "operatingCashflow", "freeCashflow", "financialCurrency", "updatedAt", "type" ], "description": "Dados financeiros dos últimos 12 meses." }, "QuoteResult": { "type": "object", "properties": { "symbol": { "type": "string", "description": "Ticker do ativo. Ex.: PETR4, ^BVSP.", "example": "PETR4" }, "requestedSymbol": { "type": "string", "description": "Ticker enviado quando a cotação pertence a outro ticker.", "example": "AXIA6" }, "dividendsSymbol": { "type": "string", "description": "Ticker do histórico de proventos quando ele difere do ticker da cotação.", "example": "AXIA6" }, "historicalSymbol": { "type": "string", "description": "Ticker do histórico de preços quando ele difere do ticker da cotação.", "example": "AXIA6" }, "currency": { "type": "string", "description": "Moeda dos valores. Em geral, BRL." }, "shortName": { "type": "string", "nullable": true, "description": "Nome curto do ativo." }, "longName": { "type": "string", "nullable": true, "description": "Nome completo da empresa." }, "regularMarketPrice": { "type": "number", "nullable": true, "description": "Preço do último negócio." }, "regularMarketChange": { "type": "number", "nullable": true, "description": "Variação do preço no dia em relação ao fechamento anterior, em reais." }, "regularMarketChangePercent": { "type": "number", "nullable": true, "description": "Variação do preço no dia, em porcentagem." }, "regularMarketTime": { "type": "string", "nullable": true, "description": "Horário da cotação em ISO 8601." }, "regularMarketDayHigh": { "type": "number", "nullable": true, "description": "Preço máximo do dia." }, "regularMarketDayLow": { "type": "number", "nullable": true, "description": "Preço mínimo do dia." }, "regularMarketDayRange": { "type": "string", "nullable": true, "description": "Faixa de preço do dia no formato mínimo - máximo." }, "regularMarketVolume": { "type": "number", "nullable": true, "description": "Volume negociado no dia." }, "regularMarketPreviousClose": { "type": "number", "nullable": true, "description": "Fechamento do pregão anterior." }, "regularMarketOpen": { "type": "number", "nullable": true, "description": "Preço de abertura do dia." }, "averageDailyVolume3Month": { "type": "number", "nullable": true, "description": "Volume médio diário dos últimos 3 meses." }, "averageDailyVolume10Day": { "type": "number", "nullable": true, "description": "Volume médio diário dos últimos 10 dias." }, "fiftyTwoWeekLow": { "type": "number", "nullable": true, "description": "Preço mínimo das últimas 52 semanas." }, "fiftyTwoWeekHigh": { "type": "number", "nullable": true, "description": "Preço máximo das últimas 52 semanas." }, "fiftyTwoWeekRange": { "type": "string", "nullable": true, "description": "Faixa de preço das últimas 52 semanas no formato mínimo - máximo." }, "fiftyTwoWeekLowChange": { "type": "number", "nullable": true, "description": "Diferença entre o preço atual e o mínimo de 52 semanas." }, "fiftyTwoWeekHighChange": { "type": "number", "nullable": true, "description": "Diferença entre o preço atual e o máximo de 52 semanas." }, "fiftyTwoWeekHighChangePercent": { "type": "number", "nullable": true, "description": "Diferença entre o preço atual e o máximo de 52 semanas, em porcentagem." }, "twoHundredDayAverage": { "type": "number", "nullable": true, "description": "Média móvel de 200 dias." }, "twoHundredDayAverageChange": { "type": "number", "nullable": true, "description": "Diferença entre o preço atual e a média de 200 dias." }, "twoHundredDayAverageChangePercent": { "type": "number", "nullable": true, "description": "Diferença entre o preço atual e a média de 200 dias, em porcentagem." }, "marketCap": { "type": "number", "nullable": true, "description": "Valor de mercado, em reais." }, "priceEarnings": { "type": "number", "nullable": true, "description": "Preço sobre lucro (P/L)." }, "earningsPerShare": { "type": "number", "nullable": true, "description": "Lucro por ação (LPA) dos últimos 12 meses." }, "logourl": { "type": "string", "nullable": true, "description": "URL do logo do ativo." }, "usedInterval": { "type": "string", "nullable": true, "description": "Intervalo usado na série de preços." }, "usedRange": { "type": "string", "nullable": true, "description": "Janela usada na série de preços." }, "validRanges": { "type": "array", "items": { "type": "string" }, "description": "Valores aceitos em `range`." }, "validIntervals": { "type": "array", "items": { "type": "string" }, "description": "Valores aceitos em `interval`." }, "historicalDataPrice": { "type": "array", "items": { "$ref": "#/components/schemas/HistoricalDataPrice" }, "description": "Série de preços. Vem quando a requisição define a janela." }, "dividendsData": { "$ref": "#/components/schemas/DividendsData" }, "summaryProfile": { "$ref": "#/components/schemas/SummaryProfile" }, "balanceSheetHistory": { "type": "array", "items": { "$ref": "#/components/schemas/BalanceSheetEntry" }, "description": "Balanço patrimonial anual." }, "balanceSheetHistoryQuarterly": { "type": "array", "items": { "$ref": "#/components/schemas/BalanceSheetEntry" }, "description": "Balanço patrimonial trimestral." }, "financialData": { "$ref": "#/components/schemas/FinancialDataEntry" }, "financialDataHistory": { "type": "array", "items": { "$ref": "#/components/schemas/FinancialDataEntry" }, "description": "Dados financeiros anuais." }, "financialDataHistoryQuarterly": { "type": "array", "items": { "$ref": "#/components/schemas/FinancialDataEntry" }, "description": "Dados financeiros trimestrais." } }, "required": [ "symbol", "currency", "shortName", "longName", "regularMarketPrice", "regularMarketChange", "regularMarketChangePercent", "regularMarketTime", "regularMarketDayHigh", "regularMarketDayLow", "regularMarketDayRange", "regularMarketVolume", "regularMarketPreviousClose", "regularMarketOpen", "averageDailyVolume3Month", "averageDailyVolume10Day", "fiftyTwoWeekLow", "fiftyTwoWeekHigh", "fiftyTwoWeekRange", "fiftyTwoWeekLowChange", "fiftyTwoWeekHighChange", "fiftyTwoWeekHighChangePercent", "twoHundredDayAverage", "twoHundredDayAverageChange", "twoHundredDayAverageChangePercent", "marketCap", "priceEarnings", "earningsPerShare", "logourl", "usedInterval", "usedRange" ] }, "GuidanceItem": { "type": "object", "properties": { "code": { "type": "string", "example": "FII_DIVIDENDS_MISUSE" }, "message": { "type": "string", "example": "Os símbolos MXRF11 parecem ser FIIs. Para dados de dividendos de FIIs, use o endpoint dedicado /api/v2/fii/dividends?symbols=MXRF11 que inclui datas reais de pagamento e ex-date." }, "details": { "type": "object", "properties": { "suggestedEndpoint": { "type": "string", "example": "/api/v2/fii/dividends?symbols=MXRF11" }, "reason": { "type": "string" } }, "required": [ "suggestedEndpoint", "reason" ] } }, "required": [ "code", "message", "details" ] }, "QuoteTickersResponse": { "type": "object", "properties": { "results": { "type": "array", "items": { "$ref": "#/components/schemas/QuoteResult" } }, "guidance": { "type": "array", "items": { "$ref": "#/components/schemas/GuidanceItem" }, "description": "Dicas que apontam um endpoint mais adequado para o pedido. A requisição funciona mesmo assim." }, "requestedAt": { "type": "string", "format": "date-time", "description": "Data e hora da requisição em ISO 8601.", "example": "2025-01-24T17:32:38.000Z" }, "took": { "type": "integer", "minimum": 0, "description": "Tempo de processamento, em milissegundos.", "example": 45 } }, "required": [ "results", "requestedAt", "took" ], "example": { "results": [ { "symbol": "PETR4", "shortName": "PETR4", "longName": "Petroleo Brasileiro SA Pfd", "currency": "BRL", "regularMarketPrice": 36.65, "regularMarketDayHigh": 37.27, "regularMarketDayLow": 36.45, "regularMarketDayRange": "36.45 - 37.27", "regularMarketChange": -0.35, "regularMarketChangePercent": -0.95, "regularMarketTime": "2026-02-08T16:24:54.000Z", "marketCap": 483937892568, "regularMarketVolume": 27681100, "regularMarketPreviousClose": 36.7, "regularMarketOpen": 37.21, "fiftyTwoWeekRange": "28.86 - 38.66", "fiftyTwoWeekLow": 28.86, "fiftyTwoWeekHigh": 38.66, "priceEarnings": 6.09, "earningsPerShare": 6.01, "logourl": "https://icons.brapi.dev/icons/PETR4.svg" } ], "requestedAt": "2026-02-08T16:25:28.170Z", "took": 3 } }, "SdkLinks": { "type": "object", "properties": { "sdks": { "type": "array", "items": { "type": "object", "properties": { "language": { "type": "string" }, "package": { "type": "string" }, "install": { "type": "string" }, "url": { "type": "string", "format": "uri" } }, "required": [ "language", "package", "install", "url" ] } }, "cli": { "type": "object", "properties": { "status": { "type": "string", "enum": [ "source-available", "published" ] }, "url": { "type": "string", "format": "uri" } }, "required": [ "status", "url" ] } }, "required": [ "sdks", "cli" ] }, "InsiderTransaction": { "type": "object", "properties": { "id": { "type": "string", "description": "Identificador da movimentação nesta versão do relatório." }, "reportDate": { "type": "string", "description": "Primeiro dia do mês de referência. Não é a data da movimentação.", "example": "2026-08-01" }, "filingDate": { "type": "string", "description": "Data de apresentação do relatório.", "example": "2026-09-10" }, "version": { "type": "integer", "description": "Versão do relatório. Uma correção substitui a versão anterior." }, "transactionDate": { "type": "string", "nullable": true, "description": "Data da movimentação em YYYY-MM-DD.", "example": "2026-08-21" }, "companyRelation": { "type": "string", "enum": [ "company", "parent", "subsidiary" ], "example": "company" }, "securityCompany": { "type": "string", "description": "Nome da empresa que emite o valor mobiliário." }, "roleGroup": { "type": "string", "nullable": true, "enum": [ "controller", "board", "director", "fiscalCouncil", "statutoryBody" ], "example": "director" }, "roleDescription": { "type": "string", "nullable": true, "example": "Diretor ou Vinculado" }, "direction": { "type": "string", "enum": [ "credit", "debit" ], "example": "credit" }, "movementType": { "type": "string", "example": "Compra à vista" }, "description": { "type": "string", "nullable": true }, "securityType": { "type": "string", "example": "Ações" }, "securityClass": { "type": "string", "nullable": true, "example": "ON" }, "intermediary": { "type": "string", "nullable": true }, "quantity": { "type": "string", "nullable": true, "description": "Quantidade inteira exata. Pode ser negativa.", "example": "1000" }, "unitPrice": { "type": "string", "nullable": true, "description": "Valor decimal exato em texto, sem ajuste por desdobramentos. null indica valor ausente.", "example": "25.1200000000" }, "volume": { "type": "string", "nullable": true, "description": "Valor decimal exato em texto, sem ajuste por desdobramentos. null indica valor ausente.", "example": "25.1200000000" } }, "required": [ "id", "reportDate", "filingDate", "version", "transactionDate", "companyRelation", "securityCompany", "roleGroup", "roleDescription", "direction", "movementType", "description", "securityType", "securityClass", "intermediary", "quantity", "unitPrice", "volume" ] }, "InsiderTransactionResult": { "type": "object", "properties": { "requestedSymbol": { "type": "string" }, "symbol": { "type": "string" }, "changed": { "type": "boolean" }, "data": { "type": "object", "properties": { "cnpj": { "type": "string" }, "companyName": { "type": "string", "nullable": true }, "disclosureLevel": { "type": "string", "enum": [ "roleGroup" ], "description": "Movimentações agrupadas por cargo. Os dados não identificam cada pessoa." }, "firstReportDate": { "type": "string", "nullable": true, "description": "Primeiro mês de relatório disponível para a empresa. Pode haver meses sem dados." }, "latestReportDate": { "type": "string", "nullable": true, "description": "Último mês de relatório disponível para a empresa." }, "latestFilingDate": { "type": "string", "nullable": true, "description": "Data de apresentação mais recente. Uma correção pode se referir a um mês anterior." }, "startDate": { "type": "string" }, "endDate": { "type": "string" }, "transactions": { "type": "array", "items": { "$ref": "#/components/schemas/InsiderTransaction" }, "description": "Movimentações que correspondem aos filtros. Uma lista vazia não indica posição igual a zero." }, "pagination": { "type": "object", "properties": { "page": { "type": "integer" }, "limit": { "type": "integer" }, "total": { "type": "integer" }, "hasMore": { "type": "boolean" } }, "required": [ "page", "limit", "total", "hasMore" ] } }, "required": [ "cnpj", "companyName", "disclosureLevel", "firstReportDate", "latestReportDate", "latestFilingDate", "startDate", "endDate", "transactions", "pagination" ] } }, "required": [ "requestedSymbol", "symbol", "changed", "data" ] }, "InsiderTransactionResponse": { "type": "object", "properties": { "results": { "type": "array", "items": { "$ref": "#/components/schemas/InsiderTransactionResult" } }, "requestedAt": { "type": "string", "format": "date-time", "description": "Data e hora da requisição em ISO 8601.", "example": "2025-01-24T17:32:38.000Z" }, "took": { "type": "integer", "minimum": 0, "description": "Tempo de processamento, em milissegundos.", "example": 45 } }, "required": [ "results", "requestedAt", "took" ], "example": { "results": [ { "requestedSymbol": "VALE3", "symbol": "VALE3", "changed": false, "data": { "cnpj": "33592510000154", "companyName": "VALE S.A.", "disclosureLevel": "roleGroup", "firstReportDate": "2018-12-01", "latestReportDate": "2026-08-01", "latestFilingDate": "2026-09-10", "startDate": "2026-08-01", "endDate": "2026-08-31", "transactions": [ { "id": "9b6d502173ac5f1e0e736a7b6eeea530592e3f7772723d1d66fdfa8a58aafecf:6", "reportDate": "2026-08-01", "filingDate": "2026-09-10", "version": 1, "transactionDate": "2026-08-04", "companyRelation": "company", "securityCompany": "VALE S.A.", "roleGroup": "board", "roleDescription": "Conselho de Administração ou Vinculado", "direction": "credit", "movementType": "Compra à vista", "description": null, "securityType": "Ações", "securityClass": "ON", "intermediary": "BTG PACTUAL CTVM S.A.", "quantity": "4", "unitPrice": "76.2900000000", "volume": "305.1600000000" } ], "pagination": { "page": 1, "limit": 1, "total": 5, "hasMore": true } } } ], "requestedAt": "2026-09-30T12:00:00.000Z", "took": 6 } }, "TickerQuoteSummary": { "type": "object", "properties": { "lastPrice": { "type": "number", "nullable": true, "description": "Último preço.", "example": 36.65 }, "changePercent": { "type": "number", "nullable": true, "description": "Variação no dia, em porcentagem.", "example": -0.95 }, "volume": { "type": "number", "nullable": true, "description": "Volume negociado no dia.", "example": 27681100 }, "marketCap": { "type": "number", "nullable": true, "description": "Valor de mercado, em reais. Pode ser nulo.", "example": 483937892568 } }, "required": [ "lastPrice", "changePercent", "volume", "marketCap" ] }, "StockScreenerMetrics": { "type": "object", "properties": { "trailingPE": { "type": "number", "nullable": true, "description": "P/L. Preço sobre lucro dos últimos 12 meses. É negativo quando a empresa tem prejuízo. Unidade: múltiplo. Nulo quando não há dado.", "example": 5.22 }, "priceToBook": { "type": "number", "nullable": true, "description": "P/VP. Preço sobre valor patrimonial. Unidade: múltiplo. Nulo quando não há dado.", "example": 1.31 }, "enterpriseToEbitda": { "type": "number", "nullable": true, "description": "EV/EBITDA. Valor da firma sobre EBITDA. Unidade: múltiplo. Nulo quando não há dado.", "example": 4.58 }, "enterpriseToRevenue": { "type": "number", "nullable": true, "description": "EV/Receita. Valor da firma sobre receita. Unidade: múltiplo. Nulo quando não há dado.", "example": 2.28 }, "pegRatio": { "type": "number", "nullable": true, "description": "PEG. P/L dividido pelo crescimento do lucro. Unidade: múltiplo. Nulo quando não há dado.", "example": 0.07 }, "earningsPerShare": { "type": "number", "nullable": true, "description": "LPA. Lucro por ação dos últimos 12 meses, em reais. Unidade: reais. Nulo quando não há dado.", "example": 10.35 }, "bookValuePerShare": { "type": "number", "nullable": true, "description": "VPA. Valor patrimonial por ação, em reais. Unidade: reais. Nulo quando não há dado.", "example": 37.32 }, "netMargin": { "type": "number", "nullable": true, "description": "Margem líquida. Lucro líquido sobre receita, em fração (0.24 = 24%). Unidade: fração (0.06 = 6%). Nulo quando não há dado.", "example": 0.2439 }, "enterpriseValue": { "type": "number", "nullable": true, "description": "Valor da firma. Valor de mercado mais dívida líquida, em reais. Unidade: reais. Nulo quando não há dado.", "example": 1250458100000 }, "fiftyTwoWeekChange": { "type": "number", "nullable": true, "description": "Variação 52 semanas. Variação do preço em 52 semanas, em fração (0.65 = 65%). Unidade: fração (0.06 = 6%). Nulo quando não há dado.", "example": 0.6539 }, "dividendYield": { "type": "number", "nullable": true, "description": "Dividend yield. Proventos em dinheiro dos últimos 12 meses sobre o último preço, em fração (0.06 = 6%). Nulo quando não houve proventos. Unidade: fração (0.06 = 6%). Nulo quando não há dado.", "example": 0.0712 }, "returnOnEquity": { "type": "number", "nullable": true, "description": "ROE. Retorno sobre o patrimônio, em fração (0.15 = 15%). Unidade: fração (0.06 = 6%). Nulo quando não há dado. Só vem no plano Pro.", "example": 0.2773 }, "returnOnAssets": { "type": "number", "nullable": true, "description": "ROA. Retorno sobre os ativos, em fração. Unidade: fração (0.06 = 6%). Nulo quando não há dado. Só vem no plano Pro.", "example": 0.1046 }, "grossMargin": { "type": "number", "nullable": true, "description": "Margem bruta. Lucro bruto sobre receita, em fração. Unidade: fração (0.06 = 6%). Nulo quando não há dado. Só vem no plano Pro.", "example": 0.506 }, "ebitdaMargin": { "type": "number", "nullable": true, "description": "Margem EBITDA. EBITDA sobre receita, em fração. Unidade: fração (0.06 = 6%). Nulo quando não há dado. Só vem no plano Pro.", "example": 0.4983 }, "operatingMargin": { "type": "number", "nullable": true, "description": "Margem operacional. Lucro operacional sobre receita, em fração. Unidade: fração (0.06 = 6%). Nulo quando não há dado. Só vem no plano Pro.", "example": 0.3386 }, "debtToEquity": { "type": "number", "nullable": true, "description": "Dívida/PL. Dívida bruta sobre patrimônio líquido. Unidade: múltiplo. Nulo quando não há dado. Só vem no plano Pro.", "example": 1.41 }, "netDebtToEbitda": { "type": "number", "nullable": true, "description": "Dívida líquida/EBITDA. Dívida bruta menos caixa, sobre EBITDA. Nulo quando o EBITDA é zero ou negativo. Unidade: múltiplo. Nulo quando não há dado. Só vem no plano Pro.", "example": 2.28 }, "currentRatio": { "type": "number", "nullable": true, "description": "Liquidez corrente. Ativo circulante sobre passivo circulante. Unidade: múltiplo. Nulo quando não há dado. Só vem no plano Pro.", "example": 0.85 }, "quickRatio": { "type": "number", "nullable": true, "description": "Liquidez seca. Ativo circulante sem estoques, sobre passivo circulante. Unidade: múltiplo. Nulo quando não há dado. Só vem no plano Pro.", "example": 0.58 }, "revenueGrowth": { "type": "number", "nullable": true, "description": "Crescimento da receita. Crescimento da receita do último trimestre contra o mesmo trimestre do ano anterior, em fração. Unidade: fração (0.06 = 6%). Nulo quando não há dado. Só vem no plano Pro.", "example": 0.1123 }, "earningsGrowth": { "type": "number", "nullable": true, "description": "Crescimento do lucro. Crescimento do lucro do último trimestre contra o mesmo trimestre do ano anterior, em fração. Unidade: fração (0.06 = 6%). Nulo quando não há dado. Só vem no plano Pro.", "example": 0.7238 }, "revenueGrowthAnnual": { "type": "number", "nullable": true, "description": "Crescimento anual da receita. Crescimento da receita no último ano fiscal, em fração. Unidade: fração (0.06 = 6%). Nulo quando não há dado. Só vem no plano Pro.", "example": 0.0137 }, "earningsGrowthAnnual": { "type": "number", "nullable": true, "description": "Crescimento anual do lucro. Crescimento do lucro no último ano fiscal, em fração. Unidade: fração (0.06 = 6%). Nulo quando não há dado. Só vem no plano Pro.", "example": 2.0085 }, "totalRevenue": { "type": "number", "nullable": true, "description": "Receita. Receita dos últimos 12 meses, em reais. Unidade: reais. Nulo quando não há dado. Só vem no plano Pro.", "example": 548493000000 }, "ebitda": { "type": "number", "nullable": true, "description": "EBITDA. EBITDA dos últimos 12 meses, em reais. Unidade: reais. Nulo quando não há dado. Só vem no plano Pro.", "example": 273323000000 }, "freeCashflow": { "type": "number", "nullable": true, "description": "Fluxo de caixa livre. Fluxo de caixa livre, em reais. Unidade: reais. Nulo quando não há dado. Só vem no plano Pro.", "example": 105334000000 }, "totalDebt": { "type": "number", "nullable": true, "description": "Dívida bruta. Dívida bruta, em reais. Unidade: reais. Nulo quando não há dado. Só vem no plano Pro.", "example": 676283000000 }, "totalCash": { "type": "number", "nullable": true, "description": "Caixa. Caixa e aplicações, em reais. Unidade: reais. Nulo quando não há dado. Só vem no plano Pro.", "example": 53764000000 } }, "required": [ "trailingPE", "priceToBook", "enterpriseToEbitda", "enterpriseToRevenue", "pegRatio", "earningsPerShare", "bookValuePerShare", "netMargin", "enterpriseValue", "fiftyTwoWeekChange", "dividendYield" ], "description": "Indicadores do ativo. As chaves do plano Pro não vêm no plano Startup." }, "TickerListItem": { "type": "object", "properties": { "symbol": { "type": "string", "description": "Ticker do ativo.", "example": "PETR4" }, "name": { "type": "string", "description": "Nome da empresa ou do fundo.", "example": "Petróleo Brasileiro S.A." }, "longName": { "type": "string", "nullable": true, "description": "Nome longo. Pode ser nulo.", "example": "Petroleo Brasileiro SA Petrobras Preference Shares" }, "assetType": { "type": "string", "nullable": true, "enum": [ "stock", "fund", "bdr" ], "description": "Tipo do ativo.", "example": "stock" }, "subType": { "type": "string", "nullable": true, "enum": [ "stock", "unit", "fii", "etf", "fi-infra", "fi-agro", "fip", "fidc", "bdr" ], "description": "Subtipo do ativo: stock, unit, fii, etf, fi-infra, fi-agro, fip, fidc ou bdr.", "example": "stock" }, "exchange": { "type": "string", "enum": [ "B3" ], "description": "Bolsa.", "example": "B3" }, "currency": { "type": "string", "enum": [ "BRL" ], "description": "Moeda.", "example": "BRL" }, "sector": { "type": "string", "nullable": true, "description": "Setor. Pode ser nulo.", "example": "Energy Minerals" }, "subsector": { "type": "string", "nullable": true, "description": "Subsetor. Pode ser nulo.", "example": "Petróleo, Gás e Biocombustíveis" }, "isActive": { "type": "boolean", "description": "`true` quando o ativo está em negociação.", "example": true }, "logoUrl": { "type": "string", "nullable": true, "description": "URL do logo.", "example": "https://icons.brapi.dev/icons/PETR4.svg" }, "quote": { "$ref": "#/components/schemas/TickerQuoteSummary" } }, "required": [ "symbol", "name", "longName", "assetType", "subType", "exchange", "currency", "sector", "subsector", "isActive", "logoUrl", "quote" ] }, "StockScreenerItem": { "allOf": [ { "$ref": "#/components/schemas/TickerListItem" }, { "type": "object", "properties": { "metrics": { "$ref": "#/components/schemas/StockScreenerMetrics" }, "fundamentalsUpdatedAt": { "type": "string", "nullable": true, "format": "date-time", "description": "Data e hora da última atualização dos fundamentos usados. Nulo quando o ativo não tem fundamentos.", "example": "2026-09-29T15:20:56.282Z" } }, "required": [ "metrics", "fundamentalsUpdatedAt" ] } ] }, "TickerPagination": { "type": "object", "properties": { "page": { "type": "number", "example": 1 }, "limit": { "type": "number", "example": 20 }, "totalItems": { "type": "number", "example": 2302 }, "totalPages": { "type": "number", "example": 116 }, "hasNextPage": { "type": "boolean", "example": true } }, "required": [ "page", "limit", "totalItems", "totalPages", "hasNextPage" ] }, "StockScreenerResponse": { "type": "object", "properties": { "results": { "type": "array", "items": { "$ref": "#/components/schemas/StockScreenerItem" } }, "pagination": { "$ref": "#/components/schemas/TickerPagination" }, "requestedAt": { "type": "string", "format": "date-time", "description": "Data e hora da requisição em ISO 8601.", "example": "2025-01-24T17:32:38.000Z" }, "took": { "type": "integer", "minimum": 0, "description": "Tempo de processamento, em milissegundos.", "example": 45 } }, "required": [ "results", "pagination", "requestedAt", "took" ] }, "StockQuoteSnapshot": { "type": "object", "properties": { "shortName": { "type": "string", "example": "PETROBRAS PN" }, "longName": { "type": "string", "example": "Petróleo Brasileiro S.A." }, "currency": { "type": "string", "example": "BRL" }, "regularMarketPrice": { "type": "number", "example": 36.65 }, "regularMarketDayHigh": { "type": "number", "example": 37.27 }, "regularMarketDayLow": { "type": "number", "example": 36.45 }, "regularMarketDayRange": { "type": "string", "example": "36.45 - 37.27" }, "regularMarketChange": { "type": "number", "example": -0.35 }, "regularMarketChangePercent": { "type": "number", "example": -0.95 }, "regularMarketTime": { "type": "string", "description": "Horário da cotação em ISO 8601.", "example": "2026-02-08T16:24:54.000Z" }, "marketCap": { "type": "number", "nullable": true, "example": 483937892568 }, "regularMarketVolume": { "type": "number", "example": 27681100 }, "regularMarketPreviousClose": { "type": "number", "example": 36.7 }, "regularMarketOpen": { "type": "number", "example": 37.21 }, "fiftyTwoWeekRange": { "type": "string", "example": "28.86 - 38.66" }, "fiftyTwoWeekLow": { "type": "number", "example": 28.86 }, "fiftyTwoWeekHigh": { "type": "number", "example": 38.66 }, "logourl": { "type": "string", "example": "https://icons.brapi.dev/icons/PETR4.svg" } }, "required": [ "shortName", "longName", "currency", "regularMarketPrice", "regularMarketDayHigh", "regularMarketDayLow", "regularMarketDayRange", "regularMarketChange", "regularMarketChangePercent", "regularMarketTime", "marketCap", "regularMarketVolume", "regularMarketPreviousClose", "regularMarketOpen", "fiftyTwoWeekRange", "fiftyTwoWeekLow", "fiftyTwoWeekHigh", "logourl" ] }, "StockQuoteSeries": { "type": "object", "properties": { "requestedSymbol": { "type": "string", "description": "Ticker enviado na requisição.", "example": "VVAR3" }, "symbol": { "type": "string", "description": "Ticker usado para os dados retornados.", "example": "BHIA3" }, "changed": { "type": "boolean", "description": "`true` quando `symbol` difere de `requestedSymbol`.", "example": true }, "data": { "$ref": "#/components/schemas/StockQuoteSnapshot" } }, "required": [ "requestedSymbol", "symbol", "changed", "data" ] }, "StockQuoteResponse": { "type": "object", "properties": { "results": { "type": "array", "items": { "$ref": "#/components/schemas/StockQuoteSeries" } }, "requestedAt": { "type": "string", "format": "date-time", "description": "Data e hora da requisição em ISO 8601.", "example": "2025-01-24T17:32:38.000Z" }, "took": { "type": "integer", "minimum": 0, "description": "Tempo de processamento, em milissegundos.", "example": 45 } }, "required": [ "results", "requestedAt", "took" ], "example": { "results": [ { "requestedSymbol": "PETR4", "symbol": "PETR4", "changed": false, "data": { "shortName": "PETROBRAS PN EX N2", "longName": "Petróleo Brasileiro S.A. - Petrobras", "currency": "BRL", "regularMarketPrice": 41.18, "regularMarketDayHigh": 41.53, "regularMarketDayLow": 40.82, "regularMarketDayRange": "40.82 - 41.53", "regularMarketChange": -0.58, "regularMarketChangePercent": -1.39, "regularMarketTime": "2026-06-14T05:15:42.000Z", "marketCap": null, "regularMarketVolume": 34024700, "regularMarketPreviousClose": 41.76, "regularMarketOpen": 41.18, "fiftyTwoWeekRange": "29.31 - 50.69", "fiftyTwoWeekLow": 29.31, "fiftyTwoWeekHigh": 50.69, "logourl": "https://icons.brapi.dev/icons/PETR4.svg" } } ], "requestedAt": "2026-06-14T05:03:16.000Z", "took": 286 } }, "StockHistoricalPrice": { "type": "object", "properties": { "date": { "type": "integer", "description": "Data do pregão em Unix timestamp, em segundos.", "example": 1704067200 }, "open": { "type": "number", "nullable": true, "example": 36.1 }, "high": { "type": "number", "nullable": true, "example": 37.2 }, "low": { "type": "number", "nullable": true, "example": 35.9 }, "close": { "type": "number", "nullable": true, "example": 36.65 }, "volume": { "type": "number", "nullable": true, "example": 27681100 }, "adjustedClose": { "type": "number", "nullable": true, "example": 36.65 }, "rawOpen": { "type": "number", "nullable": true, "description": "Preço de abertura original, sem ajuste. Vem com `includeRaw=true` em intervalos diários. Pode ser nulo." }, "rawHigh": { "type": "number", "nullable": true, "description": "Preço máximo original, sem ajuste. Vem com `includeRaw=true` em intervalos diários. Pode ser nulo." }, "rawLow": { "type": "number", "nullable": true, "description": "Preço mínimo original, sem ajuste. Vem com `includeRaw=true` em intervalos diários. Pode ser nulo." }, "rawClose": { "type": "number", "nullable": true, "description": "Preço de fechamento original, sem ajuste. Vem com `includeRaw=true` em intervalos diários. Pode ser nulo." } }, "required": [ "date", "open", "high", "low", "close", "volume", "adjustedClose" ] }, "StockHistoricalSeries": { "type": "object", "properties": { "usedInterval": { "type": "string", "example": "1d" }, "usedRange": { "type": "string", "example": "1y" }, "historicalDataPrice": { "type": "array", "items": { "$ref": "#/components/schemas/StockHistoricalPrice" } } }, "required": [ "usedInterval", "usedRange", "historicalDataPrice" ] }, "StockHistoricalResult": { "type": "object", "properties": { "requestedSymbol": { "type": "string", "description": "Ticker enviado na requisição.", "example": "VVAR3" }, "symbol": { "type": "string", "description": "Ticker usado para os dados retornados.", "example": "BHIA3" }, "changed": { "type": "boolean", "description": "`true` quando `symbol` difere de `requestedSymbol`.", "example": true }, "data": { "$ref": "#/components/schemas/StockHistoricalSeries" } }, "required": [ "requestedSymbol", "symbol", "changed", "data" ] }, "StockHistoricalResponse": { "type": "object", "properties": { "results": { "type": "array", "items": { "$ref": "#/components/schemas/StockHistoricalResult" } }, "requestedAt": { "type": "string", "format": "date-time", "description": "Data e hora da requisição em ISO 8601.", "example": "2025-01-24T17:32:38.000Z" }, "took": { "type": "integer", "minimum": 0, "description": "Tempo de processamento, em milissegundos.", "example": 45 } }, "required": [ "results", "requestedAt", "took" ], "example": { "results": [ { "requestedSymbol": "PETR4", "symbol": "PETR4", "changed": false, "data": { "usedInterval": "1d", "usedRange": "1mo", "historicalDataPrice": [ { "date": 1781233200, "open": 41.06, "high": 41.53, "low": 40.82, "close": 41.18, "volume": 34081000, "adjustedClose": 41.18 } ] } } ], "requestedAt": "2026-06-14T05:03:16.000Z", "took": 907 } }, "StockDividendsSeries": { "type": "object", "properties": { "requestedSymbol": { "type": "string", "description": "Ticker enviado na requisição.", "example": "VVAR3" }, "symbol": { "type": "string", "description": "Ticker usado para os dados retornados.", "example": "BHIA3" }, "changed": { "type": "boolean", "description": "`true` quando `symbol` difere de `requestedSymbol`.", "example": true }, "data": { "$ref": "#/components/schemas/DividendsData" } }, "required": [ "requestedSymbol", "symbol", "changed", "data" ] }, "StockDividendsResponse": { "type": "object", "properties": { "results": { "type": "array", "items": { "$ref": "#/components/schemas/StockDividendsSeries" } }, "requestedAt": { "type": "string", "format": "date-time", "description": "Data e hora da requisição em ISO 8601.", "example": "2025-01-24T17:32:38.000Z" }, "took": { "type": "integer", "minimum": 0, "description": "Tempo de processamento, em milissegundos.", "example": 45 } }, "required": [ "results", "requestedAt", "took" ], "example": { "results": [ { "requestedSymbol": "ITSA4", "symbol": "ITSA4", "changed": false, "data": { "cashDividends": [ { "assetIssued": "BRITSAACNPR7", "paymentDate": "2026-10-01T03:00:00.000Z", "rate": 0.024242, "relatedTo": "", "approvedOn": null, "isinCode": "BRITSAACNPR7", "label": "JCP", "lastDatePrior": "2026-08-31T03:00:00.000Z", "exDate": "2026-08-31T03:00:00.000Z", "remarks": "" } ], "stockDividends": [ { "assetIssued": "BRITSAACNPR7", "factor": 1.02, "completeFactor": "1,02 para 1", "approvedOn": "2025-12-15T03:00:00.000Z", "isinCode": "BRITSAACNPR7", "label": "BONIFICACAO", "lastDatePrior": "2025-12-18T03:00:00.000Z", "exDate": "2025-12-18T03:00:00.000Z", "remarks": "" } ], "subscriptions": [] } } ], "requestedAt": "2026-06-14T05:03:16.000Z", "took": 203 } }, "StockFundamentalsSeries": { "type": "object", "properties": { "requestedSymbol": { "type": "string", "example": "VVAR3" }, "symbol": { "type": "string", "example": "BHIA3" }, "changed": { "type": "boolean", "example": true }, "data": { "nullable": true, "description": "Dados do endpoint. Pode ser objeto, array ou null." } }, "required": [ "requestedSymbol", "symbol", "changed" ] }, "StockProfileResponse": { "type": "object", "properties": { "results": { "type": "array", "items": { "$ref": "#/components/schemas/StockFundamentalsSeries" } }, "requestedAt": { "type": "string", "format": "date-time", "description": "Data e hora da requisição em ISO 8601.", "example": "2025-01-24T17:32:38.000Z" }, "took": { "type": "integer", "minimum": 0, "description": "Tempo de processamento, em milissegundos.", "example": 45 } }, "required": [ "results", "requestedAt", "took" ], "example": { "results": [ { "requestedSymbol": "VVAR3", "symbol": "BHIA3", "changed": true, "data": { "address1": "Rua Flórida, 1970", "address2": "5 andar", "address3": null, "city": "SÃO PAULO", "state": "SP", "zip": "4565001", "country": "BRASIL", "phone": "(11) 42256017", "fax": "(11) 42256996", "website": "https://ri.grupocasasbahia.com.br", "industry": "Eletrodomésticos", "industryKey": "eletrodomesticos", "industryDisp": "Eletrodomésticos", "sector": "Consumo Cíclico", "sectorKey": "consumo-ciclico", "sectorDisp": "Consumo Cíclico", "longBusinessSummary": "O Grupo Casas Bahia S.A., listado na B3 sob BHIA3, atua no varejo de bens duráveis e eletroeletrônicos no Brasil, com operação omnicanal que combina lojas físicas, comércio eletrônico e marketplace. A companhia opera marcas de varejo conhecidas nacionalmente e mantém estrutura de logística, distribuição e serviços financeiros para apoiar vendas parceladas e recorrência de clientes. A base de receita inclui venda de produtos, serviços e intermediação em canais digitais.\n\nA dinâmica de resultados é influenciada por consumo das famílias, custo de crédito, inadimplência, nível de estoques e eficiência logística. O setor de varejo de eletrodomésticos é sensível a renda disponível, juros e competição de preço entre grandes plataformas. Nos últimos anos, a empresa passou por reorganização de marca e ajustes operacionais para reduzir alavancagem, melhorar geração de caixa e priorizar rentabilidade por canal e categoria de produto.", "fullTimeEmployees": 57500, "companyOfficers": null, "twitter": "@CasasBahia", "name": "PONTO FRIO", "startDate": "1952-01-01", "description": null, "logoUrl": "https://icons.brapi.dev/icons/BHIA3.svg", "cnpj": "33041260065290", "administratorName": null, "administratorCnpj": null, "administratorAddress": null, "administratorAddressNumber": null, "administratorAddressComplement": null, "administratorDistrict": null, "administratorCity": null, "administratorState": null, "administratorZipCode": null, "administratorPhone1": null, "administratorPhone2": null, "administratorPhone3": null, "administratorWebsite": null, "administratorEmail": null } } ], "requestedAt": "2026-06-14T05:03:16.000Z", "took": 200 } }, "StockStatisticsResponse": { "type": "object", "properties": { "results": { "type": "array", "items": { "$ref": "#/components/schemas/StockFundamentalsSeries" } }, "requestedAt": { "type": "string", "format": "date-time", "description": "Data e hora da requisição em ISO 8601.", "example": "2025-01-24T17:32:38.000Z" }, "took": { "type": "integer", "minimum": 0, "description": "Tempo de processamento, em milissegundos.", "example": 45 } }, "required": [ "results", "requestedAt", "took" ], "example": { "results": [ { "requestedSymbol": "WEGE3", "symbol": "WEGE3", "changed": false, "data": { "priceHint": null, "enterpriseValue": 181192740000, "forwardPE": null, "profitMargins": 0.16715191, "floatShares": 1485954700, "sharesOutstanding": 4197318000, "sharesShort": null, "sharesShortPriorMonth": null, "sharesShortPreviousMonthDate": null, "dateShortInterest": null, "sharesPercentSharesOut": null, "heldPercentInsiders": null, "heldPercentInstitutions": null, "shortRatio": null, "shortPercentOfFloat": null, "beta": 0.6503127, "impliedSharesOutstanding": null, "category": null, "bookValue": 4.227962, "priceToBook": 10.078141, "fundFamily": null, "legalType": null, "lastFiscalYearEnd": null, "nextFiscalYearEnd": "2026-12-31 00:00:00+00", "mostRecentQuarter": "2026-03-31", "earningsQuarterlyGrowth": -0.03510854, "netIncomeToCommon": 6287370000, "trailingEps": 1.4979494, "forwardEps": null, "pegRatio": 66.687416, "lastSplitFactor": null, "lastSplitDate": null, "enterpriseToRevenue": 4.507972, "enterpriseToEbitda": 20.290693, "52WeekChange": 0.03210223, "SandP52WeekChange": null, "lastDividendValue": null, "lastDividendDate": "2026-03-20", "ytdReturn": null, "beta3Year": null, "totalAssets": null, "yield": 0.03, "fundInceptionDate": null, "threeYearAverageReturn": null, "fiveYearAverageReturn": null, "morningStarOverallRating": null, "morningStarRiskRating": null, "annualReportExpenseRatio": null, "lastCapGain": null, "annualHoldingsTurnover": null, "marketCap": 178847730000, "trailingPE": 28.445553, "earningsPerShare": 1.4979494, "dividendYield": 0.03 } } ], "requestedAt": "2026-06-14T05:03:16.000Z", "took": 207 } }, "StockFinancialDataResponse": { "type": "object", "properties": { "results": { "type": "array", "items": { "$ref": "#/components/schemas/StockFundamentalsSeries" } }, "requestedAt": { "type": "string", "format": "date-time", "description": "Data e hora da requisição em ISO 8601.", "example": "2025-01-24T17:32:38.000Z" }, "took": { "type": "integer", "minimum": 0, "description": "Tempo de processamento, em milissegundos.", "example": 45 } }, "required": [ "results", "requestedAt", "took" ], "example": { "results": [ { "requestedSymbol": "WEGE3", "symbol": "WEGE3", "changed": false, "data": { "currentPrice": null, "targetHighPrice": null, "targetLowPrice": null, "targetMeanPrice": null, "targetMedianPrice": null, "recommendationMean": null, "recommendationKey": null, "numberOfAnalystOpinions": null, "totalCash": 7385768000, "totalCashPerShare": 1.7596399, "ebitda": 8929845000, "totalDebt": 9730790000, "quickRatio": 0.98023725, "currentRatio": 1.5479537, "totalRevenue": 40193850000, "debtToEquity": 0.54833394, "revenuePerShare": null, "returnOnAssets": 0.15488343, "returnOnEquity": 0.378589, "grossProfits": 13361430000, "freeCashflow": 2974247000, "operatingCashflow": 7172939000, "earningsGrowth": 0.0042655054, "revenueGrowth": 0.0040378235, "earningsGrowthAnnual": 0.05521239, "revenueGrowthAnnual": 0.074161455, "grossMargins": 0.3324247, "ebitdaMargins": 0.22216943, "operatingMargins": 0.19664963, "profitMargins": 0.16715191, "financialCurrency": null } } ], "requestedAt": "2026-06-14T05:03:16.000Z", "took": 31 } }, "StockBalanceSheetResponse": { "type": "object", "properties": { "results": { "type": "array", "items": { "$ref": "#/components/schemas/StockFundamentalsSeries" } }, "requestedAt": { "type": "string", "format": "date-time", "description": "Data e hora da requisição em ISO 8601.", "example": "2025-01-24T17:32:38.000Z" }, "took": { "type": "integer", "minimum": 0, "description": "Tempo de processamento, em milissegundos.", "example": 45 } }, "required": [ "results", "requestedAt", "took" ], "example": { "results": [ { "requestedSymbol": "PETR4", "symbol": "PETR4", "changed": false, "data": [ { "type": "yearly", "endDate": "2025-12-31", "cash": 35608000000, "shortTermInvestments": 15000001000, "netReceivables": 25461000000, "inventory": 45173000000, "otherCurrentAssets": 7637000000, "totalCurrentAssets": 140026000000, "longTermInvestments": 3024000000, "propertyPlantEquipment": 924624000000, "otherAssets": null, "totalAssets": 1223389000000, "accountsPayable": null, "shortLongTermDebt": null, "otherCurrentLiab": null, "longTermDebt": null, "otherLiab": null, "totalCurrentLiabilities": null, "totalLiab": 805802000000, "commonStock": null, "retainedEarnings": 0, "treasuryStock": null, "otherStockholderEquity": null, "totalStockholderEquity": null, "netTangibleAssets": null, "goodWill": null, "intangibleAssets": 13885000000, "deferredLongTermAssetCharges": null, "deferredLongTermLiab": null, "minorityInterest": 1800999900, "capitalSurplus": null, "financialAssets": null, "centralBankCompulsoryDeposit": null, "financialAssetsMeasuredAtFairValueThroughProfitOrLoss": null, "currentAndDeferredTaxes": null, "investments": null, "financialAssetsFVThroughOCI": null, "financialAssetsAtAmortizedCost": null, "accountsReceivableFromClients": 0, "otherAccountsReceivable": 0, "biologicalAssets": 0, "taxesToRecover": 11147000000, "prepaidExpenses": 0, "longTermAssets": 1083363000000, "longTermRealizableAssets": 141830000000, "longTermReceivables": 4683000000, "longTermAccountsReceivableFromClients": 0, "longTermInventory": 0, "longTermBiologicalAssets": 0, "longTermDeferredTaxes": 34965000000, "longTermPrepaidExpenses": 0, "creditsWithRelatedParties": 0, "shareholdings": 0, "investmentProperties": 0, "otherLongTermReceivables": 0, "otherNonCurrentAssets": 106557000000, "creditsFromOperations": null, "insuranceAndReinsurance": null, "complementaryPension": null, "securitiesAndCreditsReceivable": null, "otherValuesAndAssets": null, "compulsoryLoansAndDeposits": null, "deferredSellingExpenses": null, "nonCurrentAssets": null, "longTermFinancialInvestmentsMeasuredAtFairValueThroughIncome": null, "financialInvestmentsFVThroughOCI": null, "financialInvestmentsMeasuredAtAmortizedCost": null, "intangibleAsset": null, "deferredTaxes": null, "capitalization": null, "otherOperations": null, "financialLiabilitiesMeasuredAtFairValueThroughIncome": null, "financialLiabilitiesAtAmortizedCost": null, "provisions": 21934000000, "taxLiabilities": null, "otherLiabilities": null, "shareholdersEquity": 417587000000, "controllerShareholdersEquity": null, "nonControllingShareholdersEquity": null, "realizedShareCapital": 205432000000, "capitalReserves": 3105999900, "revaluationReserves": 0, "profitReserves": 158278000000, "accumulatedProfitsOrLosses": null, "equityValuationAdjustments": 0, "cumulativeConversionAdjustments": 0, "otherComprehensiveResults": 48970000000, "currentLiabilities": 198368000000, "socialAndLaborObligations": 15236000000, "providers": 40948000000, "nationalSuppliers": 0, "foreignSuppliers": 0, "taxObligations": 7110000000, "loansAndFinancing": 67253000000, "loansAndFinancingInNationalCurrency": 0, "loansAndFinancingInForeignCurrency": 0, "debentures": 0, "leaseFinancing": 55226000000, "otherObligations": 45321000000, "otherCurrentLiabilities": 566000000, "nonCurrentLiabilities": 607434000000, "longTermLoansAndFinancing": 316772000000, "longTermLoansAndFinancingInNationalCurrency": 0, "longTermLoansAndFinancingInForeignCurrency": 0, "longTermDebentures": 0, "longTermLeaseFinancing": 183310000000, "otherLongTermObligations": 3168000000, "longTermProvisions": 252529000000, "otherNonCurrentLiabilities": 0, "profitsAndRevenuesToBeAppropriated": 0, "debitsFromOperations": null, "debitsFromInsuranceAndReinsurance": null, "debitsFromComplementaryPension": null, "thirdPartyDeposits": null, "technicalProvisions": null, "otherDebits": null, "longTermLiabilities": null, "longTermAccountsPayable": null, "longTermDebitsFromOperations": null, "longTermTechnicalProvisions": null, "longTermInsuranceAndReinsurance": null, "longTermComplementaryPension": null, "longTermCapitalization": null, "otherLongTermProvisions": null, "debitsFromCapitalization": null, "debitsFromOtherOperations": null, "otherProvisions": null, "advanceForFutureCapitalIncrease": null } ] } ], "requestedAt": "2026-06-14T05:03:16.000Z", "took": 31 } }, "StockIncomeStatementResponse": { "type": "object", "properties": { "results": { "type": "array", "items": { "$ref": "#/components/schemas/StockFundamentalsSeries" } }, "requestedAt": { "type": "string", "format": "date-time", "description": "Data e hora da requisição em ISO 8601.", "example": "2025-01-24T17:32:38.000Z" }, "took": { "type": "integer", "minimum": 0, "description": "Tempo de processamento, em milissegundos.", "example": 45 } }, "required": [ "results", "requestedAt", "took" ], "example": { "results": [ { "requestedSymbol": "PETR4", "symbol": "PETR4", "changed": false, "data": [ { "type": "yearly", "endDate": "2025-12-31", "totalRevenue": 497549000000, "costOfRevenue": -260551000000, "grossProfit": 236998000000, "researchDevelopment": null, "sellingGeneralAdministrative": -10802000000, "nonRecurring": null, "otherOperatingExpenses": -51372000000, "totalOperatingExpenses": -91370000000, "operatingIncome": -91370000000, "totalOtherIncomeExpenseNet": null, "ebit": 145628000000, "interestExpense": null, "incomeBeforeTax": 150599000000, "incomeTaxExpense": -39994000000, "minorityInterest": 476000000, "netIncomeFromContinuingOps": 110605000000, "discontinuedOperations": 0, "extraordinaryItems": null, "effectOfAccountingCharges": null, "otherItems": null, "netIncome": 110605000000, "netIncomeApplicableToCommonShares": 110129000000, "salesExpenses": -28954000000, "lossesDueToNonRecoverabilityOfAssets": 0, "otherOperatingIncome": 0, "equityIncomeResult": -242000000, "financialResult": 4971000000, "financialIncome": 8286000000, "financialExpenses": -3315000000, "currentTaxes": -35099000000, "deferredTaxes": -4895000000, "incomeBeforeStatutoryParticipationsAndContributions": null, "basicEarningsPerCommonShare": 8540, "dilutedEarningsPerCommonShare": 8540, "basicEarningsPerPreferredShare": 8540, "profitSharingAndStatutoryContributions": null, "dilutedEarningsPerPreferredShare": 8540, "claimsAndOperationsCosts": null, "administrativeCosts": null, "otherOperatingIncomeAndExpenses": null, "earningsPerShare": null, "basicEarningsPerShare": null, "dilutedEarningsPerShare": null, "insuranceOperations": null, "reinsuranceOperations": null, "complementaryPensionOperations": null, "capitalizationOperations": null, "cleanEbit": 145628000000, "cleanEbitda": 145628000000, "cleanNopat": 96114480000, "cleanNetIncome": null } ] } ], "requestedAt": "2026-06-14T05:03:16.000Z", "took": 31 } }, "StockCashFlowResponse": { "type": "object", "properties": { "results": { "type": "array", "items": { "$ref": "#/components/schemas/StockFundamentalsSeries" } }, "requestedAt": { "type": "string", "format": "date-time", "description": "Data e hora da requisição em ISO 8601.", "example": "2025-01-24T17:32:38.000Z" }, "took": { "type": "integer", "minimum": 0, "description": "Tempo de processamento, em milissegundos.", "example": 45 } }, "required": [ "results", "requestedAt", "took" ], "example": { "results": [ { "requestedSymbol": "PETR4", "symbol": "PETR4", "changed": false, "data": [ { "type": "yearly", "endDate": "2025-12-31", "operatingCashFlow": 200333000000, "incomeFromOperations": 253975000000, "netIncomeBeforeTaxes": null, "adjustmentsToProfitOrLoss": null, "changesInAssetsAndLiabilities": -25534000000, "otherOperatingActivities": -28108000000, "cashGeneratedInOperations": null, "investmentCashFlow": -86114000000, "financingCashFlow": -97122000000, "exchangeVariationWithoutCash": null, "foreignExchangeRateWithoutCash": -1743000100, "increaseOrDecreaseInCash": 15354000000, "initialCashBalance": 20254000000, "finalCashBalance": 35608000000, "freeCashFlow": 114219000000 } ] } ], "requestedAt": "2026-06-14T05:03:16.000Z", "took": 32 } }, "StockValueAddedResponse": { "type": "object", "properties": { "results": { "type": "array", "items": { "$ref": "#/components/schemas/StockFundamentalsSeries" } }, "requestedAt": { "type": "string", "format": "date-time", "description": "Data e hora da requisição em ISO 8601.", "example": "2025-01-24T17:32:38.000Z" }, "took": { "type": "integer", "minimum": 0, "description": "Tempo de processamento, em milissegundos.", "example": 45 } }, "required": [ "results", "requestedAt", "took" ], "example": { "results": [ { "requestedSymbol": "PETR4", "symbol": "PETR4", "changed": false, "data": [ { "type": "yearly", "endDate": "2025-12-31", "revenue": 749557000000, "productSales": 641818000000, "otherRevenues": 14692000000, "constructionOfOwnAssets": 93487000000, "provisionOrReversalOfDoubtfulAccounts": -440000000, "suppliesPurchasedFromThirdParties": -292210000000, "costsWithProductsSold": -97253000000, "thirdPartyMaterialsAndServices": -140304000000, "lossOrRecoveryOfAssets": -8347000000, "otherSupplies": -46306000000, "grossAddedValue": 457347000000, "retentions": -84388000000, "depreciationAndAmortization": -84388000000, "otherRetentions": 0, "netAddedValue": 372959000000, "netAddedValueProduced": null, "addedValueReceivedOnTransfer": 12695000000, "addedValueReceivedByTransfer": null, "equityIncomeResult": -242000000, "financialIncome": 8286000000, "otherValuesReceivedOnTransfer": 4651000000, "otherValuesReceivedByTransfer": null, "addedValueToDistribute": 385654000000, "totalAddedValueToDistribute": null, "distributionOfAddedValue": 385654000000, "teamRemuneration": 46406000000, "taxes": 207791000000, "federalTaxes": 142628000000, "stateTaxes": 64329000000, "municipalTaxes": 834000000, "remunerationOfThirdPartyCapitals": 20852000000, "equityRemuneration": null, "ownEquityRemuneration": 110605000000, "interestOnOwnEquity": 30682000000, "dividends": 10554000000, "retainedEarningsOrLoss": 68893000000, "nonControllingShareOfRetainedEarnings": 476000000, "otherDistributions": 0, "financialIntermediationRevenue": null, "revenueFromTheProvisionOfServices": null, "provisionOrReversalOfExpectedCreditRiskLosses": null, "financialIntermediationExpenses": null, "materialsEnergyAndOthers": null, "services": null, "lossOrRecoveryOfAssetValues": null, "thirdPartyEquityRemuneration": null, "insuranceOperationsRevenue": null, "complementaryPensionOperationsRevenue": null, "feesRevenue": null, "variationsOfTechnicalProvisions": null, "insuranceOperationsVariations": null, "pensionOperationsVariations": null, "otherVariations": null, "netOperatingRevenue": null, "claimsAndBenefits": null, "variationInDeferredSellingExpenses": null, "resultsOfCededReinsuranceOperations": null, "resultOfCoinsuranceOperationsAssigned": null } ] } ], "requestedAt": "2026-06-14T05:03:16.000Z", "took": 30 } }, "TreasuryListItem": { "type": "object", "properties": { "symbol": { "type": "string", "description": "Código do título: nome e vencimento em DDMMAAAA.", "example": "tesouro-selic-01032031" }, "bondType": { "type": "string", "description": "Nome do título no Tesouro Direto.", "example": "Tesouro Selic" }, "indexer": { "type": "string", "enum": [ "selic", "prefixado", "ipca", "igpm" ], "description": "Indexador do título. Renda+ e Educa+ usam `ipca`.", "example": "selic" }, "couponType": { "type": "string", "enum": [ "zero", "semestral" ], "description": "`semestral` para títulos com juros semestrais, `zero` para os demais.", "example": "zero" }, "maturityDate": { "type": "string", "nullable": true, "description": "Data de vencimento, no formato YYYY-MM-DD.", "example": "2031-03-01" }, "durationDays": { "type": "number", "nullable": true, "description": "Dias corridos da data-base até o vencimento.", "example": 1751 }, "baseDate": { "type": "string", "nullable": true, "description": "Data da taxa e do preço, no formato YYYY-MM-DD.", "example": "2026-05-15" }, "buyRate": { "type": "number", "nullable": true, "description": "Taxa indicativa de compra, em % a.a. O sentido muda por indexador. Veja `rateInfo`.", "example": 0.08 }, "sellRate": { "type": "number", "nullable": true, "description": "Taxa indicativa de venda, em % a.a. O sentido muda por indexador. Veja `rateInfo`.", "example": 0.09 }, "buyPrice": { "type": "number", "nullable": true, "description": "Preço unitário indicativo de compra, em reais.", "example": 18944.78 }, "sellPrice": { "type": "number", "nullable": true, "description": "Preço unitário indicativo de venda, em reais.", "example": 18925.53 }, "basePrice": { "type": "number", "nullable": true, "description": "Preço unitário base, em reais.", "example": 18925.53 }, "rateInfo": { "type": "object", "properties": { "rateType": { "type": "string", "enum": [ "spreadOverSelic", "nominalAnnualRate", "realAnnualRateOverIpca", "realAnnualRateOverIgpm" ], "description": "O que `buyRate` e `sellRate` medem.", "example": "spreadOverSelic" }, "rateUnit": { "type": "string", "description": "Unidade de `buyRate` e `sellRate`.", "example": "% a.a." }, "description": { "type": "string", "description": "Texto que explica como ler `buyRate` e `sellRate` neste título.", "example": "Para Tesouro Selic, buyRate e sellRate representam o spread em pontos percentuais ao ano sobre a taxa Selic, não a rentabilidade total do título." } }, "required": [ "rateType", "rateUnit", "description" ], "description": "Como ler `buyRate` e `sellRate`. O sentido muda por indexador." } }, "required": [ "symbol", "bondType", "indexer", "couponType", "maturityDate", "durationDays", "baseDate", "buyRate", "sellRate", "buyPrice", "sellPrice", "basePrice", "rateInfo" ] }, "TreasuryPaginationMeta": { "type": "object", "properties": { "page": { "type": "number" }, "limit": { "type": "number" }, "totalItems": { "type": "number" }, "totalPages": { "type": "number" }, "hasNextPage": { "type": "boolean" } }, "required": [ "page", "limit", "totalItems", "totalPages", "hasNextPage" ] }, "TreasuryListResponse": { "type": "object", "properties": { "results": { "type": "array", "items": { "$ref": "#/components/schemas/TreasuryListItem" } }, "pagination": { "$ref": "#/components/schemas/TreasuryPaginationMeta" }, "requestedAt": { "type": "string", "format": "date-time", "description": "Data e hora da requisição em ISO 8601.", "example": "2025-01-24T17:32:38.000Z" }, "took": { "type": "integer", "minimum": 0, "description": "Tempo de processamento, em milissegundos.", "example": 45 } }, "required": [ "results", "pagination", "requestedAt", "took" ] }, "TreasuryIndicatorsResponse": { "type": "object", "properties": { "results": { "type": "array", "items": { "$ref": "#/components/schemas/TreasuryListItem" } }, "requestedAt": { "type": "string", "format": "date-time", "description": "Data e hora da requisição em ISO 8601.", "example": "2025-01-24T17:32:38.000Z" }, "took": { "type": "integer", "minimum": 0, "description": "Tempo de processamento, em milissegundos.", "example": 45 } }, "required": [ "results", "requestedAt", "took" ] }, "TreasuryHistoryPoint": { "type": "object", "properties": { "baseDate": { "type": "string", "description": "Data da taxa e do preço, no formato YYYY-MM-DD.", "example": "2026-05-15" }, "buyRate": { "type": "number", "nullable": true, "description": "Taxa indicativa de compra, em % a.a. O sentido muda por indexador. Veja `rateInfo`.", "example": 0.08 }, "sellRate": { "type": "number", "nullable": true, "description": "Taxa indicativa de venda, em % a.a. O sentido muda por indexador. Veja `rateInfo`.", "example": 0.09 }, "buyPrice": { "type": "number", "nullable": true, "description": "Preço unitário indicativo de compra, em reais.", "example": 18944.78 }, "sellPrice": { "type": "number", "nullable": true, "description": "Preço unitário indicativo de venda, em reais.", "example": 18925.53 }, "basePrice": { "type": "number", "nullable": true, "description": "Preço unitário base, em reais.", "example": 18925.53 } }, "required": [ "baseDate", "buyRate", "sellRate", "buyPrice", "sellPrice", "basePrice" ] }, "TreasuryHistorySeries": { "type": "object", "properties": { "symbol": { "type": "string", "example": "tesouro-selic-01032031" }, "bondType": { "type": "string", "description": "Nome do título no Tesouro Direto.", "example": "Tesouro Selic" }, "indexer": { "type": "string", "enum": [ "selic", "prefixado", "ipca", "igpm" ], "description": "Indexador do título. Renda+ e Educa+ usam `ipca`.", "example": "selic" }, "couponType": { "type": "string", "enum": [ "zero", "semestral" ], "description": "`semestral` para títulos com juros semestrais, `zero` para os demais.", "example": "zero" }, "maturityDate": { "type": "string", "nullable": true, "description": "Data de vencimento, no formato YYYY-MM-DD.", "example": "2031-03-01" }, "rateInfo": { "type": "object", "properties": { "rateType": { "type": "string", "enum": [ "spreadOverSelic", "nominalAnnualRate", "realAnnualRateOverIpca", "realAnnualRateOverIgpm" ], "description": "O que `buyRate` e `sellRate` medem.", "example": "spreadOverSelic" }, "rateUnit": { "type": "string", "description": "Unidade de `buyRate` e `sellRate`.", "example": "% a.a." }, "description": { "type": "string", "description": "Texto que explica como ler `buyRate` e `sellRate` neste título.", "example": "Para Tesouro Selic, buyRate e sellRate representam o spread em pontos percentuais ao ano sobre a taxa Selic, não a rentabilidade total do título." } }, "required": [ "rateType", "rateUnit", "description" ], "description": "Como ler `buyRate` e `sellRate`. O sentido muda por indexador." }, "history": { "type": "array", "items": { "$ref": "#/components/schemas/TreasuryHistoryPoint" } } }, "required": [ "symbol", "bondType", "indexer", "couponType", "maturityDate", "rateInfo", "history" ] }, "TreasuryIndicatorsHistoryResponse": { "type": "object", "properties": { "results": { "type": "array", "items": { "$ref": "#/components/schemas/TreasuryHistorySeries" } }, "requestedAt": { "type": "string", "format": "date-time", "description": "Data e hora da requisição em ISO 8601.", "example": "2025-01-24T17:32:38.000Z" }, "took": { "type": "integer", "minimum": 0, "description": "Tempo de processamento, em milissegundos.", "example": 45 } }, "required": [ "results", "requestedAt", "took" ], "example": { "results": [ { "symbol": "tesouro-selic-01032031", "bondType": "Tesouro Selic", "indexer": "selic", "couponType": "zero", "maturityDate": "2031-03-01", "rateInfo": { "rateType": "spreadOverSelic", "rateUnit": "% a.a.", "description": "Para Tesouro Selic, buyRate e sellRate representam o spread em pontos percentuais ao ano sobre a taxa Selic, não a rentabilidade total do título." }, "history": [ { "baseDate": "2026-05-15", "buyRate": 0.08, "sellRate": 0.09, "buyPrice": 18944.78, "sellPrice": 18925.53, "basePrice": 18925.53 } ] } ], "requestedAt": "2026-05-15T17:32:38.000Z", "took": 45 } }, "TickerRename": { "type": "object", "properties": { "oldSymbol": { "type": "string", "description": "Ticker antigo.", "example": "VVAR3" }, "newSymbol": { "type": "string", "description": "Ticker novo divulgado no evento.", "example": "BHIA3" }, "canonicalSymbol": { "type": "string", "description": "Ticker atual. Se o ativo mudou de ticker mais de uma vez, é o último.", "example": "BHIA3" }, "effectiveDate": { "type": "string", "description": "Data de início da negociação do novo ticker no formato YYYY-MM-DD.", "example": "2021-08-16" }, "conversionRatio": { "type": "number", "minimum": 0, "exclusiveMinimum": true, "description": "Quantidade de ações novas por ação antiga. Presente quando houve conversão de ações.", "example": 1.1 } }, "required": [ "oldSymbol", "newSymbol", "canonicalSymbol", "effectiveDate" ] }, "TickerRenamesResponse": { "type": "object", "properties": { "results": { "type": "array", "items": { "$ref": "#/components/schemas/TickerRename" } }, "count": { "type": "number", "example": 2 }, "requestedAt": { "type": "string", "format": "date-time", "description": "Data e hora da requisição em ISO 8601.", "example": "2025-01-24T17:32:38.000Z" }, "took": { "type": "integer", "minimum": 0, "description": "Tempo de processamento, em milissegundos.", "example": 45 } }, "required": [ "results", "count", "requestedAt", "took" ] }, "TickerResolveResult": { "type": "object", "properties": { "requestedSymbol": { "type": "string", "description": "Ticker enviado na requisição.", "example": "VVAR3" }, "symbol": { "type": "string", "description": "Ticker atual. Use este nas próximas consultas.", "example": "BHIA3" }, "changed": { "type": "boolean", "description": "`true` quando o ticker enviado foi trocado pelo ticker atual.", "example": true }, "status": { "type": "string", "enum": [ "active", "renamed" ], "description": "`renamed` quando o ticker enviado mudou. `active` quando não há renome conhecido.", "example": "renamed" }, "effectiveDate": { "type": "string", "nullable": true, "description": "Data de início da negociação do novo ticker. Nulo quando não há mudança.", "example": "2021-08-16" }, "conversionRatio": { "type": "number", "minimum": 0, "exclusiveMinimum": true, "description": "Quantidade de ações novas por ação antiga. Presente quando houve conversão de ações.", "example": 1.1 } }, "required": [ "requestedSymbol", "symbol", "changed", "status", "effectiveDate" ] }, "TickerResolveResponse": { "type": "object", "properties": { "results": { "type": "array", "items": { "$ref": "#/components/schemas/TickerResolveResult" } }, "requestedAt": { "type": "string", "format": "date-time", "description": "Data e hora da requisição em ISO 8601.", "example": "2025-01-24T17:32:38.000Z" }, "took": { "type": "integer", "minimum": 0, "description": "Tempo de processamento, em milissegundos.", "example": 45 } }, "required": [ "results", "requestedAt", "took" ] }, "TickerAvailableData": { "type": "object", "properties": { "ticker": { "type": "boolean", "example": true }, "quote": { "type": "boolean", "example": true }, "historical": { "type": "boolean", "example": true }, "stockDividends": { "type": "boolean", "example": true }, "fiiDividends": { "type": "boolean", "example": false }, "profile": { "type": "boolean", "example": true }, "statistics": { "type": "boolean", "example": true }, "financialStatements": { "type": "boolean", "example": true }, "fiiIndicators": { "type": "boolean", "example": false }, "fiiReports": { "type": "boolean", "example": false }, "fiiPortfolio": { "type": "boolean", "example": false }, "fiiProperties": { "type": "boolean", "example": false } }, "required": [ "ticker", "quote", "historical", "stockDividends", "fiiDividends", "profile", "statistics", "financialStatements", "fiiIndicators", "fiiReports", "fiiPortfolio", "fiiProperties" ] }, "TickerCoverageResult": { "type": "object", "properties": { "requestedSymbol": { "type": "string", "description": "Ticker enviado na requisição.", "example": "VVAR3" }, "symbol": { "type": "string", "description": "Ticker atual usado na verificação.", "example": "BHIA3" }, "changed": { "type": "boolean", "description": "`true` quando o ticker enviado foi trocado pelo ticker atual.", "example": true }, "status": { "type": "string", "enum": [ "available", "renamed", "unknown", "wrong_endpoint" ], "description": "`available`: o ticker tem dados. `renamed`: o ticker mudou e tem dados. `unknown`: o ticker não foi encontrado. `wrong_endpoint`: o ticker é de uma opção.", "example": "renamed" }, "assetType": { "type": "string", "nullable": true, "description": "Tipo do ativo. Pode ser nulo.", "example": "stock" }, "subType": { "type": "string", "nullable": true, "description": "Subtipo do ativo. Pode ser nulo.", "example": "stock" }, "availableData": { "$ref": "#/components/schemas/TickerAvailableData" }, "recommendedEndpoints": { "type": "object", "additionalProperties": { "type": "string" }, "description": "Endpoints para consultar os dados do ticker.", "example": { "ticker": "/api/v2/tickers?search=BHIA3", "quote": "/api/v2/stocks/quote?symbols=BHIA3", "historical": "/api/v2/stocks/historical?symbols=BHIA3&range=1y&interval=1d", "dividends": "/api/v2/stocks/dividends?symbols=BHIA3" } } }, "required": [ "requestedSymbol", "symbol", "changed", "status", "assetType", "subType", "availableData", "recommendedEndpoints" ] }, "TickerCoverageResponse": { "type": "object", "properties": { "results": { "type": "array", "items": { "$ref": "#/components/schemas/TickerCoverageResult" } }, "requestedAt": { "type": "string", "format": "date-time", "description": "Data e hora da requisição em ISO 8601.", "example": "2025-01-24T17:32:38.000Z" }, "took": { "type": "integer", "minimum": 0, "description": "Tempo de processamento, em milissegundos.", "example": 45 } }, "required": [ "results", "requestedAt", "took" ] }, "TickerIndexItem": { "type": "object", "properties": { "symbol": { "type": "string", "example": "^BVSP" }, "name": { "type": "string", "example": "IBOVESPA" }, "exchange": { "type": "string", "enum": [ "B3" ], "example": "B3" }, "assetType": { "type": "string", "enum": [ "index" ], "example": "index" } }, "required": [ "symbol", "name", "exchange", "assetType" ] }, "TickerFacets": { "type": "object", "properties": { "sectors": { "type": "array", "items": { "type": "string" }, "description": "Valores aceitos em `sector`." }, "subsectors": { "type": "array", "items": { "type": "string" }, "description": "Valores aceitos em `subsector`." }, "assetTypes": { "type": "array", "items": { "type": "string" }, "description": "Valores aceitos em `type`.", "example": [ "stock", "fund", "bdr" ] }, "subTypes": { "type": "array", "items": { "type": "string" }, "description": "Valores aceitos em `subType`.", "example": [ "stock", "unit", "fii", "etf", "bdr" ] } }, "required": [ "sectors", "subsectors", "assetTypes", "subTypes" ] }, "TickerListResponse": { "type": "object", "properties": { "results": { "type": "array", "items": { "$ref": "#/components/schemas/TickerListItem" } }, "indexes": { "type": "array", "items": { "$ref": "#/components/schemas/TickerIndexItem" } }, "facets": { "$ref": "#/components/schemas/TickerFacets" }, "pagination": { "$ref": "#/components/schemas/TickerPagination" }, "requestedAt": { "type": "string", "format": "date-time", "description": "Data e hora da requisição em ISO 8601.", "example": "2025-01-24T17:32:38.000Z" }, "took": { "type": "integer", "minimum": 0, "description": "Tempo de processamento, em milissegundos.", "example": 45 } }, "required": [ "results", "indexes", "facets", "pagination", "requestedAt", "took" ] }, "UserUsageWindow": { "type": "object", "properties": { "type": { "type": "string", "enum": [ "billing-cycle", "rolling-30d" ] }, "start": { "type": "string", "format": "date-time" }, "end": { "type": "string", "format": "date-time" } }, "required": [ "type", "start", "end" ] }, "UserSubscriptionPeriod": { "type": "object", "properties": { "start": { "type": "string", "nullable": true, "format": "date-time" }, "end": { "type": "string", "nullable": true, "format": "date-time" } }, "required": [ "start", "end" ] }, "UserUsageData": { "type": "object", "properties": { "planName": { "type": "string", "enum": [ "free", "startup", "pro" ] }, "planLimit": { "type": "integer", "minimum": 0 }, "currentUsage": { "type": "integer", "minimum": 0 }, "remainingUsage": { "type": "integer", "minimum": 0 }, "usageWindow": { "$ref": "#/components/schemas/UserUsageWindow" }, "subscriptionPeriod": { "$ref": "#/components/schemas/UserSubscriptionPeriod" } }, "required": [ "planName", "planLimit", "currentUsage", "remainingUsage", "usageWindow", "subscriptionPeriod" ] }, "UserUsageResponse": { "type": "object", "properties": { "usage": { "$ref": "#/components/schemas/UserUsageData" }, "requestedAt": { "type": "string", "format": "date-time", "description": "Data e hora da requisição em ISO 8601.", "example": "2025-01-24T17:32:38.000Z" }, "took": { "type": "integer", "minimum": 0, "description": "Tempo de processamento, em milissegundos.", "example": 45 } }, "required": [ "usage", "requestedAt", "took" ], "example": { "usage": { "planName": "pro", "planLimit": 500000, "currentUsage": 1248, "remainingUsage": 498752, "usageWindow": { "type": "billing-cycle", "start": "2026-04-01T00:00:00.000Z", "end": "2026-05-01T00:00:00.000Z" }, "subscriptionPeriod": { "start": "2026-04-01T00:00:00.000Z", "end": "2026-05-01T00:00:00.000Z" } }, "requestedAt": "2026-04-07T20:45:10.000Z", "took": 18 } } }, "parameters": {} }, "paths": { "/health": { "get": { "tags": [ "Utilitários" ], "operationId": "getHealth", "summary": "Status da API", "description": "\nMostra se a API está no ar. `status` é sempre `ok` quando a API responde.\n\nUse em monitores de disponibilidade e checks de CI.\n\n`timestamp` é a hora da verificação em ISO 8601 e `uptime` é o tempo no ar em\nsegundos. `database.status` vale `ok` ou `error` e `database.latencyMs`\ntraz a latência da verificação interna. Endpoint público, sem token.\n", "parameters": [ { "schema": { "type": "string", "enum": [ "json" ], "description": "Formato da resposta. Só aceita json." }, "required": false, "name": "format", "in": "query" } ], "responses": { "200": { "description": "API operando normalmente.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HealthResponse" } } } } } } }, "/api/available": { "get": { "tags": [ "Utilitários" ], "operationId": "getAvailable", "summary": "Listar tickers disponíveis", "description": "\nLista simples de tickers aceitos pela API: ativos brasileiros, como ações, FIIs, BDRs e ETFs, em `stocks`, e índices em `indexes`.\n\nUse para validar um ticker ou preencher uma lista de opções.\n\n`search` filtra por parte do ticker. Tickers antigos não entram na lista. A lista é atualizada a cada 15 minutos.\n\nNão exige token. Para filtros por setor e tipo, use a [lista de tickers](https://brapi.dev/docs/tickers).\n", "parameters": [ { "schema": { "type": "string", "description": "Parte do ticker. Filtra ativos e índices.", "example": "PETR" }, "required": false, "name": "search", "in": "query" } ], "responses": { "200": { "description": "Tickers de ativos e índices.", "headers": { "Cache-Control": { "schema": { "type": "string" }, "description": "Política de cache: s-maxage=900, stale-while-revalidate." } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AvailableResponse" } } } }, "500": { "description": "Erro interno do servidor.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } } } }, "/api/v2/crypto": { "get": { "tags": [ "Criptomoedas" ], "operationId": "getCrypto", "summary": "Cotação de criptomoedas", "description": "\nCotação de uma ou mais criptomoedas, com preço, variação, máxima, mínima e\nvolume de 24 horas. O preço vem na moeda de `currency`, com BRL como padrão.\n\nUse para mostrar preços de cripto, montar carteiras e gerar gráficos.\n\nPeça várias moedas em `coin`, como `coin=BTC,ETH,SOL`. Para o histórico,\npasse `range` ou `interval`, como `range=1mo&interval=1d`. A resposta\ntraz os pontos em `historicalDataPrice` e o período aplicado em\n`usedRange` e `usedInterval`. Intervalos curtos limitam o período.\n\nO histórico diário aceita `startDate` e `endDate` no formato YYYY-MM-DD,\ncom `interval=1d` ou sem intervalo. Use datas sem `range`.\nSem data inicial, o período é de 30 dias até a data final.\nAs datas são inclusivas. `usedRange` vem como `custom` em consultas por data.\n`range=max&interval=1d` retorna todos os dias disponíveis, sem limite de\n1.000 pontos. O histórico diário inclui somente dias completos em UTC.\nA primeira data depende da criptomoeda. Se a cotação atual estiver\nindisponível, os campos de cotação usam o último dia completo disponível.\nNesse caso, a variação e o volume também correspondem a esse dia em UTC.\nConfira a data em `regularMarketTime`.\n\nCripto negocia 24 horas por dia. A variação é uma janela móvel de 24 horas.\nO histórico usa o câmbio diário da data de fechamento em UTC. Em dias sem\ncotação de câmbio, usa a última cotação disponível até essa data. Todos os\npreços de um ponto usam esse câmbio. Moedas vinculadas ao dólar usam\nparidade de 1:1 com USD. A conversão histórica aceita BRL, USD, EUR, GBP,\nJPY, CHF, CAD, AUD, DKK, NOK e SEK. Sem câmbio histórico disponível, os\npreços do ponto vêm como `null`. O campo `currencyRateFromUSD` informa\no câmbio atual, não o câmbio de cada ponto histórico.\n`marketCap` vem sempre como 0.\n\nUma sigla indisponível retorna 400, inclusive em chamadas com várias siglas. Uma cotação ausente ou inválida retorna 503.\n\nVeja as siglas em [listar criptomoedas](https://brapi.dev/docs/criptomoedas/available).\nPlanos Startup e Pro. Os períodos e intervalos aceitos dependem do plano.\n", "security": [ { "Bearer": [] } ], "parameters": [ { "schema": { "type": "string", "description": "Siglas das criptomoedas, separadas por vírgula. Ex.: BTC,ETH.", "example": "BTC,ETH" }, "required": false, "name": "coin", "in": "query" }, { "schema": { "type": "string", "description": "Moeda da cotação, como BRL, USD ou EUR. Padrão: BRL.", "example": "BRL" }, "required": false, "name": "currency", "in": "query" }, { "schema": { "type": "string", "description": "Data inicial do histórico diário no formato YYYY-MM-DD. Use sem range.", "example": "2020-01-01" }, "required": false, "name": "startDate", "in": "query" }, { "schema": { "type": "string", "description": "Data final inclusiva do histórico diário no formato YYYY-MM-DD. Padrão: hoje.", "example": "2026-10-04" }, "required": false, "name": "endDate", "in": "query" }, { "schema": { "type": "string", "description": "Período do histórico, como 5d, 1mo ou 1y. Padrão: 1mo quando há histórico." }, "required": false, "name": "range", "in": "query" }, { "schema": { "type": "string", "description": "Intervalo entre os pontos do histórico, como 1h ou 1d. Padrão: 1d." }, "required": false, "name": "interval", "in": "query" } ], "responses": { "200": { "description": "Cotações das criptomoedas solicitadas na moeda especificada retornadas com sucesso.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CryptoResponseSimple" } } } }, "400": { "description": "**Requisição Inválida.** Parâmetro `coin` não fornecido ou inválido.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Requisição inválida. Um parâmetro falta ou tem valor incorreto.", "example": { "error": true, "message": "Parâmetros inválidos", "code": "BAD_REQUEST" } } ] } } } }, "401": { "description": "**Não Autorizado.** Token de autenticação não fornecido ou inválido.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Token ausente ou inválido.", "example": { "error": true, "message": "Token de autenticação inválido ou ausente", "code": "UNAUTHORIZED" } } ] } } } }, "403": { "description": "**Acesso Proibido.** Seu plano não tem acesso ao módulo de criptomoedas.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Acesso negado. O plano não inclui este recurso.", "example": { "error": true, "message": "Você não tem permissão para acessar este recurso", "code": "FORBIDDEN" } } ] } } } }, "429": { "description": "Limite de requisições excedido.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Limite de requisições excedido.", "example": { "error": true, "message": "Limite de requisições excedido. Tente novamente mais tarde.", "code": "RATE_LIMIT_EXCEEDED" } } ] } } } }, "500": { "description": "**Erro Interno.** Erro interno ao processar a requisição.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "503": { "description": "**Serviço Indisponível.** Cotação ausente, inválida ou serviço temporariamente indisponível.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Serviço temporariamente indisponível.", "example": { "error": true, "message": "Serviço externo temporariamente indisponível. Tente novamente em alguns minutos.", "code": "EXTERNAL_API_ERROR" } } ] } } } } } } }, "/api/v2/crypto/available": { "get": { "tags": [ "Criptomoedas" ], "operationId": "getCryptoAvailable", "summary": "Listar criptomoedas", "description": "\nLista as siglas de criptomoedas que a\n[cotação de criptomoedas](https://brapi.dev/docs/criptomoedas) aceita.\n\nUse para montar seletores e validar siglas antes da chamada.\n\n`coins` é uma lista de siglas. Passe cada sigla no parâmetro `coin` da\ncotação. Filtre com `search`. Planos Startup e Pro.\n", "security": [ { "Bearer": [] } ], "parameters": [ { "schema": { "type": "string", "description": "Texto buscado na sigla da criptomoeda.", "example": "BTC" }, "required": false, "name": "search", "in": "query" } ], "responses": { "200": { "description": "Lista de símbolos de criptomoedas disponíveis retornada com sucesso.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CryptoAvailableResponse" } } } } } } }, "/api/v2/currency": { "get": { "tags": [ "Câmbio" ], "operationId": "getCurrency", "summary": "Cotação de câmbio", "description": "\nCotação atual de pares de moedas, com preço de compra, preço de venda, máxima,\nmínima e variação do dia. Os pares cobertos pelo Banco Central usam a PTAX.\n\nUse para converter valores, mostrar o dólar do dia e atualizar planilhas.\n\nInforme os pares em `currency` no formato `ORIGEM-DESTINO`, como\n`USD-BRL,EUR-BRL`. Os números vêm como texto.\n\nA diferença entre `bidPrice` e `askPrice` é o spread de referência. Bancos e\ncasas de câmbio cobram um spread maior.\n\nVeja os pares em [listar pares](https://brapi.dev/docs/moedas/available) e a\nsérie diária em [histórico de câmbio](https://brapi.dev/docs/moedas/historico).\nPlanos Startup e Pro.\n", "security": [ { "Bearer": [] } ], "parameters": [ { "schema": { "type": "string", "description": "Pares no formato ORIGEM-DESTINO, separados por vírgula. Ex.: USD-BRL,EUR-BRL.", "example": "USD-BRL" }, "required": false, "name": "currency", "in": "query" } ], "responses": { "200": { "description": "Cotações dos pares de moedas solicitados retornadas com sucesso.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CurrencyResponseSimple" } } } }, "400": { "description": "**Requisição Inválida.** Parâmetro `currency` não fornecido ou formato inválido.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Requisição inválida. Um parâmetro falta ou tem valor incorreto.", "example": { "error": true, "message": "Parâmetros inválidos", "code": "BAD_REQUEST" } } ] } } } }, "401": { "description": "**Não Autorizado.** Token de autenticação não fornecido ou inválido.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Token ausente ou inválido.", "example": { "error": true, "message": "Token de autenticação inválido ou ausente", "code": "UNAUTHORIZED" } } ] } } } }, "403": { "description": "**Acesso Proibido.** Seu plano não tem acesso ao módulo de câmbio.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Acesso negado. O plano não inclui este recurso.", "example": { "error": true, "message": "Você não tem permissão para acessar este recurso", "code": "FORBIDDEN" } } ] } } } }, "500": { "description": "**Erro Interno.** Erro interno ao processar a requisição.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "503": { "description": "**Serviço Indisponível.** Serviço externo temporariamente indisponível.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Serviço temporariamente indisponível.", "example": { "error": true, "message": "Serviço externo temporariamente indisponível. Tente novamente em alguns minutos.", "code": "EXTERNAL_API_ERROR" } } ] } } } } } } }, "/api/v2/currency/historical": { "get": { "tags": [ "Câmbio" ], "operationId": "getCurrencyHistorical", "summary": "Histórico de câmbio", "description": "\nSérie diária de câmbio pela PTAX de fechamento do Banco Central. Cobre USD, EUR,\nGBP, JPY, CHF, CAD, AUD, DKK, NOK e SEK contra o real e entre si.\n\nUse para backtests, conversão de valores em datas passadas e gráficos de câmbio.\n\nHá três tipos de par:\n\n- Direto, como `USD-BRL`: planos Startup e Pro.\n- Inverso, como `BRL-USD`: calculado como `1 / USD-BRL`. Só no plano Pro.\n- Cruzado, como `EUR-USD`: calculado como `EUR-BRL / USD-BRL` nas datas em\n que as duas séries têm valor. Só no plano Pro.\n\nPeça até 20 pares por chamada. Sem datas, a janela é dos últimos 12 meses. A\nPTAX sai uma vez por dia útil, então não há pontos em fins de semana e\nferiados.\n\nUm par não aceito ou fora do plano gera um item em `errors` e não derruba os\noutros pares. Para cripto, use a\n[cotação de criptomoedas](https://brapi.dev/docs/criptomoedas).\n", "security": [ { "Bearer": [] } ], "parameters": [ { "schema": { "type": "string", "description": "Pares no formato ORIGEM-DESTINO, separados por vírgula, até 20. Ex.: USD-BRL,EUR-BRL.", "example": "USD-BRL,EUR-BRL" }, "required": true, "name": "currency", "in": "query" }, { "schema": { "type": "string", "pattern": "^\\d{4}-\\d{2}-\\d{2}$", "description": "Data inicial no formato YYYY-MM-DD. Padrão: 12 meses atrás.", "example": "2024-01-01" }, "required": false, "name": "startDate", "in": "query" }, { "schema": { "type": "string", "pattern": "^\\d{4}-\\d{2}-\\d{2}$", "description": "Data final no formato YYYY-MM-DD. Padrão: hoje.", "example": "2024-12-31" }, "required": false, "name": "endDate", "in": "query" }, { "schema": { "type": "string", "enum": [ "asc", "desc" ], "description": "Ordem por data. Padrão: desc.", "example": "desc" }, "required": false, "name": "sortOrder", "in": "query" }, { "schema": { "type": "integer", "minimum": 0, "exclusiveMinimum": true, "description": "Máximo de pontos por par. Padrão: 365.", "example": 365 }, "required": false, "name": "limit", "in": "query" } ], "responses": { "200": { "description": "Histórico de cotações PTAX retornado com sucesso.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CurrencyHistoricalResponse" } } } }, "400": { "description": "**Requisição Inválida.** Parâmetros ausentes ou inválidos.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Requisição inválida. Um parâmetro falta ou tem valor incorreto.", "example": { "error": true, "message": "Parâmetros inválidos", "code": "BAD_REQUEST" } } ] } } } }, "401": { "description": "**Não Autorizado.**", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Token ausente ou inválido.", "example": { "error": true, "message": "Token de autenticação inválido ou ausente", "code": "UNAUTHORIZED" } } ] } } } }, "403": { "description": "**Acesso Proibido.** Plano sem acesso ao módulo de câmbio.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Acesso negado. O plano não inclui este recurso.", "example": { "error": true, "message": "Você não tem permissão para acessar este recurso", "code": "FORBIDDEN" } } ] } } } }, "500": { "description": "**Erro Interno.**", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } } } }, "/api/v2/currency/available": { "get": { "tags": [ "Câmbio" ], "operationId": "getCurrencyAvailable", "summary": "Listar pares de moedas", "description": "\nLista os pares de moedas que a [cotação de câmbio](https://brapi.dev/docs/moedas)\naceita, no formato `ORIGEM-DESTINO`, com o nome de cada par.\n\nUse para montar seletores de moeda e validar pares antes da chamada.\n\nFiltre com `search`. Planos Startup e Pro.\n", "security": [ { "Bearer": [] } ], "parameters": [ { "schema": { "type": "string", "description": "Texto buscado no par e no nome das moedas.", "example": "USD" }, "required": false, "name": "search", "in": "query" } ], "responses": { "200": { "description": "Lista de pares de moedas disponíveis retornada com sucesso.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CurrencyAvailableResponse" } } } } } } }, "/api/v2/dictionary": { "get": { "tags": [ "Utilitários" ], "operationId": "getDictionary", "summary": "Dicionário de campos", "description": "\nLista os campos da API com nome em português, descrição, fórmula de cálculo,\ntipo, unidade, categoria e os endpoints onde cada campo aparece.\n\nUse para gerar rótulos e tooltips, formatar valores pela unidade e entender um\ncampo antes de usar.\n\n`category` filtra por área, como `fii`, `treasury` ou `balance-sheet`.\n`search` busca em chave, nome, descrição, categoria e endpoints. Os dois\nfuncionam juntos. Endpoint público, sem token.\n", "parameters": [ { "schema": { "type": "string", "description": "Texto buscado em key, label, description, category e endpoints. Ignora maiúsculas.", "example": "patrimônio" }, "required": false, "name": "search", "in": "query" }, { "schema": { "type": "string", "description": "Categoria exata do campo. Ex.: fii, treasury, quote, balance-sheet.", "example": "treasury" }, "required": false, "name": "category", "in": "query" } ], "responses": { "200": { "description": "Campos do dicionário.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/DictionaryResponse" } } } } } } }, "/api/v2/fii/list": { "get": { "tags": [ "Fundos Imobiliários" ], "operationId": "listFii", "summary": "Listar FIIs", "description": "\nLista paginada de FIIs com dados cadastrais, dados do administrador e indicadores atuais: preço, valor patrimonial por cota, P/VP, dividend yield de 12 meses e total de cotistas.\n\nUse para montar um screener, filtrar fundos por segmento ou achar o ticker de um CNPJ.\n\n`search` busca no nome, no ticker e no CNPJ. `segmentoAtuacao` aceita valores como Logística, Shoppings, Escritórios, Lajes Corporativas, Títulos e Val. Mob., Residencial, Hospital, Hotel, Educacional, Híbrido, Multicategoria, Varejo e Outros.\n\n`sortBy` aceita `symbol`, `name`, `segmentoAtuacao`, `mandate`, `price`, `navPerShare`, `priceToNav`, `dividendYield12m` e `totalInvestors`. O padrão é `totalInvestors`.\n\nNem todo ticker terminado em 11 é FII. FI-Infra (como JURO11), FIAGRO, FIDC e FIP ficam em [fundos](https://brapi.dev/docs/fundos).\n\nPlano Pro. Sem token, aceita só `symbols` ou `cnpjs` de MXRF11 e HGLG11.\n", "security": [ { "Bearer": [] } ], "parameters": [ { "schema": { "type": "integer", "minimum": 0, "exclusiveMinimum": true, "default": 1, "description": "Número da página, a partir de 1.", "example": 1 }, "required": false, "name": "page", "in": "query" }, { "schema": { "type": "integer", "minimum": 0, "exclusiveMinimum": true, "default": 20, "description": "Itens por página. Não há limite máximo.", "example": 20 }, "required": false, "name": "limit", "in": "query" }, { "schema": { "type": "string", "description": "Campo de ordenação.", "example": "referenceDate" }, "required": false, "name": "sortBy", "in": "query" }, { "schema": { "type": "string", "enum": [ "asc", "desc" ], "default": "desc", "description": "Direção da ordenação.", "example": "desc" }, "required": false, "name": "sortOrder", "in": "query" }, { "schema": { "type": "string", "description": "Tickers de FIIs separados por vírgula, até 20.", "example": "HGLG11,MXRF11" }, "required": false, "name": "symbols", "in": "query" }, { "schema": { "type": "string", "description": "CNPJs de FIIs separados por vírgula, até 20. Aceita com ou sem pontuação.", "example": "11728688000147" }, "required": false, "name": "cnpjs", "in": "query" }, { "schema": { "type": "string", "description": "Texto buscado no nome, no ticker ou no CNPJ.", "example": "hglg" }, "required": false, "name": "search", "in": "query" }, { "schema": { "type": "string", "enum": [ "papel", "tijolo", "hibrido", "fof" ], "description": "Tipo do fundo: papel, tijolo, hibrido ou fof." }, "required": false, "name": "segmentType", "in": "query" }, { "schema": { "type": "string", "description": "Setor de atuação. Ex.: Logística, Shoppings, Escritórios." }, "required": false, "name": "segmentoAtuacao", "in": "query" }, { "schema": { "type": "string", "description": "Mandato do fundo. Ex.: Renda, Híbrido, Títulos e Valores Mobiliários." }, "required": false, "name": "mandate", "in": "query" }, { "schema": { "type": "string", "description": "Tipo de gestão: Ativa ou Definida." }, "required": false, "name": "tipoGestao", "in": "query" } ], "responses": { "200": { "description": "Lista paginada de FIIs.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/FiiListResponse" } } } }, "401": { "description": "Token ausente ou inválido.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Token ausente ou inválido.", "example": { "error": true, "message": "Token de autenticação inválido ou ausente", "code": "UNAUTHORIZED" } } ] } } } }, "403": { "description": "O plano não inclui este recurso ou parâmetro.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Acesso negado. O plano não inclui este recurso.", "example": { "error": true, "message": "Você não tem permissão para acessar este recurso", "code": "FORBIDDEN" } } ] } } } }, "500": { "description": "Erro interno do servidor.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } } } }, "/api/v2/fii/indicators": { "get": { "tags": [ "Fundos Imobiliários" ], "operationId": "getFiiIndicators", "summary": "Indicadores de FIIs", "description": "\nIndicadores mais recentes de um ou mais FIIs: preço, valor patrimonial por cota, P/VP, dividend yield de 1 e 12 meses, retorno mensal, cotistas, cotas emitidas, patrimônio líquido, ativo total, segmento e dados do administrador.\n\nUse para comparar FIIs, mostrar o P/VP e o yield de uma cota, ou montar a ficha de um fundo.\n\n`priceToNav` abaixo de 1 indica que a cota negocia abaixo do valor patrimonial.\n\nPara a série mensal, use o [histórico de indicadores](https://brapi.dev/docs/fiis/indicadores-historico).\n\nPlano Pro. Sem token, aceita só `symbols` com MXRF11 e HGLG11.\n", "security": [ { "Bearer": [] } ], "parameters": [ { "schema": { "type": "string", "description": "Tickers de FIIs separados por vírgula, até 20. Ex.: HGLG11,MXRF11.", "example": "HGLG11,MXRF11" }, "required": true, "name": "symbols", "in": "query" } ], "responses": { "200": { "description": "Indicadores atuais dos FIIs.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/FiiIndicatorsResponse" } } } }, "400": { "description": "Requisição inválida. Confira os parâmetros.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Requisição inválida. Um parâmetro falta ou tem valor incorreto.", "example": { "error": true, "message": "Parâmetros inválidos", "code": "BAD_REQUEST" } } ] } } } }, "401": { "description": "Token ausente ou inválido.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Token ausente ou inválido.", "example": { "error": true, "message": "Token de autenticação inválido ou ausente", "code": "UNAUTHORIZED" } } ] } } } }, "403": { "description": "O plano não inclui este recurso ou parâmetro.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Acesso negado. O plano não inclui este recurso.", "example": { "error": true, "message": "Você não tem permissão para acessar este recurso", "code": "FORBIDDEN" } } ] } } } }, "404": { "description": "Nenhum dado encontrado para o pedido.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Nenhum dado encontrado para o pedido.", "example": { "error": true, "message": "Recurso não encontrado", "code": "NOT_FOUND" } } ] } } } }, "500": { "description": "Erro interno do servidor.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } } } }, "/api/v2/fii/indicators/history": { "get": { "tags": [ "Fundos Imobiliários" ], "operationId": "getFiiIndicatorsHistory", "summary": "Histórico de indicadores de FIIs", "description": "\nSérie mensal dos [indicadores de FIIs](https://brapi.dev/docs/fiis/indicadores): um ponto por mês, com `referenceDate` no último dia do mês. O histórico começa em setembro de 2016.\n\nUse para gráficos de P/VP e dividend yield, e para comparar um fundo com o próprio passado.\n\nSem `startDate` e `endDate`, retorna os últimos 12 meses. `sortBy` aceita `referenceDate` (padrão), `symbol`, `price`, `navPerShare`, `priceToNav`, `dividendYield12m`, `dividendYield1m`, `monthlyReturn` e `totalInvestors`.\n\nPlano Pro. Sem token, aceita só `symbols` com MXRF11 e HGLG11.\n", "security": [ { "Bearer": [] } ], "parameters": [ { "schema": { "type": "string", "description": "Tickers de FIIs separados por vírgula, até 20. Ex.: HGLG11,MXRF11.", "example": "HGLG11,MXRF11" }, "required": true, "name": "symbols", "in": "query" }, { "schema": { "type": "string", "description": "Data inicial no formato YYYY-MM-DD.", "example": "2024-01-01" }, "required": false, "name": "startDate", "in": "query" }, { "schema": { "type": "string", "description": "Data final no formato YYYY-MM-DD.", "example": "2025-12-31" }, "required": false, "name": "endDate", "in": "query" }, { "schema": { "type": "string", "description": "Campo de ordenação.", "example": "referenceDate" }, "required": false, "name": "sortBy", "in": "query" }, { "schema": { "type": "string", "enum": [ "asc", "desc" ], "default": "desc", "description": "Direção da ordenação.", "example": "desc" }, "required": false, "name": "sortOrder", "in": "query" } ], "responses": { "200": { "description": "Série mensal de indicadores.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/FiiIndicatorsHistoryResponse" } } } }, "400": { "description": "Requisição inválida. Confira os parâmetros.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Requisição inválida. Um parâmetro falta ou tem valor incorreto.", "example": { "error": true, "message": "Parâmetros inválidos", "code": "BAD_REQUEST" } } ] } } } }, "401": { "description": "Token ausente ou inválido.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Token ausente ou inválido.", "example": { "error": true, "message": "Token de autenticação inválido ou ausente", "code": "UNAUTHORIZED" } } ] } } } }, "403": { "description": "O plano não inclui este recurso ou parâmetro.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Acesso negado. O plano não inclui este recurso.", "example": { "error": true, "message": "Você não tem permissão para acessar este recurso", "code": "FORBIDDEN" } } ] } } } }, "500": { "description": "Erro interno do servidor.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } } } }, "/api/v2/fii/historical": { "get": { "tags": [ "Fundos Imobiliários" ], "operationId": "getFiiHistoricalPrice", "summary": "Histórico de preços de FIIs", "description": "\nSérie diária de preços das cotas de FIIs: `open`, `high`, `low`, `close`, `volume` e `adjustedClose`, em reais. `date` é um timestamp UNIX em segundos.\n\nUse para gráficos de preço, cálculo de retorno e backtests.\n\nUse `adjustedClose` para calcular retorno. Ele considera desdobramentos e proventos. `close` não.\n\nSem `startDate` e `endDate`, retorna os últimos 12 meses. Cada símbolo tem a própria série em `historicalDataPrice`.\n\nPlano Pro. Sem token, aceita só `symbols` com MXRF11 e HGLG11.\n", "security": [ { "Bearer": [] } ], "parameters": [ { "schema": { "type": "string", "description": "Tickers de FIIs separados por vírgula, até 20. Ex.: HGLG11,MXRF11.", "example": "HGLG11,MXRF11" }, "required": true, "name": "symbols", "in": "query" }, { "schema": { "type": "string", "description": "Data inicial no formato YYYY-MM-DD.", "example": "2024-01-01" }, "required": false, "name": "startDate", "in": "query" }, { "schema": { "type": "string", "description": "Data final no formato YYYY-MM-DD.", "example": "2025-12-31" }, "required": false, "name": "endDate", "in": "query" }, { "schema": { "type": "string", "enum": [ "asc", "desc" ], "default": "desc", "description": "Direção da ordenação por data.", "example": "desc" }, "required": false, "name": "sortOrder", "in": "query" } ], "responses": { "200": { "description": "Série diária de preços por FII.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/FiiHistoricalResponse" } } } }, "400": { "description": "Requisição inválida. Confira os parâmetros.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Requisição inválida. Um parâmetro falta ou tem valor incorreto.", "example": { "error": true, "message": "Parâmetros inválidos", "code": "BAD_REQUEST" } } ] } } } }, "401": { "description": "Token ausente ou inválido.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Token ausente ou inválido.", "example": { "error": true, "message": "Token de autenticação inválido ou ausente", "code": "UNAUTHORIZED" } } ] } } } }, "403": { "description": "O plano não inclui este recurso ou parâmetro.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Acesso negado. O plano não inclui este recurso.", "example": { "error": true, "message": "Você não tem permissão para acessar este recurso", "code": "FORBIDDEN" } } ] } } } }, "404": { "description": "Nenhum dado encontrado para o pedido.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Nenhum dado encontrado para o pedido.", "example": { "error": true, "message": "Recurso não encontrado", "code": "NOT_FOUND" } } ] } } } }, "500": { "description": "Erro interno do servidor.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } } } }, "/api/v2/fii/portfolio": { "get": { "tags": [ "Fundos Imobiliários" ], "operationId": "getFiiPortfolio", "summary": "Carteira de FIIs", "description": "\nComposição da carteira de FIIs pelo informe trimestral da CVM: imóveis, CRIs e outros ativos financeiros, cotas de outros FIIs, terrenos e direitos, com totais em `summary`.\n\nUse para analisar FIIs de papel e fundos de fundos, ver os CRIs de um fundo ou somar a exposição por classe de ativo.\n\n`include` escolhe as listas. Sem `include`, retorna todas. `summary` sempre vem.\n\nEm fundos de fundos, `fundHoldings` lista as cotas de outros FIIs. Em FIIs de papel, `financialAssets` lista os CRIs com emissor e valor. `allocations` resume a carteira por classe de ativo.\n\nSem `referenceDate`, retorna o trimestre mais recente de cada fundo. Informes podem ser retificados. O padrão retorna a versão mais recente, e `allVersions=true` retorna todas.\n\nPara imóveis e vacância, use [imóveis de FIIs](https://brapi.dev/docs/fiis/imoveis). Para a série no tempo, use o [histórico da carteira](https://brapi.dev/docs/fiis/carteira-historico).\n\nPlano Pro. Sem token, aceita só `symbols` com MXRF11 e HGLG11.\n", "security": [ { "Bearer": [] } ], "parameters": [ { "schema": { "type": "string", "description": "Tickers de FIIs separados por vírgula, até 20. Ex.: HGLG11,MXRF11.", "example": "HGLG11,MXRF11" }, "required": true, "name": "symbols", "in": "query" }, { "schema": { "type": "string", "description": "Fim do trimestre no formato YYYY-MM-DD. Sem valor, retorna o trimestre mais recente de cada FII.", "example": "2025-03-31" }, "required": false, "name": "referenceDate", "in": "query" }, { "schema": { "type": "string", "description": "Listas a retornar, separadas por vírgula: allocations, properties, financialAssets, fundHoldings, lands, rights. summary sempre vem. Sem valor, retorna todas.", "example": "allocations,fundHoldings" }, "required": false, "name": "include", "in": "query" }, { "schema": { "type": "string", "enum": [ "true", "false" ], "default": "false", "description": "true inclui todas as versões do trimestre. false retorna só a mais recente.", "example": "false" }, "required": false, "name": "allVersions", "in": "query" } ], "responses": { "200": { "description": "Carteira dos FIIs.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/FiiPortfolioResponse" } } } }, "400": { "description": "Requisição inválida. Confira os parâmetros.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Requisição inválida. Um parâmetro falta ou tem valor incorreto.", "example": { "error": true, "message": "Parâmetros inválidos", "code": "BAD_REQUEST" } } ] } } } }, "401": { "description": "Token ausente ou inválido.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Token ausente ou inválido.", "example": { "error": true, "message": "Token de autenticação inválido ou ausente", "code": "UNAUTHORIZED" } } ] } } } }, "403": { "description": "O plano não inclui este recurso ou parâmetro.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Acesso negado. O plano não inclui este recurso.", "example": { "error": true, "message": "Você não tem permissão para acessar este recurso", "code": "FORBIDDEN" } } ] } } } }, "404": { "description": "Nenhum dado encontrado para o pedido.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Nenhum dado encontrado para o pedido.", "example": { "error": true, "message": "Recurso não encontrado", "code": "NOT_FOUND" } } ] } } } }, "500": { "description": "Erro interno do servidor.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } } } }, "/api/v2/fii/properties": { "get": { "tags": [ "Fundos Imobiliários" ], "operationId": "getFiiProperties", "summary": "Imóveis e vacância de FIIs", "description": "\nImóveis físicos de FIIs pelo informe trimestral da CVM, com área, endereço, classe, unidades, vacância, inadimplência e participação na receita de cada imóvel.\n\nUse para analisar FIIs de tijolo, medir a vacância de um fundo e ver quanto da receita depende de cada imóvel.\n\n`summary.vacancyRate` é a vacância do fundo, ponderada pela área quando o informe traz a área de cada imóvel. `vacancyRate`, `delinquencyRate` e `revenueShare` são frações decimais: `0.0328` é 3,28%.\n\nLeia `vacancyRate` junto com `revenueShare`. Um imóvel vago com 2% da receita pesa menos que um com 30%.\n\nSem `referenceDate`, retorna o trimestre mais recente de cada fundo. O padrão retorna a versão mais recente do informe, e `allVersions=true` retorna todas. Para a série no tempo, use o [histórico de imóveis](https://brapi.dev/docs/fiis/imoveis-historico).\n\nPlano Pro. Sem token, aceita só `symbols` com MXRF11 e HGLG11.\n", "security": [ { "Bearer": [] } ], "parameters": [ { "schema": { "type": "string", "description": "Tickers de FIIs separados por vírgula, até 20. Ex.: HGLG11,MXRF11.", "example": "HGLG11,MXRF11" }, "required": true, "name": "symbols", "in": "query" }, { "schema": { "type": "string", "description": "Fim do trimestre no formato YYYY-MM-DD. Sem valor, retorna o trimestre mais recente de cada FII.", "example": "2026-03-31" }, "required": false, "name": "referenceDate", "in": "query" }, { "schema": { "type": "string", "enum": [ "revenueShare", "area", "vacancyRate", "name" ], "default": "revenueShare", "description": "Campo de ordenação dos imóveis.", "example": "revenueShare" }, "required": false, "name": "sortBy", "in": "query" }, { "schema": { "type": "string", "enum": [ "asc", "desc" ], "default": "desc", "description": "Direção da ordenação dos imóveis.", "example": "desc" }, "required": false, "name": "sortOrder", "in": "query" }, { "schema": { "type": "string", "enum": [ "true", "false" ], "default": "false", "description": "true inclui todas as versões do trimestre. false retorna só a mais recente.", "example": "false" }, "required": false, "name": "allVersions", "in": "query" } ], "responses": { "200": { "description": "Imóveis e vacância dos FIIs.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/FiiPropertiesResponse" } } } }, "400": { "description": "Requisição inválida. Confira os parâmetros.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Requisição inválida. Um parâmetro falta ou tem valor incorreto.", "example": { "error": true, "message": "Parâmetros inválidos", "code": "BAD_REQUEST" } } ] } } } }, "401": { "description": "Token ausente ou inválido.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Token ausente ou inválido.", "example": { "error": true, "message": "Token de autenticação inválido ou ausente", "code": "UNAUTHORIZED" } } ] } } } }, "403": { "description": "O plano não inclui este recurso ou parâmetro.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Acesso negado. O plano não inclui este recurso.", "example": { "error": true, "message": "Você não tem permissão para acessar este recurso", "code": "FORBIDDEN" } } ] } } } }, "404": { "description": "Nenhum dado encontrado para o pedido.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Nenhum dado encontrado para o pedido.", "example": { "error": true, "message": "Recurso não encontrado", "code": "NOT_FOUND" } } ] } } } }, "500": { "description": "Erro interno do servidor.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } } } }, "/api/v2/fii/properties/history": { "get": { "tags": [ "Fundos Imobiliários" ], "operationId": "getFiiPropertiesHistory", "summary": "Histórico de imóveis de FIIs", "description": "\nSérie trimestral de imóveis e vacância de FIIs: um ponto por fundo, trimestre e versão do informe, com vacância, área total e quantidade de imóveis em `summary`.\n\nUse para gráficos de vacância e para acompanhar o tamanho da carteira física no tempo.\n\nA resposta não traz a lista de imóveis. Para os imóveis de um trimestre, use [imóveis de FIIs](https://brapi.dev/docs/fiis/imoveis) com `referenceDate`.\n\nSem `startDate` e `endDate`, retorna os últimos 12 meses. `sortBy` aceita `referenceDate` (padrão), `symbol`, `version`, `count`, `totalArea`, `vacancyRate`, `averageVacancyRate` e `propertiesWithVacancy`. `allVersions=true` inclui as versões retificadas.\n\nPlano Pro. Sem token, aceita só `symbols` com MXRF11 e HGLG11.\n", "security": [ { "Bearer": [] } ], "parameters": [ { "schema": { "type": "string", "description": "Tickers de FIIs separados por vírgula, até 20. Ex.: HGLG11,MXRF11.", "example": "HGLG11,MXRF11" }, "required": true, "name": "symbols", "in": "query" }, { "schema": { "type": "string", "description": "Data inicial no formato YYYY-MM-DD.", "example": "2024-01-01" }, "required": false, "name": "startDate", "in": "query" }, { "schema": { "type": "string", "description": "Data final no formato YYYY-MM-DD.", "example": "2025-12-31" }, "required": false, "name": "endDate", "in": "query" }, { "schema": { "type": "string", "description": "Campo de ordenação.", "example": "referenceDate" }, "required": false, "name": "sortBy", "in": "query" }, { "schema": { "type": "string", "enum": [ "asc", "desc" ], "default": "desc", "description": "Direção da ordenação.", "example": "desc" }, "required": false, "name": "sortOrder", "in": "query" }, { "schema": { "type": "string", "enum": [ "true", "false" ], "default": "false", "description": "true inclui todas as versões de cada trimestre. false retorna só a mais recente.", "example": "false" }, "required": false, "name": "allVersions", "in": "query" } ], "responses": { "200": { "description": "Série trimestral de imóveis e vacância.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/FiiPropertiesHistoryResponse" } } } }, "400": { "description": "Requisição inválida. Confira os parâmetros.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Requisição inválida. Um parâmetro falta ou tem valor incorreto.", "example": { "error": true, "message": "Parâmetros inválidos", "code": "BAD_REQUEST" } } ] } } } }, "401": { "description": "Token ausente ou inválido.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Token ausente ou inválido.", "example": { "error": true, "message": "Token de autenticação inválido ou ausente", "code": "UNAUTHORIZED" } } ] } } } }, "403": { "description": "O plano não inclui este recurso ou parâmetro.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Acesso negado. O plano não inclui este recurso.", "example": { "error": true, "message": "Você não tem permissão para acessar este recurso", "code": "FORBIDDEN" } } ] } } } }, "404": { "description": "Nenhum dado encontrado para o pedido.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Nenhum dado encontrado para o pedido.", "example": { "error": true, "message": "Recurso não encontrado", "code": "NOT_FOUND" } } ] } } } }, "500": { "description": "Erro interno do servidor.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } } } }, "/api/v2/fii/portfolio/history": { "get": { "tags": [ "Fundos Imobiliários" ], "operationId": "getFiiPortfolioHistory", "summary": "Histórico da carteira de FIIs", "description": "\nSérie trimestral da carteira de FIIs: um ponto por fundo, trimestre e versão do informe, com `summary` e `allocations` por classe de ativo.\n\nUse para ver como a alocação de um fundo mudou no tempo, por exemplo entre imóveis, CRIs e cotas de outros FIIs.\n\nA resposta não traz as listas item a item. Para o detalhe de um trimestre, use a [carteira de FIIs](https://brapi.dev/docs/fiis/carteira) com `referenceDate`.\n\nSem `startDate` e `endDate`, retorna os últimos 12 meses. `sortBy` aceita `referenceDate` (padrão), `symbol`, `version`, `totalItems`, `declaredValue` e `financialAssetsDeclaredValue`. `allVersions=true` inclui as versões retificadas.\n\nPlano Pro. Sem token, aceita só `symbols` com MXRF11 e HGLG11.\n", "security": [ { "Bearer": [] } ], "parameters": [ { "schema": { "type": "string", "description": "Tickers de FIIs separados por vírgula, até 20. Ex.: HGLG11,MXRF11.", "example": "HGLG11,MXRF11" }, "required": true, "name": "symbols", "in": "query" }, { "schema": { "type": "string", "description": "Data inicial no formato YYYY-MM-DD.", "example": "2024-01-01" }, "required": false, "name": "startDate", "in": "query" }, { "schema": { "type": "string", "description": "Data final no formato YYYY-MM-DD.", "example": "2025-12-31" }, "required": false, "name": "endDate", "in": "query" }, { "schema": { "type": "string", "description": "Campo de ordenação.", "example": "referenceDate" }, "required": false, "name": "sortBy", "in": "query" }, { "schema": { "type": "string", "enum": [ "asc", "desc" ], "default": "desc", "description": "Direção da ordenação.", "example": "desc" }, "required": false, "name": "sortOrder", "in": "query" }, { "schema": { "type": "string", "enum": [ "true", "false" ], "default": "false", "description": "true inclui todas as versões de cada trimestre. false retorna só a mais recente.", "example": "false" }, "required": false, "name": "allVersions", "in": "query" } ], "responses": { "200": { "description": "Série trimestral da carteira.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/FiiPortfolioHistoryResponse" } } } }, "400": { "description": "Requisição inválida. Confira os parâmetros.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Requisição inválida. Um parâmetro falta ou tem valor incorreto.", "example": { "error": true, "message": "Parâmetros inválidos", "code": "BAD_REQUEST" } } ] } } } }, "401": { "description": "Token ausente ou inválido.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Token ausente ou inválido.", "example": { "error": true, "message": "Token de autenticação inválido ou ausente", "code": "UNAUTHORIZED" } } ] } } } }, "403": { "description": "O plano não inclui este recurso ou parâmetro.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Acesso negado. O plano não inclui este recurso.", "example": { "error": true, "message": "Você não tem permissão para acessar este recurso", "code": "FORBIDDEN" } } ] } } } }, "404": { "description": "Nenhum dado encontrado para o pedido.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Nenhum dado encontrado para o pedido.", "example": { "error": true, "message": "Recurso não encontrado", "code": "NOT_FOUND" } } ] } } } }, "500": { "description": "Erro interno do servidor.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } } } }, "/api/v2/fii/reports": { "get": { "tags": [ "Fundos Imobiliários" ], "operationId": "getFiiReports", "summary": "Relatórios mensais de FIIs", "description": "\nInforme mensal que cada FII entrega à CVM: patrimônio, cotas, valor patrimonial por cota, taxa de administração, retorno e yield do mês, cotistas, e a composição do ativo e do passivo.\n\nUse para ver a composição do patrimônio, acompanhar taxas e comparar o retorno mensal entre fundos.\n\nO ativo separa caixa, títulos públicos e privados, fundos de renda fixa, imóveis, CRI, LCI, cotas de outros FIIs e recebíveis. O passivo separa distribuições a pagar, taxas a pagar e obrigações imobiliárias.\n\nSem `startDate` e `endDate`, retorna os últimos 12 meses. O padrão retorna a versão mais recente de cada mês, e `allVersions=true` inclui as versões retificadas. `sortBy` aceita `referenceDate` (padrão), `symbol`, `totalAssets`, `equity`, `navPerShare`, `monthlyReturn`, `monthlyDividendYield`, `totalInvestors` e `version`.\n\nPlano Pro. Sem token, aceita só `symbols` com MXRF11 e HGLG11.\n", "security": [ { "Bearer": [] } ], "parameters": [ { "schema": { "type": "string", "description": "Tickers de FIIs separados por vírgula, até 20. Ex.: HGLG11,MXRF11.", "example": "HGLG11,MXRF11" }, "required": true, "name": "symbols", "in": "query" }, { "schema": { "type": "string", "description": "Data inicial no formato YYYY-MM-DD.", "example": "2024-01-01" }, "required": false, "name": "startDate", "in": "query" }, { "schema": { "type": "string", "description": "Data final no formato YYYY-MM-DD.", "example": "2025-12-31" }, "required": false, "name": "endDate", "in": "query" }, { "schema": { "type": "string", "description": "Campo de ordenação.", "example": "referenceDate" }, "required": false, "name": "sortBy", "in": "query" }, { "schema": { "type": "string", "enum": [ "asc", "desc" ], "default": "desc", "description": "Direção da ordenação.", "example": "desc" }, "required": false, "name": "sortOrder", "in": "query" }, { "schema": { "type": "integer", "minimum": 0, "exclusiveMinimum": true, "default": 1, "description": "Número da página, a partir de 1.", "example": 1 }, "required": false, "name": "page", "in": "query" }, { "schema": { "type": "integer", "minimum": 0, "exclusiveMinimum": true, "default": 20, "description": "Itens por página. Não há limite máximo.", "example": 20 }, "required": false, "name": "limit", "in": "query" }, { "schema": { "type": "string", "enum": [ "true", "false" ], "default": "false", "description": "true inclui todas as versões de cada mês. false retorna só a mais recente.", "example": "false" }, "required": false, "name": "allVersions", "in": "query" } ], "responses": { "200": { "description": "Relatórios mensais paginados.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/FiiReportsResponse" } } } }, "400": { "description": "Requisição inválida. Confira os parâmetros.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Requisição inválida. Um parâmetro falta ou tem valor incorreto.", "example": { "error": true, "message": "Parâmetros inválidos", "code": "BAD_REQUEST" } } ] } } } }, "401": { "description": "Token ausente ou inválido.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Token ausente ou inválido.", "example": { "error": true, "message": "Token de autenticação inválido ou ausente", "code": "UNAUTHORIZED" } } ] } } } }, "403": { "description": "O plano não inclui este recurso ou parâmetro.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Acesso negado. O plano não inclui este recurso.", "example": { "error": true, "message": "Você não tem permissão para acessar este recurso", "code": "FORBIDDEN" } } ] } } } }, "500": { "description": "Erro interno do servidor.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } } } }, "/api/v2/fii/dividends": { "get": { "tags": [ "Fundos Imobiliários" ], "operationId": "getFiiDividends", "summary": "Dividendos de FIIs", "description": "\nRendimentos e amortizações pagos por FIIs. Cada evento traz tipo (`label`), valor por cota em reais (`rate`), data-com (`lastDatePrior`), data de pagamento, data de aprovação e ISIN.\n\nUse para calcular dividend yield, montar calendários de rendimentos e somar a renda de uma carteira.\n\n`label` é RENDIMENTO ou AMORTIZAÇÃO. Amortização devolve capital e reduz o valor patrimonial da cota. Não some as duas para calcular yield.\n\nOs dados vêm dos informes mensais da CVM e de comunicados dos administradores. Quando a fonte não tem as datas reais, `paymentDate` e `lastDatePrior` recebem a data de referência do informe mensal, e `remarks` indica a origem. A data inicial varia por fundo.\n\n`startDate` e `endDate` filtram por `paymentDate`. Sem datas, retorna os últimos 12 meses. `sortBy` aceita `paymentDate` (padrão), `lastDatePrior`, `approvedOn`, `rate` e `symbol`.\n\nPlano Pro. Sem token, aceita só `symbols` com MXRF11 e HGLG11.\n", "security": [ { "Bearer": [] } ], "parameters": [ { "schema": { "type": "string", "description": "Tickers de FIIs separados por vírgula, até 20. Ex.: HGLG11,MXRF11.", "example": "HGLG11,MXRF11" }, "required": true, "name": "symbols", "in": "query" }, { "schema": { "type": "string", "description": "Data inicial no formato YYYY-MM-DD.", "example": "2024-01-01" }, "required": false, "name": "startDate", "in": "query" }, { "schema": { "type": "string", "description": "Data final no formato YYYY-MM-DD.", "example": "2025-12-31" }, "required": false, "name": "endDate", "in": "query" }, { "schema": { "type": "string", "description": "Campo de ordenação.", "example": "referenceDate" }, "required": false, "name": "sortBy", "in": "query" }, { "schema": { "type": "string", "enum": [ "asc", "desc" ], "default": "desc", "description": "Direção da ordenação.", "example": "desc" }, "required": false, "name": "sortOrder", "in": "query" } ], "responses": { "200": { "description": "Rendimentos e amortizações dos FIIs.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/FiiDividendsResponse" } } } }, "400": { "description": "Requisição inválida. Confira os parâmetros.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Requisição inválida. Um parâmetro falta ou tem valor incorreto.", "example": { "error": true, "message": "Parâmetros inválidos", "code": "BAD_REQUEST" } } ] } } } }, "401": { "description": "Token ausente ou inválido.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Token ausente ou inválido.", "example": { "error": true, "message": "Token de autenticação inválido ou ausente", "code": "UNAUTHORIZED" } } ] } } } }, "403": { "description": "O plano não inclui este recurso ou parâmetro.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Acesso negado. O plano não inclui este recurso.", "example": { "error": true, "message": "Você não tem permissão para acessar este recurso", "code": "FORBIDDEN" } } ] } } } }, "500": { "description": "Erro interno do servidor.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } } } }, "/api/v2/fii/financials": { "get": { "tags": [ "Fundos Imobiliários" ], "operationId": "getFiiFinancials", "summary": "Demonstrações financeiras de FIIs", "description": "\nDemonstrações financeiras auditadas de FIIs, extraídas dos documentos DFIN entregues à CVM. Os valores vêm em `fields`, por ano e data de referência.\n\nUse para analisar números auditados de um fundo e conferir os dados do [relatório mensal](https://brapi.dev/docs/fiis/relatorios).\n\nBusque por `symbols` ou `cnpjs`. Filtre por `year` ou por `startDate` e `endDate`. A demonstração auditada sai depois do relatório mensal e prevalece quando os dois divergem.\n\nPlano Pro. Sem token, aceita só `symbols` com MXRF11 e HGLG11.\n", "security": [ { "Bearer": [] } ], "parameters": [ { "schema": { "type": "string", "description": "Tickers de FIIs separados por vírgula, até 20.", "example": "HGLG11,MXRF11" }, "required": false, "name": "symbols", "in": "query" }, { "schema": { "type": "string", "description": "CNPJs de FIIs separados por vírgula, até 20. Aceita com ou sem pontuação.", "example": "11728688000147" }, "required": false, "name": "cnpjs", "in": "query" }, { "schema": { "type": "integer", "nullable": true, "description": "Ano do exercício do documento.", "example": 2025 }, "required": false, "name": "year", "in": "query" }, { "schema": { "type": "string", "description": "Data de referência inicial no formato YYYY-MM-DD.", "example": "2025-01-01" }, "required": false, "name": "startDate", "in": "query" }, { "schema": { "type": "string", "description": "Data de referência final no formato YYYY-MM-DD.", "example": "2025-12-31" }, "required": false, "name": "endDate", "in": "query" }, { "schema": { "type": "string", "description": "Campo de ordenação: referenceDate, symbol, cnpj ou year.", "example": "referenceDate" }, "required": false, "name": "sortBy", "in": "query" }, { "schema": { "type": "string", "enum": [ "asc", "desc" ], "default": "desc" }, "required": false, "name": "sortOrder", "in": "query" }, { "schema": { "type": "integer", "minimum": 0, "exclusiveMinimum": true, "default": 1 }, "required": false, "name": "page", "in": "query" }, { "schema": { "type": "integer", "minimum": 0, "exclusiveMinimum": true, "default": 20 }, "required": false, "name": "limit", "in": "query" } ], "responses": { "200": { "description": "Demonstrações financeiras paginadas.", "content": { "application/json": { "schema": { "type": "object", "properties": { "financials": { "type": "array", "items": { "$ref": "#/components/schemas/FiiFinancialReport" } }, "pagination": { "$ref": "#/components/schemas/PaginationMeta" }, "requestedAt": { "type": "string", "format": "date-time", "description": "Data e hora da requisição em ISO 8601.", "example": "2025-01-24T17:32:38.000Z" }, "took": { "type": "integer", "minimum": 0, "description": "Tempo de processamento, em milissegundos.", "example": 45 } }, "required": [ "financials", "pagination", "requestedAt", "took" ] } } } }, "400": { "description": "Requisição inválida. Confira os parâmetros.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Requisição inválida. Um parâmetro falta ou tem valor incorreto.", "example": { "error": true, "message": "Parâmetros inválidos", "code": "BAD_REQUEST" } } ] } } } }, "401": { "description": "Token ausente ou inválido.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Token ausente ou inválido.", "example": { "error": true, "message": "Token de autenticação inválido ou ausente", "code": "UNAUTHORIZED" } } ] } } } }, "403": { "description": "O plano não inclui este recurso ou parâmetro.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Acesso negado. O plano não inclui este recurso.", "example": { "error": true, "message": "Você não tem permissão para acessar este recurso", "code": "FORBIDDEN" } } ] } } } }, "500": { "description": "Erro interno do servidor.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } } } }, "/api/v2/fii/annual-reports": { "get": { "tags": [ "Fundos Imobiliários" ], "operationId": "getFiiAnnualReports", "summary": "Informes anuais de FIIs", "description": "\nInforme anual que cada FII entrega à CVM, com os dados consolidados do exercício em `fields`.\n\nUse para consultar dados anuais oficiais de um fundo.\n\nBusque por `symbols` ou `cnpjs`. Filtre por `year` ou por `startDate` e `endDate`. FIAGRO, FI-Infra, FIDC e FIP ficam em [fundos](https://brapi.dev/docs/fundos).\n\nPlano Pro. Sem token, aceita só `symbols` com MXRF11 e HGLG11.\n", "security": [ { "Bearer": [] } ], "parameters": [ { "schema": { "type": "string", "description": "Tickers de FIIs separados por vírgula, até 20.", "example": "HGLG11,MXRF11" }, "required": false, "name": "symbols", "in": "query" }, { "schema": { "type": "string", "description": "CNPJs de FIIs separados por vírgula, até 20. Aceita com ou sem pontuação.", "example": "11728688000147" }, "required": false, "name": "cnpjs", "in": "query" }, { "schema": { "type": "integer", "nullable": true, "description": "Ano do exercício do documento.", "example": 2025 }, "required": false, "name": "year", "in": "query" }, { "schema": { "type": "string", "description": "Data de referência inicial no formato YYYY-MM-DD.", "example": "2025-01-01" }, "required": false, "name": "startDate", "in": "query" }, { "schema": { "type": "string", "description": "Data de referência final no formato YYYY-MM-DD.", "example": "2025-12-31" }, "required": false, "name": "endDate", "in": "query" }, { "schema": { "type": "string", "description": "Campo de ordenação: referenceDate, symbol, cnpj ou year.", "example": "referenceDate" }, "required": false, "name": "sortBy", "in": "query" }, { "schema": { "type": "string", "enum": [ "asc", "desc" ], "default": "desc" }, "required": false, "name": "sortOrder", "in": "query" }, { "schema": { "type": "integer", "minimum": 0, "exclusiveMinimum": true, "default": 1 }, "required": false, "name": "page", "in": "query" }, { "schema": { "type": "integer", "minimum": 0, "exclusiveMinimum": true, "default": 20 }, "required": false, "name": "limit", "in": "query" }, { "schema": { "type": "string", "description": "Seções opcionais conforme estrutura do informe anual", "example": "summary,governance" }, "required": false, "name": "include", "in": "query" } ], "responses": { "200": { "description": "Informes anuais paginados.", "content": { "application/json": { "schema": { "type": "object", "properties": { "reports": { "type": "array", "items": { "$ref": "#/components/schemas/FiiAnnualReport" } }, "pagination": { "$ref": "#/components/schemas/PaginationMeta" }, "requestedAt": { "type": "string", "format": "date-time", "description": "Data e hora da requisição em ISO 8601.", "example": "2025-01-24T17:32:38.000Z" }, "took": { "type": "integer", "minimum": 0, "description": "Tempo de processamento, em milissegundos.", "example": 45 } }, "required": [ "reports", "pagination", "requestedAt", "took" ] } } } }, "400": { "description": "Requisição inválida. Confira os parâmetros.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Requisição inválida. Um parâmetro falta ou tem valor incorreto.", "example": { "error": true, "message": "Parâmetros inválidos", "code": "BAD_REQUEST" } } ] } } } }, "401": { "description": "Token ausente ou inválido.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Token ausente ou inválido.", "example": { "error": true, "message": "Token de autenticação inválido ou ausente", "code": "UNAUTHORIZED" } } ] } } } }, "403": { "description": "O plano não inclui este recurso ou parâmetro.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Acesso negado. O plano não inclui este recurso.", "example": { "error": true, "message": "Você não tem permissão para acessar este recurso", "code": "FORBIDDEN" } } ] } } } }, "500": { "description": "Erro interno do servidor.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } } } }, "/api/v2/funds/list": { "get": { "tags": [ "Fundos" ], "operationId": "listFunds", "security": [ { "Bearer": [] } ], "summary": "Lista de fundos", "description": "\nLista fundos brasileiros com dados disponíveis: FII, FIAGRO, FI-Infra, FIF, FIDC, FIP e outros. Cada item traz ticker, CNPJ, tipo, classificações, administrador, gestor e os últimos indicadores disponíveis.\n\nA lista ainda não inclui ETFs. Consulte suas cotações e preços históricos nos endpoints de ações. A presença no catálogo de tickers não garante indicadores de fundos.\n\n`updatedAt` informa a atualização do cadastro. Consulte `asOfDate` em `/api/v2/funds/indicators` para a data dos indicadores. Os indicadores não têm a mesma frequência das cotações.\n\nUse para descobrir o tipo de um fundo, achar um CNPJ ou filtrar fundos por tipo.\n\nBusque por `symbols`, `cnpjs` ou `search`. O `search` procura no ticker, no nome, na razão social, no ISIN e no CNPJ.\n\nOs tipos `fiinfra` e `fiagro` equivalem a `fi-infra` e `fi-agro` no catálogo de tickers.\n\nNem todo ticker terminado em 11 é FII. `JURO11` é FI-Infra e não responde nos [endpoints de FIIs](https://brapi.dev/docs/fiis).\n\n`sortBy` aceita `symbol`, `name`, `assetType`, `price`, `navPerShare`, `priceToNav`, `totalInvestors` e `updatedAt`. O padrão é `updatedAt`.\n\nPlano Pro.\n", "parameters": [ { "schema": { "type": "string", "description": "Tickers separados por vírgula, até 20. Ex.: JURO11,XPCA11.", "example": "JURO11" }, "required": false, "example": "JURO11", "name": "symbols", "in": "query" }, { "schema": { "type": "string", "description": "CNPJs separados por vírgula, até 20, com ou sem pontuação.", "example": "42730834000100" }, "required": false, "example": "42730834000100", "name": "cnpjs", "in": "query" }, { "schema": { "type": "integer", "minimum": 0, "exclusiveMinimum": true, "default": 1, "description": "Número da página, a partir de 1.", "example": 1 }, "required": false, "example": 1, "name": "page", "in": "query" }, { "schema": { "type": "integer", "minimum": 0, "exclusiveMinimum": true, "default": 20, "description": "Itens por página.", "example": 20 }, "required": false, "example": 20, "name": "limit", "in": "query" }, { "schema": { "type": "string", "description": "Campo usado na ordenação." }, "required": false, "name": "sortBy", "in": "query" }, { "schema": { "type": "string", "enum": [ "asc", "desc" ], "default": "desc", "description": "Ordem crescente (`asc`) ou decrescente (`desc`).", "example": "desc" }, "required": false, "example": "desc", "name": "sortOrder", "in": "query" }, { "schema": { "type": "string", "description": "Texto buscado no ticker, nome, razão social, ISIN ou CNPJ." }, "required": false, "name": "search", "in": "query" }, { "schema": { "type": "string", "enum": [ "fii", "fiagro", "fiinfra", "fif", "fidc", "fip", "etf", "other" ], "description": "Tipo do fundo." }, "required": false, "name": "assetType", "in": "query" }, { "schema": { "type": "string", "description": "Situação do fundo no cadastro." }, "required": false, "name": "status", "in": "query" } ], "responses": { "200": { "description": "Fundos encontrados", "content": { "application/json": { "schema": { "type": "object", "properties": { "funds": { "type": "array", "items": { "$ref": "#/components/schemas/FundListItem" } }, "pagination": { "$ref": "#/components/schemas/FundPaginationMeta" }, "requestedAt": { "type": "string", "format": "date-time", "description": "Data e hora da requisição em ISO 8601.", "example": "2025-01-24T17:32:38.000Z" }, "took": { "type": "integer", "minimum": 0, "description": "Tempo de processamento, em milissegundos.", "example": 45 } }, "required": [ "funds", "pagination", "requestedAt", "took" ] }, "example": { "funds": [ { "symbol": "JURO11", "cnpj": "42730834000100", "formattedCnpj": "42.730.834/0001-00", "name": "SPARTA INFRA", "legalName": "SPARTA INFRA FIC FI INFRA RENDA FIXA CP", "assetType": "fiinfra", "cvmClassType": null, "cvmClassification": null, "anbimaClassification": null, "b3Classification": "Financeiro/Fundos/FI-INFRA", "isin": null, "administratorName": null, "administratorCnpj": null, "managerName": null, "managerCnpj": null, "status": null, "price": 96.99, "navPerShare": 99.19945, "priceToNav": 0.9777272, "equity": 2040699000, "totalAssets": 2041704100, "totalInvestors": 92710, "updatedAt": "2026-06-21T21:06:37.434Z" } ], "pagination": { "page": 1, "limit": 20, "totalItems": 1, "totalPages": 1, "hasNextPage": false }, "requestedAt": "2026-06-22T02:10:56.319Z", "took": 902 } } } }, "400": { "description": "Requisição inválida. Confira os parâmetros.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Requisição inválida. Um parâmetro falta ou tem valor incorreto.", "example": { "error": true, "message": "Parâmetros inválidos", "code": "BAD_REQUEST" } } ] } } } }, "401": { "description": "Token ausente ou inválido.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Token ausente ou inválido.", "example": { "error": true, "message": "Token de autenticação inválido ou ausente", "code": "UNAUTHORIZED" } } ] } } } }, "403": { "description": "O plano não inclui este recurso ou parâmetro.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Acesso negado. O plano não inclui este recurso.", "example": { "error": true, "message": "Você não tem permissão para acessar este recurso", "code": "FORBIDDEN" } } ] } } } }, "500": { "description": "Erro interno do servidor.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } } } }, "/api/v2/funds/indicators": { "get": { "tags": [ "Fundos" ], "operationId": "getFundIndicators", "security": [ { "Bearer": [] } ], "summary": "Indicadores de fundos", "description": "\nIndicadores mais recentes de um ou mais fundos: preço de mercado, valor patrimonial por cota (`navPerShare`), a razão entre os dois, patrimônio, ativos e número de cotistas.\n\nUse para comparar preço e valor patrimonial, medir ágio ou deságio e ver o tamanho do fundo.\n\nInforme `symbols` ou `cnpjs`. Se você não tem o identificador, use a [lista de fundos](https://brapi.dev/docs/fundos/listagem).\n\nPlano Pro.\n", "parameters": [ { "schema": { "type": "string", "description": "Tickers separados por vírgula, até 20. Ex.: JURO11,XPCA11.", "example": "JURO11" }, "required": false, "example": "JURO11", "name": "symbols", "in": "query" }, { "schema": { "type": "string", "description": "CNPJs separados por vírgula, até 20, com ou sem pontuação.", "example": "42730834000100" }, "required": false, "example": "42730834000100", "name": "cnpjs", "in": "query" }, { "schema": { "type": "string", "enum": [ "fii", "fiagro", "fiinfra", "fif", "fidc", "fip", "etf", "other" ], "description": "Tipo do fundo." }, "required": false, "name": "assetType", "in": "query" } ], "responses": { "200": { "description": "Indicadores", "content": { "application/json": { "schema": { "type": "object", "properties": { "funds": { "type": "array", "items": { "$ref": "#/components/schemas/FundIndicator" } }, "requestedAt": { "type": "string", "format": "date-time", "description": "Data e hora da requisição em ISO 8601.", "example": "2025-01-24T17:32:38.000Z" }, "took": { "type": "integer", "minimum": 0, "description": "Tempo de processamento, em milissegundos.", "example": 45 } }, "required": [ "funds", "requestedAt", "took" ] }, "example": { "funds": [ { "symbol": "JURO11", "cnpj": "42730834000100", "name": "SPARTA INFRA", "assetType": "fiinfra", "asOfDate": "2026-06-18T00:00:00.000Z", "price": 96.99, "navPerShare": 99.19945, "priceToNav": 0.9777272, "equity": 2040699000, "totalAssets": 2041704100, "totalInvestors": 92710, "dailyApplications": 0, "dailyRedemptions": 0, "sharesOutstanding": null, "monthlyReturn": null, "patrimonialMonthlyReturn": null, "dividendYieldMonthly": null } ], "requestedAt": "2026-06-22T02:10:56.524Z", "took": 189 } } } }, "400": { "description": "Requisição inválida. Confira os parâmetros.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Requisição inválida. Um parâmetro falta ou tem valor incorreto.", "example": { "error": true, "message": "Parâmetros inválidos", "code": "BAD_REQUEST" } } ] } } } }, "401": { "description": "Token ausente ou inválido.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Token ausente ou inválido.", "example": { "error": true, "message": "Token de autenticação inválido ou ausente", "code": "UNAUTHORIZED" } } ] } } } }, "403": { "description": "O plano não inclui este recurso ou parâmetro.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Acesso negado. O plano não inclui este recurso.", "example": { "error": true, "message": "Você não tem permissão para acessar este recurso", "code": "FORBIDDEN" } } ] } } } }, "500": { "description": "Erro interno do servidor.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } } } }, "/api/v2/funds/nav/history": { "get": { "tags": [ "Fundos" ], "operationId": "getFundNavHistory", "security": [ { "Bearer": [] } ], "summary": "Histórico da cota", "description": "\nSérie do valor patrimonial por cota, com patrimônio, ativos, cotistas, aplicações e resgates. FI e FIF podem ter pontos diários. A cobertura varia por CNPJ. Alguns fundos não têm histórico disponível. FIDC tem pontos mensais por classe ou série, com a rentabilidade do mês em `monthlyReturn`.\n\nUse para gráficos de valor da cota, cálculo de rentabilidade e acompanhamento do patrimônio.\n\nInforme `symbols` ou `cnpjs`. Os filtros de data usam o campo `date`.\n\nEste é o valor patrimonial, não o preço negociado em bolsa. Para comparar um FI com um FIDC, alinhe os pontos por mês.\n\nPlano Pro.\n", "parameters": [ { "schema": { "type": "string", "description": "Tickers separados por vírgula, até 20. Ex.: JURO11,XPCA11.", "example": "JURO11" }, "required": false, "example": "JURO11", "name": "symbols", "in": "query" }, { "schema": { "type": "string", "description": "CNPJs separados por vírgula, até 20, com ou sem pontuação.", "example": "42730834000100" }, "required": false, "example": "42730834000100", "name": "cnpjs", "in": "query" }, { "schema": { "type": "string", "description": "Data inicial no formato YYYY-MM-DD.", "example": "2026-01-01" }, "required": false, "example": "2026-01-01", "name": "startDate", "in": "query" }, { "schema": { "type": "string", "description": "Data final no formato YYYY-MM-DD.", "example": "2026-06-30" }, "required": false, "example": "2026-06-30", "name": "endDate", "in": "query" }, { "schema": { "type": "integer", "minimum": 0, "exclusiveMinimum": true, "default": 1, "description": "Número da página, a partir de 1.", "example": 1 }, "required": false, "example": 1, "name": "page", "in": "query" }, { "schema": { "type": "integer", "minimum": 0, "exclusiveMinimum": true, "default": 20, "description": "Itens por página.", "example": 20 }, "required": false, "example": 20, "name": "limit", "in": "query" }, { "schema": { "type": "string", "enum": [ "asc", "desc" ], "default": "desc", "description": "Ordem crescente (`asc`) ou decrescente (`desc`).", "example": "desc" }, "required": false, "example": "desc", "name": "sortOrder", "in": "query" } ], "responses": { "200": { "description": "Histórico do valor da cota", "content": { "application/json": { "schema": { "type": "object", "properties": { "history": { "type": "array", "items": { "$ref": "#/components/schemas/FundNavHistory" } }, "pagination": { "$ref": "#/components/schemas/FundPaginationMeta" }, "requestedAt": { "type": "string", "format": "date-time", "description": "Data e hora da requisição em ISO 8601.", "example": "2025-01-24T17:32:38.000Z" }, "took": { "type": "integer", "minimum": 0, "description": "Tempo de processamento, em milissegundos.", "example": 45 } }, "required": [ "history", "pagination", "requestedAt", "took" ] }, "example": { "history": [ { "symbol": "JURO11", "cnpj": "42730834000100", "date": "2026-06-18T00:00:00.000Z", "classOrSeries": null, "totalAssets": 2041704100, "navPerShare": 99.19945, "equity": 2040699000, "dailyApplications": 0, "dailyRedemptions": 0, "totalInvestors": 92710, "monthlyReturn": null }, { "symbol": "JURO11", "cnpj": "42730834000100", "date": "2026-06-17T00:00:00.000Z", "classOrSeries": null, "totalAssets": 2044940400, "navPerShare": 99.36075, "equity": 2044017200, "dailyApplications": 0, "dailyRedemptions": 0, "totalInvestors": 92779, "monthlyReturn": null } ], "pagination": { "page": 1, "limit": 20, "totalItems": 114, "totalPages": 6, "hasNextPage": true }, "requestedAt": "2026-06-22T02:10:56.827Z", "took": 300 } } } }, "400": { "description": "Requisição inválida. Confira os parâmetros.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Requisição inválida. Um parâmetro falta ou tem valor incorreto.", "example": { "error": true, "message": "Parâmetros inválidos", "code": "BAD_REQUEST" } } ] } } } }, "401": { "description": "Token ausente ou inválido.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Token ausente ou inválido.", "example": { "error": true, "message": "Token de autenticação inválido ou ausente", "code": "UNAUTHORIZED" } } ] } } } }, "403": { "description": "O plano não inclui este recurso ou parâmetro.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Acesso negado. O plano não inclui este recurso.", "example": { "error": true, "message": "Você não tem permissão para acessar este recurso", "code": "FORBIDDEN" } } ] } } } }, "500": { "description": "Erro interno do servidor.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } } } }, "/api/v2/funds/profile": { "get": { "tags": [ "Fundos" ], "operationId": "getFundProfile", "security": [ { "Bearer": [] } ], "summary": "Perfil mensal de fundos", "description": "\nPerfil mensal de fundos FI e FIF, conforme a CVM: distribuição de cotistas, medidas de risco, liquidez, concentração e exposição a crédito privado.\n\nUse para ver se o fundo é de varejo ou institucional e quanto do patrimônio está em ativos de baixa liquidez.\n\nInforme `symbols` ou `cnpjs`. Sem filtro de data, a resposta traz o perfil mais recente de cada fundo.\n\nPlano Pro.\n", "parameters": [ { "schema": { "type": "string", "description": "Tickers separados por vírgula, até 20. Ex.: JURO11,XPCA11.", "example": "JURO11" }, "required": false, "example": "JURO11", "name": "symbols", "in": "query" }, { "schema": { "type": "string", "description": "CNPJs separados por vírgula, até 20, com ou sem pontuação.", "example": "42730834000100" }, "required": false, "example": "42730834000100", "name": "cnpjs", "in": "query" }, { "schema": { "type": "string", "description": "Data inicial no formato YYYY-MM-DD.", "example": "2026-01-01" }, "required": false, "example": "2026-01-01", "name": "startDate", "in": "query" }, { "schema": { "type": "string", "description": "Data final no formato YYYY-MM-DD.", "example": "2026-06-30" }, "required": false, "example": "2026-06-30", "name": "endDate", "in": "query" }, { "schema": { "type": "string", "description": "Mês de referência no formato YYYY-MM-DD." }, "required": false, "name": "referenceDate", "in": "query" }, { "schema": { "type": "string" }, "required": false, "name": "include", "in": "query" } ], "responses": { "200": { "description": "Perfis", "content": { "application/json": { "schema": { "type": "object", "properties": { "profiles": { "type": "array", "items": { "$ref": "#/components/schemas/FundProfile" } }, "requestedAt": { "type": "string", "format": "date-time", "description": "Data e hora da requisição em ISO 8601.", "example": "2025-01-24T17:32:38.000Z" }, "took": { "type": "integer", "minimum": 0, "description": "Tempo de processamento, em milissegundos.", "example": 45 } }, "required": [ "profiles", "requestedAt", "took" ] }, "example": { "profiles": [ { "symbol": "JURO11", "cnpj": "42730834000100", "referenceDate": "2026-05-31T00:00:00.000Z", "investorBreakdown": { "other": 0, "fundsOrClubs": 1, "nonResidents": 0, "otherPercent": 0, "legalEntities": 0, "individualRetail": 0, "fundsOrClubsPercent": 100, "nonResidentsPercent": 0, "legalEntitiesPercent": 0, "individualRetailPercent": 0 }, "risk": { "riskModel": "Modelos Não-Paramétricos", "portfolioVar": 0, "dailyQuotaVariationPercent": 0, "privateCreditExposurePercent": 0, "stressedDailyQuotaVariationPercent": 0 }, "liquidity": null, "concentration": { "topCotistaPercent": 0 }, "privateCredit": { "exposurePercent": 0 } } ], "requestedAt": "2026-06-22T02:10:56.983Z", "took": 152 } } } }, "400": { "description": "Requisição inválida. Confira os parâmetros.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Requisição inválida. Um parâmetro falta ou tem valor incorreto.", "example": { "error": true, "message": "Parâmetros inválidos", "code": "BAD_REQUEST" } } ] } } } }, "401": { "description": "Token ausente ou inválido.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Token ausente ou inválido.", "example": { "error": true, "message": "Token de autenticação inválido ou ausente", "code": "UNAUTHORIZED" } } ] } } } }, "403": { "description": "O plano não inclui este recurso ou parâmetro.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Acesso negado. O plano não inclui este recurso.", "example": { "error": true, "message": "Você não tem permissão para acessar este recurso", "code": "FORBIDDEN" } } ] } } } }, "500": { "description": "Erro interno do servidor.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } } } }, "/api/v2/funds/dividends": { "get": { "tags": [ "Fundos" ], "operationId": "getFundDividends", "security": [ { "Bearer": [] } ], "summary": "Dividendos de fundos", "description": "\nDividendos e rendimentos de FIAGRO, FI-Infra, FIF, FIDC e FIP listados. Cada evento traz data de declaração, data-com (`lastDatePrior`), data ex quando existe, data de pagamento, valor por cota e rótulo.\n\nUse para calcular renda, montar calendários de pagamento e comparar rendimentos.\n\nOs filtros `startDate` e `endDate` usam `paymentDate`. Sem `symbols` e `cnpjs`, a resposta traz todos os fundos.\n\nFIIs ficam em [dividendos de FIIs](https://brapi.dev/docs/fiis/dividendos). Um ticker de FII neste endpoint retorna erro 400.\n\nO histórico começa no primeiro evento verificável de cada fundo. Não há data inicial única. As fontes são documentos da CVM e comunicados de administradores e gestores. Eventos de tickers antigos continuam depois de um renome. A brapi não estima datas de pagamento. A revisão é mensal.\n\nPlano Pro.\n", "parameters": [ { "schema": { "type": "string", "description": "Tickers separados por vírgula, até 20. Ex.: JURO11,XPCA11.", "example": "JURO11" }, "required": false, "example": "JURO11", "name": "symbols", "in": "query" }, { "schema": { "type": "string", "description": "CNPJs separados por vírgula, até 20, com ou sem pontuação.", "example": "42730834000100" }, "required": false, "example": "42730834000100", "name": "cnpjs", "in": "query" }, { "schema": { "type": "string", "description": "Data inicial no formato YYYY-MM-DD.", "example": "2026-01-01" }, "required": false, "example": "2026-01-01", "name": "startDate", "in": "query" }, { "schema": { "type": "string", "description": "Data final no formato YYYY-MM-DD.", "example": "2026-06-30" }, "required": false, "example": "2026-06-30", "name": "endDate", "in": "query" }, { "schema": { "type": "integer", "minimum": 0, "exclusiveMinimum": true, "default": 1, "description": "Número da página, a partir de 1.", "example": 1 }, "required": false, "example": 1, "name": "page", "in": "query" }, { "schema": { "type": "integer", "minimum": 0, "exclusiveMinimum": true, "default": 20, "description": "Itens por página.", "example": 20 }, "required": false, "example": 20, "name": "limit", "in": "query" }, { "schema": { "type": "string", "enum": [ "lastDatePrior", "paymentDate", "declaredDate", "symbol", "rate" ], "default": "paymentDate", "description": "Campo usado na ordenação." }, "required": false, "name": "sortBy", "in": "query" }, { "schema": { "type": "string", "enum": [ "asc", "desc" ], "default": "desc", "description": "Ordem crescente (`asc`) ou decrescente (`desc`).", "example": "desc" }, "required": false, "example": "desc", "name": "sortOrder", "in": "query" }, { "schema": { "type": "string", "enum": [ "fiagro", "fiinfra", "fif", "fidc", "fip", "other" ], "description": "Tipo do fundo." }, "required": false, "name": "assetType", "in": "query" } ], "responses": { "200": { "description": "Dividendos validados", "content": { "application/json": { "schema": { "type": "object", "properties": { "dividends": { "type": "array", "items": { "$ref": "#/components/schemas/FundDividend" } }, "pagination": { "$ref": "#/components/schemas/FundPaginationMeta" }, "requestedAt": { "type": "string", "format": "date-time", "description": "Data e hora da requisição em ISO 8601.", "example": "2025-01-24T17:32:38.000Z" }, "took": { "type": "integer", "minimum": 0, "description": "Tempo de processamento, em milissegundos.", "example": 45 } }, "required": [ "dividends", "pagination", "requestedAt", "took" ] }, "example": { "dividends": [ { "symbol": "JURO11", "cnpj": "42730834000100", "assetType": "fiinfra", "declaredDate": "2026-05-29T00:00:00.000Z", "lastDatePrior": "2026-05-29T00:00:00.000Z", "exDate": null, "paymentDate": "2026-06-13T00:00:00.000Z", "rate": 0.5, "label": "RENDIMENTO", "isinCode": "BRJUROCTF002" } ], "pagination": { "page": 1, "limit": 20, "totalItems": 1, "totalPages": 1, "hasNextPage": false }, "requestedAt": "2026-06-22T02:10:56.983Z", "took": 152 } } } }, "400": { "description": "Requisição inválida. Confira os parâmetros.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Requisição inválida. Um parâmetro falta ou tem valor incorreto.", "example": { "error": true, "message": "Parâmetros inválidos", "code": "BAD_REQUEST" } } ] } } } }, "401": { "description": "Token ausente ou inválido.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Token ausente ou inválido.", "example": { "error": true, "message": "Token de autenticação inválido ou ausente", "code": "UNAUTHORIZED" } } ] } } } }, "403": { "description": "O plano não inclui este recurso ou parâmetro.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Acesso negado. O plano não inclui este recurso.", "example": { "error": true, "message": "Você não tem permissão para acessar este recurso", "code": "FORBIDDEN" } } ] } } } }, "500": { "description": "Erro interno do servidor.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } } } }, "/api/v2/funds/fiagro/reports": { "get": { "tags": [ "Fundos" ], "operationId": "getFiagroReports", "security": [ { "Bearer": [] } ], "summary": "Relatórios de FIAGRO", "description": "\nRelatório mensal de FIAGRO na CVM: patrimônio, valor patrimonial por cota, cotistas, rentabilidade do mês, dividend yield mensal e valores a distribuir.\n\nUse para acompanhar a evolução de um FIAGRO mês a mês.\n\nInforme `symbols` ou `cnpjs`. Por padrão, a resposta traz só a versão mais recente de cada mês. Use `allVersions=true` para ver as reapresentações.\n\n`sortBy` aceita `referenceDate`, `symbol`, `cnpj`, `netEquity`, `totalInvestors` e `dividendYieldMonthly`. O padrão é `referenceDate`.\n\nPlano Pro.\n", "parameters": [ { "schema": { "type": "string", "description": "Tickers separados por vírgula, até 20. Ex.: JURO11,XPCA11.", "example": "XPCA11" }, "required": false, "example": "XPCA11", "name": "symbols", "in": "query" }, { "schema": { "type": "string", "description": "CNPJs separados por vírgula, até 20, com ou sem pontuação.", "example": "41269527000101" }, "required": false, "example": "41269527000101", "name": "cnpjs", "in": "query" }, { "schema": { "type": "string", "description": "Data inicial no formato YYYY-MM-DD.", "example": "2026-01-01" }, "required": false, "example": "2026-01-01", "name": "startDate", "in": "query" }, { "schema": { "type": "string", "description": "Data final no formato YYYY-MM-DD.", "example": "2026-06-30" }, "required": false, "example": "2026-06-30", "name": "endDate", "in": "query" }, { "schema": { "type": "integer", "minimum": 0, "exclusiveMinimum": true, "default": 1, "description": "Número da página, a partir de 1.", "example": 1 }, "required": false, "example": 1, "name": "page", "in": "query" }, { "schema": { "type": "integer", "minimum": 0, "exclusiveMinimum": true, "default": 20, "description": "Itens por página.", "example": 20 }, "required": false, "example": 20, "name": "limit", "in": "query" }, { "schema": { "type": "string", "description": "Campo usado na ordenação." }, "required": false, "name": "sortBy", "in": "query" }, { "schema": { "type": "string", "enum": [ "asc", "desc" ], "default": "desc", "description": "Ordem crescente (`asc`) ou decrescente (`desc`).", "example": "desc" }, "required": false, "example": "desc", "name": "sortOrder", "in": "query" }, { "schema": { "type": "boolean", "nullable": true, "default": false, "description": "Se `true`, traz todas as versões enviadas à CVM para cada mês." }, "required": false, "name": "allVersions", "in": "query" } ], "responses": { "200": { "description": "Relatórios FIAGRO", "content": { "application/json": { "schema": { "type": "object", "properties": { "reports": { "type": "array", "items": { "$ref": "#/components/schemas/FiagroReport" } }, "pagination": { "$ref": "#/components/schemas/FundPaginationMeta" }, "requestedAt": { "type": "string", "format": "date-time", "description": "Data e hora da requisição em ISO 8601.", "example": "2025-01-24T17:32:38.000Z" }, "took": { "type": "integer", "minimum": 0, "description": "Tempo de processamento, em milissegundos.", "example": 45 } }, "required": [ "reports", "pagination", "requestedAt", "took" ] }, "example": { "reports": [ { "symbol": "XPCA11", "cnpj": "41269527000101", "name": "XP CRÉDITO AGRÍCOLA-FUNDO DE INVESTIMENTO NAS CADEIAS PROD", "referenceDate": "2026-05-01T00:00:00.000Z", "version": 1, "isin": "BRXPCACTF004", "market": "BOLSA", "administratorName": "XP INVESTIMENTOS CORRETORA DE CÂMBIO, TÍTULOS E VAL MOB S/A", "managerName": "XP VISTA ASSET MANAGEMENT LTDA.", "totalAssets": 492323580, "netEquity": 487325340, "sharesOutstanding": 45523076, "navPerShare": 10.71, "totalInvestors": 94254, "monthlyReturn": 0.11, "patrimonialMonthlyReturn": -0.92, "dividendYieldMonthly": 1.03, "amortizationRateMonthly": 0, "liquidityNeeds": null, "incomeToDistribute": 4567754.5, "totalLiabilities": 4998232 } ], "pagination": { "page": 1, "limit": 20, "totalItems": 5, "totalPages": 1, "hasNextPage": false }, "requestedAt": "2026-06-22T02:10:57.433Z", "took": 293 } } } }, "400": { "description": "Requisição inválida. Confira os parâmetros.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Requisição inválida. Um parâmetro falta ou tem valor incorreto.", "example": { "error": true, "message": "Parâmetros inválidos", "code": "BAD_REQUEST" } } ] } } } }, "401": { "description": "Token ausente ou inválido.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Token ausente ou inválido.", "example": { "error": true, "message": "Token de autenticação inválido ou ausente", "code": "UNAUTHORIZED" } } ] } } } }, "403": { "description": "O plano não inclui este recurso ou parâmetro.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Acesso negado. O plano não inclui este recurso.", "example": { "error": true, "message": "Você não tem permissão para acessar este recurso", "code": "FORBIDDEN" } } ] } } } }, "500": { "description": "Erro interno do servidor.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } } } }, "/api/v2/funds/fiagro/portfolio": { "get": { "tags": [ "Fundos" ], "operationId": "getFiagroPortfolio", "security": [ { "Bearer": [] } ], "summary": "Carteira de FIAGRO", "description": "\nCarteira de FIAGRO em um mês: resumo, alocações por classe de ativo, passivos e investidores.\n\nUse para ver quanto do fundo está em CRA, direitos creditórios, imóveis rurais ou participações.\n\nInforme `symbols` ou `cnpjs`. Sem `referenceDate`, a resposta traz o mês mais recente.\n\nPlano Pro.\n", "parameters": [ { "schema": { "type": "string", "description": "Tickers separados por vírgula, até 20. Ex.: JURO11,XPCA11.", "example": "XPCA11" }, "required": false, "example": "XPCA11", "name": "symbols", "in": "query" }, { "schema": { "type": "string", "description": "CNPJs separados por vírgula, até 20, com ou sem pontuação.", "example": "41269527000101" }, "required": false, "example": "41269527000101", "name": "cnpjs", "in": "query" }, { "schema": { "type": "string", "description": "Mês de referência no formato YYYY-MM-DD." }, "required": false, "name": "referenceDate", "in": "query" }, { "schema": { "type": "boolean", "nullable": true, "default": false, "description": "Se `true`, traz todas as versões enviadas à CVM para cada mês." }, "required": false, "name": "allVersions", "in": "query" }, { "schema": { "type": "string" }, "required": false, "name": "include", "in": "query" } ], "responses": { "200": { "description": "Carteiras FIAGRO", "content": { "application/json": { "schema": { "type": "object", "properties": { "funds": { "type": "array", "items": { "$ref": "#/components/schemas/FiagroPortfolio" } }, "requestedAt": { "type": "string", "format": "date-time", "description": "Data e hora da requisição em ISO 8601.", "example": "2025-01-24T17:32:38.000Z" }, "took": { "type": "integer", "minimum": 0, "description": "Tempo de processamento, em milissegundos.", "example": 45 } }, "required": [ "funds", "requestedAt", "took" ] }, "example": { "funds": [ { "symbol": "XPCA11", "cnpj": "41269527000101", "referenceDate": "2026-05-01T00:00:00.000Z", "summary": { "netEquity": 487325339.56, "totalAssets": 492323571.36, "totalInvested": 460334438.28, "liquidityNeeds": null, "totalLiabilities": 4998231.8 }, "allocations": { "cpr": 0, "cra": 299574550.49, "fii": 0, "fip": 10045714.33, "lca": 0, "lci": 0, "cdca": 0, "fidc": 99610927.4, "fiagro": 42988149.25, "ruralRealEstate": 0 }, "investors": { "total": 94254, "individuals": 94165, "nonResidents": 6, "financialCompanies": 0, "nonFinancialCompanies": 79 }, "liabilities": { "adminFeesPayable": 354189.17, "totalLiabilities": 4998231.8, "incomeToDistribute": 4567754.46 } } ], "requestedAt": "2026-06-22T02:10:57.586Z", "took": 146 } } } }, "400": { "description": "Requisição inválida. Confira os parâmetros.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Requisição inválida. Um parâmetro falta ou tem valor incorreto.", "example": { "error": true, "message": "Parâmetros inválidos", "code": "BAD_REQUEST" } } ] } } } }, "401": { "description": "Token ausente ou inválido.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Token ausente ou inválido.", "example": { "error": true, "message": "Token de autenticação inválido ou ausente", "code": "UNAUTHORIZED" } } ] } } } }, "403": { "description": "O plano não inclui este recurso ou parâmetro.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Acesso negado. O plano não inclui este recurso.", "example": { "error": true, "message": "Você não tem permissão para acessar este recurso", "code": "FORBIDDEN" } } ] } } } }, "500": { "description": "Erro interno do servidor.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } } } }, "/api/v2/funds/portfolio": { "get": { "tags": [ "Fundos" ], "operationId": "getFundPortfolio", "security": [ { "Bearer": [] } ], "summary": "Carteira de fundos", "description": "\nCarteira de fundos FI e FIF, do arquivo CDA da CVM. As posições vêm agrupadas em títulos públicos, cotas de fundos, crédito privado, ativos listados, recebíveis e valores a pagar.\n\nUse para ver onde o fundo investe e qual o peso de cada grupo de ativos.\n\nInforme `symbols` ou `cnpjs`. Sem `referenceDate`, a resposta traz a carteira mais recente.\n\nFiltre os grupos com `include`: `publicBonds`, `fundHoldings`, `creditAssets`, `listedSecurities`, `receivables` e `payables`.\n\nPosições confidenciais aparecem só no total, em `confidentialSummary`.\n\nA CVM publica o CDA com meses de atraso. Mostre `referenceDate` junto do dado.\n\nPlano Pro.\n", "parameters": [ { "schema": { "type": "string", "description": "Tickers separados por vírgula, até 20. Ex.: JURO11,XPCA11.", "example": "JURO11" }, "required": false, "example": "JURO11", "name": "symbols", "in": "query" }, { "schema": { "type": "string", "description": "CNPJs separados por vírgula, até 20, com ou sem pontuação.", "example": "42730834000100" }, "required": false, "example": "42730834000100", "name": "cnpjs", "in": "query" }, { "schema": { "type": "integer", "minimum": 0, "exclusiveMinimum": true, "default": 1, "description": "Número da página, a partir de 1.", "example": 1 }, "required": false, "example": 1, "name": "page", "in": "query" }, { "schema": { "type": "integer", "minimum": 0, "exclusiveMinimum": true, "default": 20, "description": "Itens por página.", "example": 20 }, "required": false, "example": 20, "name": "limit", "in": "query" }, { "schema": { "type": "string", "description": "Mês de referência no formato YYYY-MM-DD." }, "required": false, "name": "referenceDate", "in": "query" }, { "schema": { "type": "string", "description": "Grupos de ativos separados por vírgula. Ex.: publicBonds,creditAssets." }, "required": false, "name": "include", "in": "query" } ], "responses": { "200": { "description": "Carteiras", "content": { "application/json": { "schema": { "type": "object", "properties": { "funds": { "type": "array", "items": { "$ref": "#/components/schemas/FundPortfolio" } }, "requestedAt": { "type": "string", "format": "date-time", "description": "Data e hora da requisição em ISO 8601.", "example": "2025-01-24T17:32:38.000Z" }, "took": { "type": "integer", "minimum": 0, "description": "Tempo de processamento, em milissegundos.", "example": 45 } }, "required": [ "funds", "requestedAt", "took" ] }, "example": { "funds": [ { "symbol": "JURO11", "cnpj": "42730834000100", "name": "SPARTA INFRA FI EM COTAS DE FUNDOS INCENTIVADOS DE INVESTIMENTO EM INFRAESTRUTURA RENDA FIXA", "referenceDate": "2026-05-31T00:00:00.000Z", "summary": { "marketValue": 2083851261, "holdingsCount": 7, "publicBondsValue": 6403800, "fundHoldingsValue": 2053162240, "creditAssetsValue": 0, "listedSecuritiesValue": 0, "receivablesValue": 12371910, "payablesValue": 11913311 }, "publicBonds": [ { "bucket": "publicBonds", "assetType": "Título público federal", "assetName": "NOTAS DO TESOURO NACIONAL SERIE B", "issuerName": null, "issuerCnpj": null, "isin": "BRSTNCNTB716", "selicCode": "760199", "quantity": 1434, "marketValue": 6403800, "costValue": null, "maturityDate": "2029-05-15T00:00:00.000Z", "confidential": false, "details": { "applicationType": "Operações Compromissadas", "negotiationType": "Para negociação", "issueDate": "2024-01-17T00:00:00.000Z", "relatedIssuer": false, "fundClassType": "CLASSES - FIF" } } ], "fundHoldings": [ { "bucket": "fundHoldings", "assetType": "Fundo de Investimento e de Cotas", "assetName": "SPARTA INFRA MASTER VI FUNDO INCENTIVADO DE INVESTIMENTO EM INFRAESTRUTURA RENDA FIXA", "issuerName": null, "issuerCnpj": "54773359000120", "isin": null, "selicCode": null, "quantity": 9950000, "marketValue": 972734460, "costValue": null, "maturityDate": null, "confidential": false, "details": { "applicationType": "Cotas de Fundos", "relatedIssuer": true, "fundClassType": "CLASSES - FIF" } } ], "creditAssets": [], "listedSecurities": [], "receivables": [ { "bucket": "receivables", "assetType": "Outros", "assetName": "VALORES A RECEBER", "issuerName": null, "issuerCnpj": null, "isin": null, "selicCode": null, "quantity": null, "marketValue": 12371910, "costValue": null, "maturityDate": null, "confidential": false, "details": { "applicationType": "Valores a receber", "negotiationType": "Para negociação", "fundClassType": "CLASSES - FIF" } } ], "payables": [ { "bucket": "payables", "assetType": "Outros", "assetName": "VALORES A PAGAR", "issuerName": null, "issuerCnpj": null, "isin": null, "selicCode": null, "quantity": null, "marketValue": 11913311, "costValue": null, "maturityDate": null, "confidential": false, "details": { "applicationType": "Valores a pagar", "negotiationType": "Para negociação", "fundClassType": "CLASSES - FIF" } } ], "confidentialSummary": null } ], "requestedAt": "2026-06-22T02:10:57.134Z", "took": 147 } } } }, "400": { "description": "Requisição inválida. Confira os parâmetros.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Requisição inválida. Um parâmetro falta ou tem valor incorreto.", "example": { "error": true, "message": "Parâmetros inválidos", "code": "BAD_REQUEST" } } ] } } } }, "401": { "description": "Token ausente ou inválido.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Token ausente ou inválido.", "example": { "error": true, "message": "Token de autenticação inválido ou ausente", "code": "UNAUTHORIZED" } } ] } } } }, "403": { "description": "O plano não inclui este recurso ou parâmetro.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Acesso negado. O plano não inclui este recurso.", "example": { "error": true, "message": "Você não tem permissão para acessar este recurso", "code": "FORBIDDEN" } } ] } } } }, "500": { "description": "Erro interno do servidor.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } } } }, "/api/v2/funds/fidc/reports": { "get": { "tags": [ "Fundos" ], "operationId": "getFidcReports", "security": [ { "Bearer": [] } ], "summary": "Relatórios de FIDC", "description": "\nRelatório mensal de FIDC na CVM: ativos, valor da carteira, patrimônio líquido, patrimônio médio, passivos, classe de cota e tipo de condomínio.\n\nUse para acompanhar o tamanho e a evolução de um FIDC mês a mês.\n\nA maioria dos FIDCs não tem ticker em bolsa. Use `cnpjs`. `symbols` funciona só quando o fundo tem ticker.\n\n`sortBy` aceita `referenceDate`, `cnpj`, `netEquity`, `assets` e `portfolioValue`. O padrão é `referenceDate`.\n\nPlano Pro.\n", "parameters": [ { "schema": { "type": "string", "description": "Tickers separados por vírgula, até 20. Ex.: JURO11,XPCA11." }, "required": false, "name": "symbols", "in": "query" }, { "schema": { "type": "string", "description": "CNPJs separados por vírgula, até 20, com ou sem pontuação.", "example": "05754060000113" }, "required": false, "example": "05754060000113", "name": "cnpjs", "in": "query" }, { "schema": { "type": "string", "description": "Data inicial no formato YYYY-MM-DD.", "example": "2026-01-01" }, "required": false, "example": "2026-01-01", "name": "startDate", "in": "query" }, { "schema": { "type": "string", "description": "Data final no formato YYYY-MM-DD.", "example": "2026-06-30" }, "required": false, "example": "2026-06-30", "name": "endDate", "in": "query" }, { "schema": { "type": "integer", "minimum": 0, "exclusiveMinimum": true, "default": 1, "description": "Número da página, a partir de 1.", "example": 1 }, "required": false, "example": 1, "name": "page", "in": "query" }, { "schema": { "type": "integer", "minimum": 0, "exclusiveMinimum": true, "default": 20, "description": "Itens por página.", "example": 20 }, "required": false, "example": 20, "name": "limit", "in": "query" }, { "schema": { "type": "string", "description": "Campo usado na ordenação." }, "required": false, "name": "sortBy", "in": "query" }, { "schema": { "type": "string", "enum": [ "asc", "desc" ], "default": "desc", "description": "Ordem crescente (`asc`) ou decrescente (`desc`).", "example": "desc" }, "required": false, "example": "desc", "name": "sortOrder", "in": "query" } ], "responses": { "200": { "description": "Relatórios FIDC", "content": { "application/json": { "schema": { "type": "object", "properties": { "reports": { "type": "array", "items": { "$ref": "#/components/schemas/FidcReport" } }, "pagination": { "$ref": "#/components/schemas/FundPaginationMeta" }, "requestedAt": { "type": "string", "format": "date-time", "description": "Data e hora da requisição em ISO 8601.", "example": "2025-01-24T17:32:38.000Z" }, "took": { "type": "integer", "minimum": 0, "description": "Tempo de processamento, em milissegundos.", "example": 45 } }, "required": [ "reports", "pagination", "requestedAt", "took" ] }, "example": { "reports": [ { "symbol": null, "cnpj": "05754060000113", "name": "CATERPILLAR FUNDO DE INVESTIMENTO EM DIREITOS CREDITÓRIOS DO SEGMENTO INDUSTRIAL II - RESP LIMITADA", "referenceDate": "2026-05-31T00:00:00.000Z", "administratorName": "BEM - DISTRIBUIDORA DE TITULOS E VALORES MOBILIARIOS LTDA.", "class": null, "condominiumType": "ABERTO", "assets": 1642889200, "portfolioValue": 1642755000, "netEquity": 1642653000, "averageNetEquity": 1620125200, "liabilities": 236119.5 } ], "pagination": { "page": 1, "limit": 20, "totalItems": 5, "totalPages": 1, "hasNextPage": false }, "requestedAt": "2026-06-22T02:10:57.882Z", "took": 292 } } } }, "400": { "description": "Requisição inválida. Confira os parâmetros.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Requisição inválida. Um parâmetro falta ou tem valor incorreto.", "example": { "error": true, "message": "Parâmetros inválidos", "code": "BAD_REQUEST" } } ] } } } }, "401": { "description": "Token ausente ou inválido.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Token ausente ou inválido.", "example": { "error": true, "message": "Token de autenticação inválido ou ausente", "code": "UNAUTHORIZED" } } ] } } } }, "403": { "description": "O plano não inclui este recurso ou parâmetro.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Acesso negado. O plano não inclui este recurso.", "example": { "error": true, "message": "Você não tem permissão para acessar este recurso", "code": "FORBIDDEN" } } ] } } } }, "500": { "description": "Erro interno do servidor.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } } } }, "/api/v2/funds/fidc/portfolio": { "get": { "tags": [ "Fundos" ], "operationId": "getFidcPortfolio", "security": [ { "Bearer": [] } ], "summary": "Carteira de FIDC", "description": "\nCarteira de FIDC em um mês: setores, vencimentos, inadimplência, faixas de risco, classes de cota, cotistas e cedentes.\n\nUse para avaliar o risco de crédito de um FIDC e a concentração por cedente.\n\nInforme `cnpjs`, ou `symbols` quando o fundo tem ticker. Sem `referenceDate`, a resposta traz o mês mais recente.\n\nPlano Pro.\n", "parameters": [ { "schema": { "type": "string", "description": "Tickers separados por vírgula, até 20. Ex.: JURO11,XPCA11." }, "required": false, "name": "symbols", "in": "query" }, { "schema": { "type": "string", "description": "CNPJs separados por vírgula, até 20, com ou sem pontuação.", "example": "05754060000113" }, "required": false, "example": "05754060000113", "name": "cnpjs", "in": "query" }, { "schema": { "type": "string", "description": "Mês de referência no formato YYYY-MM-DD." }, "required": false, "name": "referenceDate", "in": "query" }, { "schema": { "type": "string" }, "required": false, "name": "include", "in": "query" } ], "responses": { "200": { "description": "Carteira FIDC", "content": { "application/json": { "schema": { "type": "object", "properties": { "funds": { "type": "array", "items": { "$ref": "#/components/schemas/FidcPortfolio" } }, "requestedAt": { "type": "string", "format": "date-time", "description": "Data e hora da requisição em ISO 8601.", "example": "2025-01-24T17:32:38.000Z" }, "took": { "type": "integer", "minimum": 0, "description": "Tempo de processamento, em milissegundos.", "example": 45 } }, "required": [ "funds", "requestedAt", "took" ] }, "example": { "funds": [ { "symbol": null, "cnpj": "05754060000113", "referenceDate": "2026-05-31T00:00:00.000Z", "sectors": { "brand": 0, "finance": 0, "commerce": 0, "industry": 0, "judicial": 0, "services": 1265864074.47, "factoring": 0, "realEstate": 0, "agribusiness": 0, "creditRights": 0, "publicSector": 0 }, "maturityBuckets": { "upTo30Days": 695649558.05, "upTo60Days": 570214516.42, "upTo90Days": 0, "upTo120Days": 0, "upTo150Days": 0, "upTo180Days": 0, "upTo360Days": 0, "upTo720Days": 0, "over1080Days": 0, "upTo1080Days": 0 }, "delinquencyBuckets": { "upTo30Days": 0, "upTo60Days": 0, "upTo90Days": 0, "upTo120Days": 0, "upTo150Days": 0, "upTo180Days": 0, "upTo360Days": 0, "upTo720Days": 0, "over1080Days": 0, "upTo1080Days": 0 }, "riskBuckets": { "debtorA": 0, "debtorB": 0, "debtorC": 0, "debtorD": 0, "debtorE": 0, "debtorF": 0, "debtorG": 0, "debtorH": 0, "debtorAA": 1265864074.47 }, "quotaClasses": [ { "investors": 1, "quotaCount": 27809423.4357832, "quotaValue": 59.0682179, "classOrSeries": "Subclasse Senior Subclasse 1" } ], "investors": { "seniorPf": 0, "subordinatedPf": 0, "seniorNonResident": 1, "subordinatedNonResident": 0, "seniorFinancialInstitution": 0, "subordinatedFinancialInstitution": 0 }, "cedentes": { "top1Cnpj": "61064911000177", "top2Cnpj": "61064911001734", "top1Percent": 65.78, "top2Percent": 11.29 } } ], "requestedAt": "2026-06-22T02:10:58.032Z", "took": 145 } } } }, "400": { "description": "Requisição inválida. Confira os parâmetros.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Requisição inválida. Um parâmetro falta ou tem valor incorreto.", "example": { "error": true, "message": "Parâmetros inválidos", "code": "BAD_REQUEST" } } ] } } } }, "401": { "description": "Token ausente ou inválido.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Token ausente ou inválido.", "example": { "error": true, "message": "Token de autenticação inválido ou ausente", "code": "UNAUTHORIZED" } } ] } } } }, "403": { "description": "O plano não inclui este recurso ou parâmetro.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Acesso negado. O plano não inclui este recurso.", "example": { "error": true, "message": "Você não tem permissão para acessar este recurso", "code": "FORBIDDEN" } } ] } } } }, "500": { "description": "Erro interno do servidor.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } } } }, "/api/v2/funds/fip/reports": { "get": { "tags": [ "Fundos" ], "operationId": "getFipReports", "security": [ { "Bearer": [] } ], "summary": "Relatórios de FIP", "description": "\nRelatórios trimestrais e quadrimestrais de FIP na CVM: patrimônio, capital comprometido e integralizado, cotas, classe e composição de investidores.\n\nUse para acompanhar o capital e os investidores de um FIP.\n\nEscolha o documento com `reportType`. Informe `cnpjs`, ou `symbols` quando o fundo tem ticker. FIP não tem cota diária.\n\n`sortBy` aceita `referenceDate`, `cnpj` e `netEquity`. O padrão é `referenceDate`.\n\nPlano Pro.\n", "parameters": [ { "schema": { "type": "string", "description": "Tickers separados por vírgula, até 20. Ex.: JURO11,XPCA11." }, "required": false, "name": "symbols", "in": "query" }, { "schema": { "type": "string", "description": "CNPJs separados por vírgula, até 20, com ou sem pontuação.", "example": "06033235000166" }, "required": false, "example": "06033235000166", "name": "cnpjs", "in": "query" }, { "schema": { "type": "string", "description": "Data inicial no formato YYYY-MM-DD.", "example": "2026-01-01" }, "required": false, "example": "2026-01-01", "name": "startDate", "in": "query" }, { "schema": { "type": "string", "description": "Data final no formato YYYY-MM-DD.", "example": "2026-06-30" }, "required": false, "example": "2026-06-30", "name": "endDate", "in": "query" }, { "schema": { "type": "integer", "minimum": 0, "exclusiveMinimum": true, "default": 1, "description": "Número da página, a partir de 1.", "example": 1 }, "required": false, "example": 1, "name": "page", "in": "query" }, { "schema": { "type": "integer", "minimum": 0, "exclusiveMinimum": true, "default": 20, "description": "Itens por página.", "example": 20 }, "required": false, "example": 20, "name": "limit", "in": "query" }, { "schema": { "type": "string", "description": "Campo usado na ordenação." }, "required": false, "name": "sortBy", "in": "query" }, { "schema": { "type": "string", "enum": [ "asc", "desc" ], "default": "desc", "description": "Ordem crescente (`asc`) ou decrescente (`desc`).", "example": "desc" }, "required": false, "example": "desc", "name": "sortOrder", "in": "query" }, { "schema": { "type": "string", "enum": [ "trimestral", "quadrimestral" ], "description": "Tipo de relatório." }, "required": false, "name": "reportType", "in": "query" } ], "responses": { "200": { "description": "Relatórios FIP", "content": { "application/json": { "schema": { "type": "object", "properties": { "reports": { "type": "array", "items": { "$ref": "#/components/schemas/FipReport" } }, "pagination": { "$ref": "#/components/schemas/FundPaginationMeta" }, "requestedAt": { "type": "string", "format": "date-time", "description": "Data e hora da requisição em ISO 8601.", "example": "2025-01-24T17:32:38.000Z" }, "took": { "type": "integer", "minimum": 0, "description": "Tempo de processamento, em milissegundos.", "example": 45 } }, "required": [ "reports", "pagination", "requestedAt", "took" ] }, "example": { "reports": [ { "symbol": null, "cnpj": "06033235000166", "name": "CRT FIP - MULTIESTRATÉGIA", "reportType": "quadrimestral", "referenceDate": "2026-04-30T00:00:00.000Z", "netEquity": 28866473.76, "targetAudience": "Investidores qualificados", "isInvestmentEntity": true, "investedInOtherFips": 0, "capital": { "committed": 13162950.24, "subscribed": 13162950.24, "paidIn": 13162950.24 }, "quotas": { "subscribed": 103, "paidIn": 13162950.24 }, "quotaClass": { "name": "1", "fundType": "CLASSES - FIP", "subscribedQuotas": 103, "paidInQuotas": 103, "quotaValue": 280257.02679611, "investors": 1, "hasDistinctEconomicRights": false, "hasSpecialPoliticalRights": false }, "investorComposition": { "totalInvestors": 1, "totalSubscribedQuotaPercent": 100, "byType": { "closedPensionFunds": { "investors": 1, "subscribedQuotaPercent": 100 } } } } ], "pagination": { "page": 1, "limit": 20, "totalItems": 1, "totalPages": 1, "hasNextPage": false }, "requestedAt": "2026-06-22T02:10:58.323Z", "took": 288 } } } }, "400": { "description": "Requisição inválida. Confira os parâmetros.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Requisição inválida. Um parâmetro falta ou tem valor incorreto.", "example": { "error": true, "message": "Parâmetros inválidos", "code": "BAD_REQUEST" } } ] } } } }, "401": { "description": "Token ausente ou inválido.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Token ausente ou inválido.", "example": { "error": true, "message": "Token de autenticação inválido ou ausente", "code": "UNAUTHORIZED" } } ] } } } }, "403": { "description": "O plano não inclui este recurso ou parâmetro.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Acesso negado. O plano não inclui este recurso.", "example": { "error": true, "message": "Você não tem permissão para acessar este recurso", "code": "FORBIDDEN" } } ] } } } }, "500": { "description": "Erro interno do servidor.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } } } }, "/api/v2/futures/options/expirations": { "get": { "tags": [ "Opções sobre Futuros" ], "operationId": "getFutureOptionExpirations", "summary": "Vencimentos de opções sobre futuros", "description": "\nRetorna as datas de vencimento de opções sobre um contrato futuro, como boi gordo (`BGI`), café arábica (`ICF`), milho (`CCM`) e soja (`SJC`). Por padrão, só vencimentos futuros.\n\nUse para montar um seletor de vencimento, listar vencimentos passados em um backtest e escolher a data antes de consultar a [cadeia de opções sobre futuros](https://brapi.dev/docs/futuros/opcoes/series).\n\nPasse `includeExpired=true` para incluir vencimentos passados. O vencimento da opção pode ser diferente do vencimento do futuro. Não calcule uma data a partir da outra.\n\nDisponível no plano Pro. Sem token, aceita só `underlying=BGI`.\n", "security": [ { "Bearer": [] } ], "parameters": [ { "schema": { "type": "string", "description": "Código do ativo do futuro. Ex.: `BGI`, `ICF`.", "example": "BGI" }, "required": true, "name": "underlying", "in": "query" }, { "schema": { "type": "string", "enum": [ "true", "false" ], "default": "false", "description": "`true` inclui vencimentos passados. Padrão: `false`, só vencimentos futuros." }, "required": false, "name": "includeExpired", "in": "query" } ], "responses": { "200": { "description": "Vencimentos retornados com sucesso.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/FutureOptionExpirationsResponse" } } } }, "400": { "description": "Requisição inválida. Confira os parâmetros.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Requisição inválida. Um parâmetro falta ou tem valor incorreto.", "example": { "error": true, "message": "Parâmetros inválidos", "code": "BAD_REQUEST" } } ] } } } }, "401": { "description": "Token ausente ou inválido.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Token ausente ou inválido.", "example": { "error": true, "message": "Token de autenticação inválido ou ausente", "code": "UNAUTHORIZED" } } ] } } } }, "403": { "description": "O plano não inclui este recurso ou parâmetro.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Acesso negado. O plano não inclui este recurso.", "example": { "error": true, "message": "Você não tem permissão para acessar este recurso", "code": "FORBIDDEN" } } ] } } } }, "500": { "description": "Erro interno do servidor.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } } } }, "/api/v2/futures/options/strikes": { "get": { "tags": [ "Opções sobre Futuros" ], "operationId": "getFutureOptionStrikes", "summary": "Strikes de opções sobre futuros", "description": "\nRetorna os preços de exercício das séries de opções sobre futuro de um vencimento, em ordem crescente. Filtre por `call` ou `put` com `side`.\n\nUse para montar um seletor de strike sem baixar a cadeia inteira.\n\nEste passo é opcional: a [cadeia de opções sobre futuros](https://brapi.dev/docs/futuros/opcoes/series) também aceita `minStrike` e `maxStrike`.\n\nDisponível no plano Pro. Sem token, aceita só `underlying=BGI`.\n", "security": [ { "Bearer": [] } ], "parameters": [ { "schema": { "type": "string", "description": "Código do ativo do futuro. Ex.: `BGI`.", "example": "BGI" }, "required": true, "name": "underlying", "in": "query" }, { "schema": { "type": "string", "description": "Data de vencimento, no formato YYYY-MM-DD. Veja os vencimentos em `/expirations`.", "example": "2027-08-31" }, "required": true, "name": "expirationDate", "in": "query" }, { "schema": { "type": "string", "enum": [ "call", "put" ], "description": "Filtra por `call` ou `put`. Sem o filtro, retorna os dois." }, "required": false, "name": "side", "in": "query" } ], "responses": { "200": { "description": "Preços de exercício retornados com sucesso.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/FutureOptionStrikesResponse" } } } }, "400": { "description": "Requisição inválida. Confira os parâmetros.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Requisição inválida. Um parâmetro falta ou tem valor incorreto.", "example": { "error": true, "message": "Parâmetros inválidos", "code": "BAD_REQUEST" } } ] } } } }, "401": { "description": "Token ausente ou inválido.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Token ausente ou inválido.", "example": { "error": true, "message": "Token de autenticação inválido ou ausente", "code": "UNAUTHORIZED" } } ] } } } }, "403": { "description": "O plano não inclui este recurso ou parâmetro.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Acesso negado. O plano não inclui este recurso.", "example": { "error": true, "message": "Você não tem permissão para acessar este recurso", "code": "FORBIDDEN" } } ] } } } }, "500": { "description": "Erro interno do servidor.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } } } }, "/api/v2/futures/options/chain": { "get": { "tags": [ "Opções sobre Futuros" ], "operationId": "getFutureOptionChain", "summary": "Cadeia de opções sobre futuros", "description": "\nRetorna as calls e puts de um vencimento de opções sobre futuro, com dados do contrato (`symbol`, `optionType`, `optionStyle`, `strike`, `contractMultiplier`) e a cotação do pregão: OHLC, `referencePrice`, volume e contratos em aberto.\n\nUse para montar uma tela de opções por vencimento, comparar calls e puts por strike e filtrar séries por faixa de strike.\n\nTodas as séries vêm do mesmo pregão: o último com dados até a data pedida, informado em `date`. Séries sem registro nesse pregão não aparecem.\n\nMuitas séries não negociam todo dia. Sem negócio, `close` vem `null` e `referencePrice` costuma vir preenchido.\n\nDisponível no plano Pro. Sem token, aceita só `underlying=BGI`.\n", "security": [ { "Bearer": [] } ], "parameters": [ { "schema": { "type": "string", "description": "Código do ativo do futuro. Ex.: `BGI`.", "example": "BGI" }, "required": true, "name": "underlying", "in": "query" }, { "schema": { "type": "string", "description": "Data de vencimento, no formato YYYY-MM-DD. Veja os vencimentos em `/expirations`.", "example": "2027-08-31" }, "required": true, "name": "expirationDate", "in": "query" }, { "schema": { "type": "string", "description": "Data do pregão, no formato YYYY-MM-DD. Padrão: último pregão disponível." }, "required": false, "name": "date", "in": "query" }, { "schema": { "type": "string", "enum": [ "call", "put" ], "description": "Filtra por `call` ou `put`. Sem o filtro, retorna os dois." }, "required": false, "name": "side", "in": "query" }, { "schema": { "type": "number", "nullable": true, "description": "Strike mínimo." }, "required": false, "name": "minStrike", "in": "query" }, { "schema": { "type": "number", "nullable": true, "description": "Strike máximo." }, "required": false, "name": "maxStrike", "in": "query" } ], "responses": { "200": { "description": "Séries retornadas com sucesso.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/FutureOptionChainResponse" } } } }, "400": { "description": "Requisição inválida. Confira os parâmetros.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Requisição inválida. Um parâmetro falta ou tem valor incorreto.", "example": { "error": true, "message": "Parâmetros inválidos", "code": "BAD_REQUEST" } } ] } } } }, "401": { "description": "Token ausente ou inválido.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Token ausente ou inválido.", "example": { "error": true, "message": "Token de autenticação inválido ou ausente", "code": "UNAUTHORIZED" } } ] } } } }, "403": { "description": "O plano não inclui este recurso ou parâmetro.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Acesso negado. O plano não inclui este recurso.", "example": { "error": true, "message": "Você não tem permissão para acessar este recurso", "code": "FORBIDDEN" } } ] } } } }, "404": { "description": "Nenhum dado encontrado para o pedido.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Nenhum dado encontrado para o pedido.", "example": { "error": true, "message": "Recurso não encontrado", "code": "NOT_FOUND" } } ] } } } }, "500": { "description": "Erro interno do servidor.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } } } }, "/api/v2/futures/options/positions": { "get": { "tags": [ "Opções sobre Futuros" ], "operationId": "getFutureOptionPositions", "summary": "Posições em aberto de opções sobre futuros", "description": "\nRetorna os contratos em aberto de cada série de opções sobre futuro de um vencimento.\n\nUse 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.\n\nUse `openInterest` como número de contratos em aberto. Aqui ele repete `reportedOpenInterest`. Os campos de posição coberta, descoberta, bloqueada e de empréstimo vêm vazios na maior parte dos segmentos de futuros. Volume e contratos em aberto medem coisas diferentes: uma série pode ficar sem negócio e ter muitos contratos em aberto.\n\nOs 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.\n\nAceita os mesmos filtros da [cadeia de opções sobre futuros](https://brapi.dev/docs/futuros/opcoes/series): `side`, `minStrike` e `maxStrike`.\n\nDisponível no plano Pro. Sem token, aceita só `underlying=BGI`.\n", "security": [ { "Bearer": [] } ], "parameters": [ { "schema": { "type": "string", "description": "Código do ativo do futuro. Ex.: `BGI`.", "example": "BGI" }, "required": true, "name": "underlying", "in": "query" }, { "schema": { "type": "string", "description": "Data de vencimento, no formato YYYY-MM-DD. Veja os vencimentos em `/expirations`.", "example": "2027-08-31" }, "required": true, "name": "expirationDate", "in": "query" }, { "schema": { "type": "string", "description": "Data do pregão, no formato YYYY-MM-DD. Padrão: último pregão disponível." }, "required": false, "name": "date", "in": "query" }, { "schema": { "type": "string", "enum": [ "call", "put" ], "description": "Filtra por `call` ou `put`. Sem o filtro, retorna os dois." }, "required": false, "name": "side", "in": "query" }, { "schema": { "type": "number", "nullable": true, "description": "Strike mínimo." }, "required": false, "name": "minStrike", "in": "query" }, { "schema": { "type": "number", "nullable": true, "description": "Strike máximo." }, "required": false, "name": "maxStrike", "in": "query" } ], "responses": { "200": { "description": "Posições retornadas com sucesso.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/FutureOptionPositionsResponse" } } } }, "400": { "description": "Requisição inválida. Confira os parâmetros.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Requisição inválida. Um parâmetro falta ou tem valor incorreto.", "example": { "error": true, "message": "Parâmetros inválidos", "code": "BAD_REQUEST" } } ] } } } }, "401": { "description": "Token ausente ou inválido.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Token ausente ou inválido.", "example": { "error": true, "message": "Token de autenticação inválido ou ausente", "code": "UNAUTHORIZED" } } ] } } } }, "403": { "description": "O plano não inclui este recurso ou parâmetro.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Acesso negado. O plano não inclui este recurso.", "example": { "error": true, "message": "Você não tem permissão para acessar este recurso", "code": "FORBIDDEN" } } ] } } } }, "404": { "description": "Nenhum dado encontrado para o pedido.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Nenhum dado encontrado para o pedido.", "example": { "error": true, "message": "Recurso não encontrado", "code": "NOT_FOUND" } } ] } } } }, "500": { "description": "Erro interno do servidor.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } } } }, "/api/v2/futures/options/historical": { "get": { "tags": [ "Opções sobre Futuros" ], "operationId": "getFutureOptionHistorical", "summary": "Histórico de opção sobre futuro", "description": "\nRetorna o histórico diário de uma opção sobre futuro, identificada por `symbol`: dados do contrato e, por pregão, OHLC, `referencePrice`, `oscillationPct`, negócios e volume.\n\nUse para montar gráficos de prêmio, fazer backtests e analisar a liquidez de uma série.\n\nEncontre a série na [cadeia de opções sobre futuros](https://brapi.dev/docs/futuros/opcoes/series). Séries longe do preço do futuro quase não negociam, e o histórico pode ter poucos pregões.\n\nDisponível no plano Pro. Sem token, aceita só `symbol` com prefixo `BGI`.\n", "security": [ { "Bearer": [] } ], "parameters": [ { "schema": { "type": "string", "description": "Código da série de opção.", "example": "BGIM26C028000" }, "required": true, "name": "symbol", "in": "query" }, { "schema": { "type": "string", "description": "Data inicial, no formato YYYY-MM-DD. Padrão: 12 meses atrás.", "example": "2026-05-01" }, "required": false, "name": "startDate", "in": "query" }, { "schema": { "type": "string", "description": "Data final, no formato YYYY-MM-DD. Padrão: hoje.", "example": "2026-06-01" }, "required": false, "name": "endDate", "in": "query" }, { "schema": { "type": "string", "enum": [ "asc", "desc" ], "default": "desc", "description": "Ordem por data: `asc` do mais antigo ao mais recente, `desc` do mais recente ao mais antigo." }, "required": false, "name": "sortOrder", "in": "query" } ], "responses": { "200": { "description": "Histórico retornado com sucesso.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/FutureOptionHistoricalResponse" } } } }, "400": { "description": "Requisição inválida. Confira os parâmetros.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Requisição inválida. Um parâmetro falta ou tem valor incorreto.", "example": { "error": true, "message": "Parâmetros inválidos", "code": "BAD_REQUEST" } } ] } } } }, "401": { "description": "Token ausente ou inválido.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Token ausente ou inválido.", "example": { "error": true, "message": "Token de autenticação inválido ou ausente", "code": "UNAUTHORIZED" } } ] } } } }, "403": { "description": "O plano não inclui este recurso ou parâmetro.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Acesso negado. O plano não inclui este recurso.", "example": { "error": true, "message": "Você não tem permissão para acessar este recurso", "code": "FORBIDDEN" } } ] } } } }, "404": { "description": "Nenhum dado encontrado para o pedido.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Nenhum dado encontrado para o pedido.", "example": { "error": true, "message": "Recurso não encontrado", "code": "NOT_FOUND" } } ] } } } }, "500": { "description": "Erro interno do servidor.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } } } }, "/api/v2/futures/options/positions/history": { "get": { "tags": [ "Opções sobre Futuros" ], "operationId": "getFutureOptionPositionsHistory", "summary": "Histórico de posições em aberto de opções sobre futuros", "description": "\nRetorna o histórico diário de contratos em aberto de uma opção sobre futuro, identificada por `symbol`.\n\nUse para ver a montagem e a desmontagem de posições ao longo do tempo e comparar contratos em aberto com o preço.\n\nCada item é uma apuração diária. Pregão sem apuração não aparece.\n\nDisponível no plano Pro. Sem token, aceita só `symbol` com prefixo `BGI`.\n", "security": [ { "Bearer": [] } ], "parameters": [ { "schema": { "type": "string", "description": "Código da série de opção.", "example": "BGIM26C028000" }, "required": true, "name": "symbol", "in": "query" }, { "schema": { "type": "string", "description": "Data inicial, no formato YYYY-MM-DD. Padrão: 12 meses atrás.", "example": "2026-05-01" }, "required": false, "name": "startDate", "in": "query" }, { "schema": { "type": "string", "description": "Data final, no formato YYYY-MM-DD. Padrão: hoje.", "example": "2026-06-01" }, "required": false, "name": "endDate", "in": "query" }, { "schema": { "type": "string", "enum": [ "asc", "desc" ], "default": "desc", "description": "Ordem por data: `asc` do mais antigo ao mais recente, `desc` do mais recente ao mais antigo." }, "required": false, "name": "sortOrder", "in": "query" } ], "responses": { "200": { "description": "Histórico de posições retornado com sucesso.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/FutureOptionPositionsHistoryResponse" } } } }, "400": { "description": "Requisição inválida. Confira os parâmetros.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Requisição inválida. Um parâmetro falta ou tem valor incorreto.", "example": { "error": true, "message": "Parâmetros inválidos", "code": "BAD_REQUEST" } } ] } } } }, "401": { "description": "Token ausente ou inválido.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Token ausente ou inválido.", "example": { "error": true, "message": "Token de autenticação inválido ou ausente", "code": "UNAUTHORIZED" } } ] } } } }, "403": { "description": "O plano não inclui este recurso ou parâmetro.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Acesso negado. O plano não inclui este recurso.", "example": { "error": true, "message": "Você não tem permissão para acessar este recurso", "code": "FORBIDDEN" } } ] } } } }, "404": { "description": "Nenhum dado encontrado para o pedido.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Nenhum dado encontrado para o pedido.", "example": { "error": true, "message": "Recurso não encontrado", "code": "NOT_FOUND" } } ] } } } }, "500": { "description": "Erro interno do servidor.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } } } }, "/api/v2/futures/options/analytics": { "get": { "tags": [ "Opções sobre Futuros" ], "operationId": "getFutureOptionAnalytics", "summary": "Gregas e IV de opções sobre futuros", "description": "\nRetorna a volatilidade implícita e as gregas (delta, gamma, theta, vega e rho) de cada série de opções sobre futuro de um vencimento, calculadas sobre o preço de fechamento.\n\nUse para comparar a IV entre strikes, montar um smile de volatilidade e medir a exposição de uma carteira de opções.\n\n`timeToExpirationYears` usa dias corridos até o vencimento divididos por 365. Por exemplo, 17 dias correspondem a `17 / 365 = 0.04657534`.\n\n`impliedVolatility` é anual, em decimal. Para um dia corrido, use `impliedVolatility / sqrt(365)`. Para `d` dias corridos, use `impliedVolatility * sqrt(d / 365)`.\n\nA divisão por `sqrt(252)` pressupõe 252 pregões por ano. Ela expressa outra convenção diária e não altera o prazo usado no cálculo da opção.\n\nSem negócio no dia, o cálculo usa `referencePrice`. Nesses casos, `priceSource` vem `referencePrice` e `confidence` vem `low`. Sem preço, os campos calculados vêm `null` e `nullReason` diz o motivo.\n\n`theta` vem por ano. `vega` e `rho` medem o efeito de uma variação de 1,00 na volatilidade e no juro. Divida por 100 para ter o efeito de 1 ponto percentual.\n\nSéries americanas usam árvore binomial sobre o futuro. Séries europeias usam Black-76. A maioria das opções sobre futuros é americana.\n\nDisponível no plano Pro. Sem token, aceita só `underlying=BGI`.\n", "security": [ { "Bearer": [] } ], "parameters": [ { "schema": { "type": "string", "description": "Código do ativo do futuro. Ex.: `BGI`.", "example": "BGI" }, "required": true, "name": "underlying", "in": "query" }, { "schema": { "type": "string", "description": "Data de vencimento, no formato YYYY-MM-DD. Veja os vencimentos em `/expirations`.", "example": "2027-08-31" }, "required": true, "name": "expirationDate", "in": "query" }, { "schema": { "type": "string", "description": "Data do pregão, no formato YYYY-MM-DD. Padrão: último pregão disponível." }, "required": false, "name": "date", "in": "query" }, { "schema": { "type": "string", "enum": [ "call", "put" ], "description": "Filtra por `call` ou `put`. Sem o filtro, retorna os dois." }, "required": false, "name": "side", "in": "query" }, { "schema": { "type": "number", "nullable": true, "description": "Strike mínimo." }, "required": false, "name": "minStrike", "in": "query" }, { "schema": { "type": "number", "nullable": true, "description": "Strike máximo." }, "required": false, "name": "maxStrike", "in": "query" }, { "schema": { "type": "integer", "minimum": 1, "maximum": 500, "description": "Número máximo de séries na resposta. Padrão: todas as séries do filtro.", "example": 50 }, "required": false, "name": "limit", "in": "query" } ], "responses": { "200": { "description": "Análises retornadas com sucesso.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/FutureOptionAnalyticsResponse" } } } }, "400": { "description": "Requisição inválida. Confira os parâmetros.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Requisição inválida. Um parâmetro falta ou tem valor incorreto.", "example": { "error": true, "message": "Parâmetros inválidos", "code": "BAD_REQUEST" } } ] } } } }, "401": { "description": "Token ausente ou inválido.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Token ausente ou inválido.", "example": { "error": true, "message": "Token de autenticação inválido ou ausente", "code": "UNAUTHORIZED" } } ] } } } }, "403": { "description": "O plano não inclui este recurso ou parâmetro.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Acesso negado. O plano não inclui este recurso.", "example": { "error": true, "message": "Você não tem permissão para acessar este recurso", "code": "FORBIDDEN" } } ] } } } }, "404": { "description": "Nenhum dado encontrado para o pedido.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Nenhum dado encontrado para o pedido.", "example": { "error": true, "message": "Recurso não encontrado", "code": "NOT_FOUND" } } ] } } } }, "500": { "description": "Erro interno do servidor.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } } } }, "/api/v2/futures/options/analytics/history": { "get": { "tags": [ "Opções sobre Futuros" ], "operationId": "getFutureOptionAnalyticsHistory", "summary": "Histórico de gregas e IV de opções sobre futuros", "description": "\nRetorna o histórico diário de volatilidade implícita e gregas de uma opção sobre futuro, identificada por `symbol`.\n\nUse para ver como a IV reagiu a eventos, como relatórios de safra ou o vencimento, e para testar estratégias com gregas.\n\nOs campos seguem as regras de [gregas e IV de opções sobre futuros](https://brapi.dev/docs/futuros/opcoes/analytics).\n\nDisponível no plano Pro. Sem token, aceita só `symbol` com prefixo `BGI`.\n", "security": [ { "Bearer": [] } ], "parameters": [ { "schema": { "type": "string", "description": "Código da série de opção.", "example": "BGIM26C028000" }, "required": true, "name": "symbol", "in": "query" }, { "schema": { "type": "string", "description": "Data inicial, no formato YYYY-MM-DD. Padrão: 12 meses atrás.", "example": "2026-05-01" }, "required": false, "name": "startDate", "in": "query" }, { "schema": { "type": "string", "description": "Data final, no formato YYYY-MM-DD. Padrão: hoje.", "example": "2026-06-01" }, "required": false, "name": "endDate", "in": "query" }, { "schema": { "type": "string", "enum": [ "asc", "desc" ], "default": "desc", "description": "Ordem por data: `asc` do mais antigo ao mais recente, `desc` do mais recente ao mais antigo." }, "required": false, "name": "sortOrder", "in": "query" } ], "responses": { "200": { "description": "Histórico de análises retornado com sucesso.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/FutureOptionAnalyticsHistoryResponse" } } } }, "400": { "description": "Requisição inválida. Confira os parâmetros.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Requisição inválida. Um parâmetro falta ou tem valor incorreto.", "example": { "error": true, "message": "Parâmetros inválidos", "code": "BAD_REQUEST" } } ] } } } }, "401": { "description": "Token ausente ou inválido.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Token ausente ou inválido.", "example": { "error": true, "message": "Token de autenticação inválido ou ausente", "code": "UNAUTHORIZED" } } ] } } } }, "403": { "description": "O plano não inclui este recurso ou parâmetro.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Acesso negado. O plano não inclui este recurso.", "example": { "error": true, "message": "Você não tem permissão para acessar este recurso", "code": "FORBIDDEN" } } ] } } } }, "404": { "description": "Nenhum dado encontrado para o pedido.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Nenhum dado encontrado para o pedido.", "example": { "error": true, "message": "Recurso não encontrado", "code": "NOT_FOUND" } } ] } } } }, "500": { "description": "Erro interno do servidor.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } } } }, "/api/v2/futures/list": { "get": { "tags": [ "Futuros" ], "operationId": "getFutureList", "summary": "Lista de contratos futuros", "description": "\nContratos futuros com vencimento, multiplicador, lote e ISIN, sem preço.\nFiltre por ativo, segmento e contratos vencidos.\n\nUse para achar o código exato de um contrato, listar os vencimentos de um ativo\nou montar um seletor de contratos.\n\nUm ativo tem vários contratos ao mesmo tempo, um por vencimento. `WINJ26` e\n`WINM26` são o mesmo mini Ibovespa em meses diferentes. Veja como ler o\ncódigo em [futuros](https://brapi.dev/docs/futuros).\n\nPor padrão, a lista traz só contratos com vencimento a partir de hoje. Plano\nPro. Sem token, aceita só `asset=WIN` ou `asset=WDO`.\n", "security": [ { "Bearer": [] } ], "parameters": [ { "schema": { "type": "string", "description": "Código do ativo. Ex.: `WIN`, `BGI`, `DI1`.", "example": "BGI" }, "required": false, "name": "asset", "in": "query" }, { "schema": { "type": "string", "enum": [ "financial", "agribusiness" ], "description": "Segmento do contrato." }, "required": false, "name": "segment", "in": "query" }, { "schema": { "type": "string", "enum": [ "true", "false" ], "default": "false", "description": "`true` inclui contratos vencidos." }, "required": false, "name": "includeExpired", "in": "query" }, { "schema": { "type": "integer", "minimum": 1, "default": 1, "description": "Número da página, a partir de 1." }, "required": false, "name": "page", "in": "query" }, { "schema": { "type": "integer", "minimum": 1, "maximum": 100, "default": 50, "description": "Itens por página. Máximo: 100." }, "required": false, "name": "limit", "in": "query" }, { "schema": { "type": "string", "enum": [ "symbol", "expirationDate", "underlyingAsset" ], "default": "expirationDate", "description": "Campo usado na ordenação." }, "required": false, "name": "sortBy", "in": "query" }, { "schema": { "type": "string", "enum": [ "asc", "desc" ], "default": "asc", "description": "Direção da ordenação." }, "required": false, "name": "sortOrder", "in": "query" } ], "responses": { "200": { "description": "Lista de contratos.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/FutureListResponse" } } } }, "400": { "description": "Requisição inválida. Confira os parâmetros.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Requisição inválida. Um parâmetro falta ou tem valor incorreto.", "example": { "error": true, "message": "Parâmetros inválidos", "code": "BAD_REQUEST" } } ] } } } }, "401": { "description": "Token ausente ou inválido.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Token ausente ou inválido.", "example": { "error": true, "message": "Token de autenticação inválido ou ausente", "code": "UNAUTHORIZED" } } ] } } } }, "403": { "description": "O plano não inclui este recurso ou parâmetro.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Acesso negado. O plano não inclui este recurso.", "example": { "error": true, "message": "Você não tem permissão para acessar este recurso", "code": "FORBIDDEN" } } ] } } } }, "500": { "description": "Erro interno do servidor.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } } } }, "/api/v2/futures/quote": { "get": { "tags": [ "Futuros" ], "operationId": "getFutureQuotes", "summary": "Cotação de futuros", "description": "\nDados do último pregão de até 20 contratos futuros: máxima, mínima,\nfechamento, preço de ajuste, variação e volume.\n\nUse para mostrar o ajuste do dia, marcar posições a mercado ou montar um\npainel de futuros.\n\n`settlement` é o preço de ajuste. A bolsa usa esse preço para acertar as\nposições todo dia. `close` é o último negócio. Em contrato com pouca\nnegociação, `close`, `high` e `low` podem vir `null`, e\n`settlement` continua preenchido.\n\nEm contratos de juros, como DI1 e DAP (`quotationType=rate`), `close`,\n`high`, `low` e `average` vêm em % a.a. `settlement` vem em reais, e\na taxa do ajuste fica em `settlementRate`.\n\nOs dados são de fim de dia. Código desconhecido fica fora de `quotes`.\nPlano Pro. Sem token, aceita só `symbols` que começam com `WIN` ou `WDO`.\n", "security": [ { "Bearer": [] } ], "parameters": [ { "schema": { "type": "string", "description": "Contratos separados por vírgula, até 20. Ex.: WINM26,DI1F27.", "example": "WINM26,BGIF27,DI1F27" }, "required": true, "name": "symbols", "in": "query" } ], "responses": { "200": { "description": "Cotações.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/FutureQuoteResponse" } } } }, "400": { "description": "Requisição inválida. Confira os parâmetros.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Requisição inválida. Um parâmetro falta ou tem valor incorreto.", "example": { "error": true, "message": "Parâmetros inválidos", "code": "BAD_REQUEST" } } ] } } } }, "401": { "description": "Token ausente ou inválido.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Token ausente ou inválido.", "example": { "error": true, "message": "Token de autenticação inválido ou ausente", "code": "UNAUTHORIZED" } } ] } } } }, "403": { "description": "O plano não inclui este recurso ou parâmetro.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Acesso negado. O plano não inclui este recurso.", "example": { "error": true, "message": "Você não tem permissão para acessar este recurso", "code": "FORBIDDEN" } } ] } } } }, "500": { "description": "Erro interno do servidor.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } } } }, "/api/v2/futures/specs": { "get": { "tags": [ "Futuros" ], "operationId": "getFutureSpecs", "summary": "Especificações de futuros", "description": "\nDados fixos de até 20 contratos futuros, sem preço: vencimento, primeiro\ne último pregão, multiplicador, lote, tipo de entrega, ISIN e código CFI.\n\nUse para calcular o valor financeiro de uma posição, conferir vencimentos ou\ncadastrar contratos no seu sistema.\n\n`contractMultiplier` converte pontos em reais. Exemplos: `WIN` vale 0,2\npor ponto, `WDO` vale 10 e `BGI` vale 330. Para o preço do dia, use a\n[cotação de futuros](https://brapi.dev/docs/futuros/cotacao).\n\nPlano Pro. Sem token, aceita só `symbols` que começam com `WIN` ou `WDO`.\n", "security": [ { "Bearer": [] } ], "parameters": [ { "schema": { "type": "string", "description": "Contratos separados por vírgula, até 20. Ex.: WINM26,DI1F27.", "example": "WINM26,BGIF27,DI1F27" }, "required": true, "name": "symbols", "in": "query" } ], "responses": { "200": { "description": "Especificações.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/FutureSpecsResponse" } } } }, "400": { "description": "Requisição inválida. Confira os parâmetros.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Requisição inválida. Um parâmetro falta ou tem valor incorreto.", "example": { "error": true, "message": "Parâmetros inválidos", "code": "BAD_REQUEST" } } ] } } } }, "401": { "description": "Token ausente ou inválido.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Token ausente ou inválido.", "example": { "error": true, "message": "Token de autenticação inválido ou ausente", "code": "UNAUTHORIZED" } } ] } } } }, "403": { "description": "O plano não inclui este recurso ou parâmetro.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Acesso negado. O plano não inclui este recurso.", "example": { "error": true, "message": "Você não tem permissão para acessar este recurso", "code": "FORBIDDEN" } } ] } } } }, "500": { "description": "Erro interno do servidor.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } } } }, "/api/v2/futures/historical": { "get": { "tags": [ "Futuros" ], "operationId": "getFutureHistorical", "summary": "Histórico de futuros", "description": "\nSérie diária de um contrato futuro: máxima, mínima, fechamento, preço de\najuste, taxa de ajuste em contratos de juros, variação e volume.\n\nUse para gráficos, backtests ou para estudar o ajuste diário de um vencimento.\n\nSem `startDate`, a série começa 12 meses antes de hoje. Sem `endDate`,\ntermina hoje. O histórico cobre cerca de 1 ano. `open` vem sempre `null`,\nporque os dados de fim de dia não trazem abertura.\n\nA série termina no vencimento do contrato. Para seguir um ativo por mais tempo,\njunte contratos seguidos e trate o salto de preço na troca. Para vários\ncontratos, use a [cotação](https://brapi.dev/docs/futuros/cotacao) ou a\n[curva de vencimentos](https://brapi.dev/docs/futuros/curva-de-vencimentos).\n\nPlano Pro. Sem token, aceita só `symbol` que começa com `WIN` ou `WDO`.\n", "security": [ { "Bearer": [] } ], "parameters": [ { "schema": { "type": "string", "description": "Código do contrato. Ex.: `WINM26`.", "example": "WINM26" }, "required": true, "name": "symbol", "in": "query" }, { "schema": { "type": "string", "description": "Data inicial no formato YYYY-MM-DD. Padrão: 12 meses antes de hoje." }, "required": false, "name": "startDate", "in": "query" }, { "schema": { "type": "string", "description": "Data final no formato YYYY-MM-DD. Padrão: hoje." }, "required": false, "name": "endDate", "in": "query" }, { "schema": { "type": "string", "enum": [ "asc", "desc" ], "default": "desc", "description": "Ordem das datas. `desc` traz o pregão mais recente primeiro." }, "required": false, "name": "sortOrder", "in": "query" } ], "responses": { "200": { "description": "Histórico.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/FutureHistoricalResponse" } } } }, "400": { "description": "Requisição inválida. Confira os parâmetros.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Requisição inválida. Um parâmetro falta ou tem valor incorreto.", "example": { "error": true, "message": "Parâmetros inválidos", "code": "BAD_REQUEST" } } ] } } } }, "401": { "description": "Token ausente ou inválido.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Token ausente ou inválido.", "example": { "error": true, "message": "Token de autenticação inválido ou ausente", "code": "UNAUTHORIZED" } } ] } } } }, "403": { "description": "O plano não inclui este recurso ou parâmetro.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Acesso negado. O plano não inclui este recurso.", "example": { "error": true, "message": "Você não tem permissão para acessar este recurso", "code": "FORBIDDEN" } } ] } } } }, "404": { "description": "Nenhum dado encontrado para o pedido.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Nenhum dado encontrado para o pedido.", "example": { "error": true, "message": "Recurso não encontrado", "code": "NOT_FOUND" } } ] } } } }, "500": { "description": "Erro interno do servidor.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } } } }, "/api/v2/futures/term-structure": { "get": { "tags": [ "Futuros" ], "operationId": "getFutureTermStructure", "summary": "Curva de vencimentos", "description": "\nTodos os contratos futuros de um ativo com vencimento a partir de hoje,\ndo mais próximo ao mais distante, cada um com os dados do último pregão.\n\nUse para montar a curva de juros do DI, ver a curva de preço de commodities ou\ncomparar vencimentos do mini Ibovespa.\n\nEm `DI1`, a taxa de cada prazo fica em `settlementRate`. Nos contratos\ncotados em preço, use `settlement`. Com `includeExpired=true`, a resposta\ninclui contratos vencidos.\n\nAtivos comuns: `DI1` (DI), `WIN` (mini Ibovespa), `WDO` (mini dólar),\n`BGI` (boi gordo), `ICF` (café), `CCM` (milho) e `SJC` (soja).\n\nPlano Pro. Sem token, aceita só `asset=WIN` ou `asset=WDO`.\n", "security": [ { "Bearer": [] } ], "parameters": [ { "schema": { "type": "string", "description": "Código do ativo. Ex.: `DI1`, `WIN`, `BGI`.", "example": "BGI" }, "required": true, "name": "asset", "in": "query" }, { "schema": { "type": "string", "enum": [ "true", "false" ], "default": "false", "description": "`true` inclui contratos vencidos." }, "required": false, "name": "includeExpired", "in": "query" } ], "responses": { "200": { "description": "Curva de vencimentos.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/FutureTermStructureResponse" } } } }, "400": { "description": "Requisição inválida. Confira os parâmetros.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Requisição inválida. Um parâmetro falta ou tem valor incorreto.", "example": { "error": true, "message": "Parâmetros inválidos", "code": "BAD_REQUEST" } } ] } } } }, "401": { "description": "Token ausente ou inválido.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Token ausente ou inválido.", "example": { "error": true, "message": "Token de autenticação inválido ou ausente", "code": "UNAUTHORIZED" } } ] } } } }, "403": { "description": "O plano não inclui este recurso ou parâmetro.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Acesso negado. O plano não inclui este recurso.", "example": { "error": true, "message": "Você não tem permissão para acessar este recurso", "code": "FORBIDDEN" } } ] } } } }, "500": { "description": "Erro interno do servidor.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } } } }, "/api/v2/inflation": { "get": { "tags": [ "Indicadores" ], "operationId": "getInflation", "summary": "IPCA acumulado em 12 meses", "description": "\nSérie mensal do IPCA acumulado em 12 meses, o índice oficial de inflação do\nBrasil. Cada ponto é o acumulado dos 12 meses até aquela data.\n\nEndpoint descontinuado. Use as\n[séries macroeconômicas](https://brapi.dev/docs/macro) com `symbols=ipca12m`\npara o acumulado ou `symbols=ipca` para a variação do mês.\n\nSem filtros, devolve os últimos 12 meses. Filtre com `start` e `end` no\nformato `DD/MM/YYYY`. O IPCA de um mês sai no mês seguinte.\n\nPlanos Startup e Pro.\n", "security": [ { "Bearer": [] } ], "parameters": [ { "schema": { "type": "string", "description": "true devolve a série desde 01/01/2000. Sem datas e sem este parâmetro, devolve os últimos 12 meses.", "example": "false" }, "required": false, "name": "historical", "in": "query" }, { "schema": { "type": "string", "description": "Data inicial no formato DD/MM/YYYY.", "example": "01/01/2023" }, "required": false, "name": "start", "in": "query" }, { "schema": { "type": "string", "description": "Data final no formato DD/MM/YYYY. Padrão: hoje.", "example": "31/12/2023" }, "required": false, "name": "end", "in": "query" }, { "schema": { "type": "string", "description": "Campo de ordenação: date ou value. Padrão: date.", "example": "date" }, "required": false, "name": "sortBy", "in": "query" }, { "schema": { "type": "string", "description": "Ordem: asc ou desc. Padrão: desc.", "example": "desc" }, "required": false, "name": "sortOrder", "in": "query" } ], "responses": { "200": { "description": "IPCA acumulado em 12 meses, um ponto por mês.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InflationResponseSimple" } } } }, "401": { "description": "**Não Autorizado.** Token de autenticação não fornecido ou inválido.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Token ausente ou inválido.", "example": { "error": true, "message": "Token de autenticação inválido ou ausente", "code": "UNAUTHORIZED" } } ] } } } }, "403": { "description": "**Acesso Proibido.** Seu plano não tem acesso ao módulo de indicadores econômicos.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Acesso negado. O plano não inclui este recurso.", "example": { "error": true, "message": "Você não tem permissão para acessar este recurso", "code": "FORBIDDEN" } } ] } } } }, "500": { "description": "**Erro Interno.** Erro interno ao processar a requisição.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "503": { "description": "**Serviço Indisponível.** Serviço externo temporariamente indisponível.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Serviço temporariamente indisponível.", "example": { "error": true, "message": "Serviço externo temporariamente indisponível. Tente novamente em alguns minutos.", "code": "EXTERNAL_API_ERROR" } } ] } } } } } } }, "/api/v2/inflation/available": { "get": { "tags": [ "Indicadores" ], "operationId": "getInflationAvailable", "summary": "Países com dados de inflação", "description": "\nLista os países que o endpoint de inflação aceita. Hoje só `brazil`.\n\nEndpoint descontinuado. Use as\n[séries macroeconômicas](https://brapi.dev/docs/macro). Planos Startup e Pro.\n", "security": [ { "Bearer": [] } ], "parameters": [ { "schema": { "type": "string", "enum": [ "json" ], "description": "Formato da resposta. Só aceita json." }, "required": false, "name": "format", "in": "query" } ], "responses": { "200": { "description": "Lista de países disponíveis para dados de inflação retornada com sucesso.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InflationAvailableResponse" } } } } } } }, "/api/v2/macro/available": { "get": { "tags": [ "Macroeconomia" ], "operationId": "getMacroAvailable", "summary": "Listar séries macroeconômicas", "description": "\nLista as séries macroeconômicas com código (campo `slug`), nome, descrição,\nunidade, frequência, categoria e data de início do histórico.\n\nUse para achar o código antes de chamar as\n[séries macroeconômicas](https://brapi.dev/docs/macro) ou o\n[último valor](https://brapi.dev/docs/macro/latest).\n\n`q` e `category` funcionam juntos. Endpoint público, sem token.\n", "parameters": [ { "schema": { "type": "string", "minLength": 1, "description": "Texto buscado no código, nome alternativo, nome e descrição. Ignora maiúsculas e aceita parte da palavra.", "example": "juros" }, "required": false, "name": "q", "in": "query" }, { "schema": { "type": "string", "description": "Categoria da série: `interestRate`, `inflation`, `monetary`, `activity`, `labor`, `external`.", "example": "interestRate" }, "required": false, "name": "category", "in": "query" } ], "responses": { "200": { "description": "Lista de séries disponíveis retornada com sucesso.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MacroAvailableResponse" } } } } } } }, "/api/v2/macro": { "get": { "tags": [ "Macroeconomia" ], "operationId": "getMacroSeries", "summary": "Séries macroeconômicas", "description": "\nHistórico de indicadores macroeconômicos do Brasil, como Selic, CDI, IPCA,\nIGP-M, agregados monetários, atividade, emprego e setor externo. Cada série tem\num código, como `selic` ou `ipca`, que a resposta mostra no campo `slug`.\n\nUse para gráficos de juros e inflação, modelos de renda fixa e análise de\ncenário.\n\nPeça até 20 séries por chamada em `symbols`, como\n`symbols=selic,ipca`. Sem datas, a janela é dos últimos 12 meses. `limit`\ncorta os pontos de cada série e tem padrão 20. Com o padrão, uma\nsérie diária não cobre os 12 meses. Aumente `limit` para ver a janela toda.\n\nAs séries têm frequências diferentes: a Selic e o CDI são diários, o IPCA e o\nPIB mensal são mensais. Leia `series.frequency` antes de juntar duas séries.\n\nUm nome alternativo no lugar do código, como `igp-m` para `igpm`, funciona e\ngera um aviso em `warnings`. Um código desconhecido gera um item em\n`errors` e não derruba as outras séries. Pares de\ncâmbio ficam no [histórico de câmbio](https://brapi.dev/docs/moedas/historico).\n\nVeja os códigos em [listar séries](https://brapi.dev/docs/macro/available).\nPlanos Startup e Pro.\n", "security": [ { "Bearer": [] } ], "parameters": [ { "schema": { "type": "string", "description": "Códigos das séries separados por vírgula, até 20. Códigos por categoria: interestRate: `selic`, `selicovernight`, `cdi`, `tr`; inflation: `ipca`, `ipca12m`, `inpc`, `igpm`, `igpdi`; activity: `ibcbr`, `pibmensal`; labor: `desemprego`; monetary: `m1`, `m4`; external: `reservas`.", "example": "selic,ipca" }, "required": true, "name": "symbols", "in": "query" }, { "schema": { "type": "string", "description": "Data inicial no formato YYYY-MM-DD. Padrão: 12 meses atrás.", "example": "2025-01-01" }, "required": false, "name": "startDate", "in": "query" }, { "schema": { "type": "string", "description": "Data final no formato YYYY-MM-DD. Padrão: hoje.", "example": "2026-04-30" }, "required": false, "name": "endDate", "in": "query" }, { "schema": { "type": "string", "enum": [ "asc", "desc" ], "default": "desc", "description": "Ordem por data.", "example": "desc" }, "required": false, "name": "sortOrder", "in": "query" }, { "schema": { "type": "integer", "minimum": 0, "exclusiveMinimum": true, "description": "Máximo de observações por série. Padrão: 20. Não há teto.", "example": 20 }, "required": false, "name": "limit", "in": "query" } ], "responses": { "200": { "description": "Observações retornadas com sucesso.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MacroSeriesDataResponse" } } } }, "400": { "description": "Parâmetros inválidos.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Requisição inválida. Um parâmetro falta ou tem valor incorreto.", "example": { "error": true, "message": "Parâmetros inválidos", "code": "BAD_REQUEST" } } ] } } } }, "401": { "description": "Token ausente ou inválido.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Token ausente ou inválido.", "example": { "error": true, "message": "Token de autenticação inválido ou ausente", "code": "UNAUTHORIZED" } } ] } } } }, "403": { "description": "Plano sem acesso ao módulo de macroeconomia.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Acesso negado. O plano não inclui este recurso.", "example": { "error": true, "message": "Você não tem permissão para acessar este recurso", "code": "FORBIDDEN" } } ] } } } }, "500": { "description": "Erro interno.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } } } }, "/api/v2/macro/latest": { "get": { "tags": [ "Macroeconomia" ], "operationId": "getMacroSeriesLatest", "summary": "Último valor das séries", "description": "\nO valor mais recente de cada série macroeconômica pedida em `symbols`. Sem\n`symbols`, devolve todas as séries.\n\nUse para painéis com Selic, CDI e IPCA atuais sem baixar o histórico.\n\nA data de cada valor segue a frequência da série. O IPCA mais recente pode ser\nde um mês atrás e a Selic de ontem. `latest` é nulo quando a série não tem\ndados.\n\nPlanos Startup e Pro.\n", "security": [ { "Bearer": [] } ], "parameters": [ { "schema": { "type": "string", "description": "Códigos das séries separados por vírgula, até 20. Sem valor, devolve todas as séries. Códigos: selic, selicovernight, cdi, tr, ipca, ipca12m, inpc, igpm, igpdi, ibcbr, pibmensal, desemprego, m1, m4, reservas.", "example": "selic,cdi,ipca" }, "required": false, "name": "symbols", "in": "query" } ], "responses": { "200": { "description": "Snapshot retornado com sucesso.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MacroSeriesLatestResponse" } } } }, "400": { "description": "Parâmetros inválidos.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Requisição inválida. Um parâmetro falta ou tem valor incorreto.", "example": { "error": true, "message": "Parâmetros inválidos", "code": "BAD_REQUEST" } } ] } } } }, "401": { "description": "Token ausente ou inválido.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Token ausente ou inválido.", "example": { "error": true, "message": "Token de autenticação inválido ou ausente", "code": "UNAUTHORIZED" } } ] } } } }, "403": { "description": "Plano sem acesso ao módulo de macroeconomia.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Acesso negado. O plano não inclui este recurso.", "example": { "error": true, "message": "Você não tem permissão para acessar este recurso", "code": "FORBIDDEN" } } ] } } } }, "500": { "description": "Erro interno.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } } } }, "/api/v2/options/expirations": { "get": { "tags": [ "Opções" ], "operationId": "listOptionExpirations", "summary": "Vencimentos de opções", "description": "\nRetorna as datas de vencimento de opções de um ativo subjacente: ação, ETF, índice, `DOL` ou `WDO`. Por padrão, só vencimentos futuros.\n\nUse para montar um seletor de vencimento, listar vencimentos passados em um backtest e escolher a data antes de consultar a [cadeia de opções](https://brapi.dev/docs/opcoes/series).\n\nPasse `includeExpired=true` para incluir vencimentos passados.\n\nDisponível no plano Pro. Sem token, aceita só `underlying=PETR4`.\n", "security": [ { "Bearer": [] } ], "parameters": [ { "schema": { "type": "string", "description": "Ticker do ativo subjacente: ação, ETF, índice, `DOL` ou `WDO`.", "example": "PETR4" }, "required": true, "name": "underlying", "in": "query" }, { "schema": { "type": "string", "enum": [ "true", "false" ], "default": "false", "description": "`true` inclui vencimentos passados. Padrão: `false`, só vencimentos futuros." }, "required": false, "name": "includeExpired", "in": "query" } ], "responses": { "200": { "description": "Vencimentos retornados com sucesso.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OptionExpirationsResponse" } } } }, "400": { "description": "Requisição inválida. Confira os parâmetros.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Requisição inválida. Um parâmetro falta ou tem valor incorreto.", "example": { "error": true, "message": "Parâmetros inválidos", "code": "BAD_REQUEST" } } ] } } } }, "401": { "description": "Token ausente ou inválido.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Token ausente ou inválido.", "example": { "error": true, "message": "Token de autenticação inválido ou ausente", "code": "UNAUTHORIZED" } } ] } } } }, "403": { "description": "O plano não inclui este recurso ou parâmetro.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Acesso negado. O plano não inclui este recurso.", "example": { "error": true, "message": "Você não tem permissão para acessar este recurso", "code": "FORBIDDEN" } } ] } } } }, "500": { "description": "Erro interno do servidor.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } } } }, "/api/v2/options/strikes": { "get": { "tags": [ "Opções" ], "operationId": "listOptionStrikes", "summary": "Strikes de opções", "description": "\nRetorna os preços de exercício das séries negociadas de um vencimento, em ordem crescente. Filtre por `call` ou `put` com `side`.\n\nUse para montar um seletor de strike sem baixar a cadeia inteira.\n\nEste passo é opcional: a [cadeia de opções](https://brapi.dev/docs/opcoes/series) também aceita `minStrike` e `maxStrike`.\n\nDisponível no plano Pro. Sem token, aceita só `underlying=PETR4`.\n", "security": [ { "Bearer": [] } ], "parameters": [ { "schema": { "type": "string", "description": "Ticker do ativo subjacente: ação, ETF, índice, `DOL` ou `WDO`.", "example": "PETR4" }, "required": true, "name": "underlying", "in": "query" }, { "schema": { "type": "string", "description": "Data de vencimento, no formato YYYY-MM-DD. Veja os vencimentos em `/expirations`.", "example": "2026-12-18" }, "required": true, "name": "expirationDate", "in": "query" }, { "schema": { "type": "string", "enum": [ "call", "put" ], "description": "Filtra por `call` ou `put`. Sem o filtro, retorna os dois." }, "required": false, "name": "side", "in": "query" } ], "responses": { "200": { "description": "Preços de exercício retornados com sucesso.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OptionStrikesResponse" } } } }, "400": { "description": "Requisição inválida. Confira os parâmetros.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Requisição inválida. Um parâmetro falta ou tem valor incorreto.", "example": { "error": true, "message": "Parâmetros inválidos", "code": "BAD_REQUEST" } } ] } } } }, "401": { "description": "Token ausente ou inválido.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Token ausente ou inválido.", "example": { "error": true, "message": "Token de autenticação inválido ou ausente", "code": "UNAUTHORIZED" } } ] } } } }, "403": { "description": "O plano não inclui este recurso ou parâmetro.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Acesso negado. O plano não inclui este recurso.", "example": { "error": true, "message": "Você não tem permissão para acessar este recurso", "code": "FORBIDDEN" } } ] } } } }, "500": { "description": "Erro interno do servidor.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } } } }, "/api/v2/options/chain": { "get": { "tags": [ "Opções" ], "operationId": "getOptionSeries", "summary": "Cadeia de opções", "description": "\nRetorna as séries de opções de um vencimento, com dados do contrato (`symbol`, `side`, `strike`, `optionStyle`) e a cotação do último pregão até `date`: OHLC, bid, ask, volume e contratos em aberto.\n\nUse para montar uma tela de opções por vencimento, comparar calls e puts por strike e filtrar séries por faixa de strike.\n\nA lista traz só séries com cotação nos 10 dias até `date`. Cada série traz a cotação do seu último pregão nessa janela, que pode ser anterior a `date`. Confira o campo `date` de cada série antes de usar o preço como atual.\n\nNas séries de `DOL` e `WDO`, `referencePrice` pode vir preenchido com `close`, `high` e `low` nulos, porque muitas séries não negociam no dia.\n\nDisponível no plano Pro. Sem token, aceita só `underlying=PETR4`.\n", "security": [ { "Bearer": [] } ], "parameters": [ { "schema": { "type": "string", "description": "Ticker do ativo subjacente: ação, ETF, índice, `DOL` ou `WDO`.", "example": "PETR4" }, "required": true, "name": "underlying", "in": "query" }, { "schema": { "type": "string", "description": "Data de vencimento, no formato YYYY-MM-DD. Veja os vencimentos em `/expirations`.", "example": "2026-12-18" }, "required": true, "name": "expirationDate", "in": "query" }, { "schema": { "type": "string", "description": "Data do pregão, no formato YYYY-MM-DD. Padrão: último pregão disponível.", "example": "2026-06-01" }, "required": false, "name": "date", "in": "query" }, { "schema": { "type": "string", "enum": [ "call", "put" ], "description": "Filtra por `call` ou `put`. Sem o filtro, retorna os dois." }, "required": false, "name": "side", "in": "query" }, { "schema": { "type": "number", "nullable": true, "description": "Strike mínimo." }, "required": false, "name": "minStrike", "in": "query" }, { "schema": { "type": "number", "nullable": true, "description": "Strike máximo." }, "required": false, "name": "maxStrike", "in": "query" } ], "responses": { "200": { "description": "Séries retornadas com sucesso.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OptionSeriesResponse" } } } }, "400": { "description": "Requisição inválida. Confira os parâmetros.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Requisição inválida. Um parâmetro falta ou tem valor incorreto.", "example": { "error": true, "message": "Parâmetros inválidos", "code": "BAD_REQUEST" } } ] } } } }, "401": { "description": "Token ausente ou inválido.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Token ausente ou inválido.", "example": { "error": true, "message": "Token de autenticação inválido ou ausente", "code": "UNAUTHORIZED" } } ] } } } }, "403": { "description": "O plano não inclui este recurso ou parâmetro.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Acesso negado. O plano não inclui este recurso.", "example": { "error": true, "message": "Você não tem permissão para acessar este recurso", "code": "FORBIDDEN" } } ] } } } }, "404": { "description": "Nenhum dado encontrado para o pedido.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Nenhum dado encontrado para o pedido.", "example": { "error": true, "message": "Recurso não encontrado", "code": "NOT_FOUND" } } ] } } } }, "500": { "description": "Erro interno do servidor.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "503": { "description": "Serviço temporariamente indisponível. Tente de novo em alguns minutos.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Serviço temporariamente indisponível.", "example": { "error": true, "message": "Serviço externo temporariamente indisponível. Tente novamente em alguns minutos.", "code": "EXTERNAL_API_ERROR" } } ] } } } } } } }, "/api/v2/options/positions": { "get": { "tags": [ "Opções" ], "operationId": "getOptionPositions", "summary": "Posições em aberto de opções", "description": "\nRetorna os contratos em aberto de cada série de um vencimento, com a divisão entre posição coberta, descoberta e bloqueada.\n\nUse 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.\n\nUse `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.\n\nOs 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.\n\nAceita os mesmos filtros da [cadeia de opções](https://brapi.dev/docs/opcoes/series): `side`, `minStrike` e `maxStrike`.\n\nDisponível no plano Pro. Sem token, aceita só `underlying=PETR4`.\n", "security": [ { "Bearer": [] } ], "parameters": [ { "schema": { "type": "string", "description": "Ticker do ativo subjacente: ação, ETF, índice, `DOL` ou `WDO`.", "example": "PETR4" }, "required": true, "name": "underlying", "in": "query" }, { "schema": { "type": "string", "description": "Data de vencimento, no formato YYYY-MM-DD. Veja os vencimentos em `/expirations`.", "example": "2026-12-18" }, "required": true, "name": "expirationDate", "in": "query" }, { "schema": { "type": "string", "description": "Data do pregão, no formato YYYY-MM-DD. Padrão: último pregão disponível.", "example": "2026-06-01" }, "required": false, "name": "date", "in": "query" }, { "schema": { "type": "string", "enum": [ "call", "put" ], "description": "Filtra por `call` ou `put`. Sem o filtro, retorna os dois." }, "required": false, "name": "side", "in": "query" }, { "schema": { "type": "number", "nullable": true, "description": "Strike mínimo." }, "required": false, "name": "minStrike", "in": "query" }, { "schema": { "type": "number", "nullable": true, "description": "Strike máximo." }, "required": false, "name": "maxStrike", "in": "query" } ], "responses": { "200": { "description": "Posições retornadas com sucesso.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OptionPositionsResponse" } } } }, "400": { "description": "Requisição inválida. Confira os parâmetros.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Requisição inválida. Um parâmetro falta ou tem valor incorreto.", "example": { "error": true, "message": "Parâmetros inválidos", "code": "BAD_REQUEST" } } ] } } } }, "401": { "description": "Token ausente ou inválido.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Token ausente ou inválido.", "example": { "error": true, "message": "Token de autenticação inválido ou ausente", "code": "UNAUTHORIZED" } } ] } } } }, "403": { "description": "O plano não inclui este recurso ou parâmetro.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Acesso negado. O plano não inclui este recurso.", "example": { "error": true, "message": "Você não tem permissão para acessar este recurso", "code": "FORBIDDEN" } } ] } } } }, "404": { "description": "Nenhum dado encontrado para o pedido.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Nenhum dado encontrado para o pedido.", "example": { "error": true, "message": "Recurso não encontrado", "code": "NOT_FOUND" } } ] } } } }, "500": { "description": "Erro interno do servidor.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } } } }, "/api/v2/options/historical": { "get": { "tags": [ "Opções" ], "operationId": "getOptionHistorical", "summary": "Histórico de opção", "description": "\nRetorna o histórico diário de uma série de opção, identificada por `symbol` e `expirationDate`: OHLC, bid, ask, negócios e volume por pregão.\n\nUse para montar gráficos de prêmio, fazer backtests e analisar a liquidez de uma série.\n\nSe o mesmo `symbol` aparece duas vezes no vencimento, passe também `strike`. Encontre a série na [cadeia de opções](https://brapi.dev/docs/opcoes/series).\n\nSéries fora do dinheiro passam dias sem negócio. Um pregão sem negócio não aparece no histórico.\n\nDisponível no plano Pro. Sem token, aceita só `symbol` com prefixo `PETR`.\n", "security": [ { "Bearer": [] } ], "parameters": [ { "schema": { "type": "string", "description": "Código da série de opção.", "example": "PETRF783" }, "required": true, "name": "symbol", "in": "query" }, { "schema": { "type": "string", "description": "Data de vencimento da série, no formato YYYY-MM-DD.", "example": "2026-12-18" }, "required": true, "name": "expirationDate", "in": "query" }, { "schema": { "type": "number", "nullable": true, "description": "Preço de exercício. Use quando o mesmo `symbol` aparece mais de uma vez no vencimento.", "example": 7.29 }, "required": false, "name": "strike", "in": "query" }, { "schema": { "type": "string", "description": "Data inicial, no formato YYYY-MM-DD. Padrão: 12 meses atrás.", "example": "2026-05-01" }, "required": false, "name": "startDate", "in": "query" }, { "schema": { "type": "string", "description": "Data final, no formato YYYY-MM-DD. Padrão: hoje.", "example": "2026-06-01" }, "required": false, "name": "endDate", "in": "query" }, { "schema": { "type": "string", "enum": [ "asc", "desc" ], "default": "desc", "description": "Ordem por data: `asc` do mais antigo ao mais recente, `desc` do mais recente ao mais antigo." }, "required": false, "name": "sortOrder", "in": "query" } ], "responses": { "200": { "description": "Histórico retornado com sucesso.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OptionHistoricalResponse" } } } }, "400": { "description": "Requisição inválida. Confira os parâmetros.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Requisição inválida. Um parâmetro falta ou tem valor incorreto.", "example": { "error": true, "message": "Parâmetros inválidos", "code": "BAD_REQUEST" } } ] } } } }, "401": { "description": "Token ausente ou inválido.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Token ausente ou inválido.", "example": { "error": true, "message": "Token de autenticação inválido ou ausente", "code": "UNAUTHORIZED" } } ] } } } }, "403": { "description": "O plano não inclui este recurso ou parâmetro.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Acesso negado. O plano não inclui este recurso.", "example": { "error": true, "message": "Você não tem permissão para acessar este recurso", "code": "FORBIDDEN" } } ] } } } }, "404": { "description": "Nenhum dado encontrado para o pedido.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Nenhum dado encontrado para o pedido.", "example": { "error": true, "message": "Recurso não encontrado", "code": "NOT_FOUND" } } ] } } } }, "500": { "description": "Erro interno do servidor.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } } } }, "/api/v2/options/positions/history": { "get": { "tags": [ "Opções" ], "operationId": "getOptionPositionsHistory", "summary": "Histórico de posições em aberto", "description": "\nRetorna o histórico diário de contratos em aberto de uma série de opção, identificada por `symbol` e `expirationDate`.\n\nUse para ver a montagem e a desmontagem de posições ao longo do tempo e comparar contratos em aberto com o preço.\n\nCada 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`.\n\nDisponível no plano Pro. Sem token, aceita só `symbol` com prefixo `PETR`.\n", "security": [ { "Bearer": [] } ], "parameters": [ { "schema": { "type": "string", "description": "Código da série de opção.", "example": "PETRF783" }, "required": true, "name": "symbol", "in": "query" }, { "schema": { "type": "string", "description": "Data de vencimento da série, no formato YYYY-MM-DD.", "example": "2026-12-18" }, "required": true, "name": "expirationDate", "in": "query" }, { "schema": { "type": "number", "nullable": true, "description": "Preço de exercício. Use quando o mesmo `symbol` aparece mais de uma vez no vencimento.", "example": 7.29 }, "required": false, "name": "strike", "in": "query" }, { "schema": { "type": "string", "description": "Data inicial, no formato YYYY-MM-DD. Padrão: 12 meses atrás.", "example": "2026-05-01" }, "required": false, "name": "startDate", "in": "query" }, { "schema": { "type": "string", "description": "Data final, no formato YYYY-MM-DD. Padrão: hoje.", "example": "2026-06-01" }, "required": false, "name": "endDate", "in": "query" }, { "schema": { "type": "string", "enum": [ "asc", "desc" ], "default": "desc", "description": "Ordem por data: `asc` do mais antigo ao mais recente, `desc` do mais recente ao mais antigo." }, "required": false, "name": "sortOrder", "in": "query" } ], "responses": { "200": { "description": "Histórico de posições retornado com sucesso.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OptionPositionsHistoryResponse" } } } }, "400": { "description": "Requisição inválida. Confira os parâmetros.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Requisição inválida. Um parâmetro falta ou tem valor incorreto.", "example": { "error": true, "message": "Parâmetros inválidos", "code": "BAD_REQUEST" } } ] } } } }, "401": { "description": "Token ausente ou inválido.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Token ausente ou inválido.", "example": { "error": true, "message": "Token de autenticação inválido ou ausente", "code": "UNAUTHORIZED" } } ] } } } }, "403": { "description": "O plano não inclui este recurso ou parâmetro.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Acesso negado. O plano não inclui este recurso.", "example": { "error": true, "message": "Você não tem permissão para acessar este recurso", "code": "FORBIDDEN" } } ] } } } }, "404": { "description": "Nenhum dado encontrado para o pedido.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Nenhum dado encontrado para o pedido.", "example": { "error": true, "message": "Recurso não encontrado", "code": "NOT_FOUND" } } ] } } } }, "500": { "description": "Erro interno do servidor.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } } } }, "/api/v2/options/analytics": { "get": { "tags": [ "Opções" ], "operationId": "getOptionAnalytics", "summary": "Gregas e IV de opções", "description": "\nRetorna a volatilidade implícita e as gregas (delta, gamma, theta, vega e rho) de cada série de um vencimento, calculadas sobre o preço de fechamento.\n\nUse para comparar a IV entre strikes, montar um smile de volatilidade e medir a exposição de uma carteira de opções.\n\n`timeToExpirationYears` usa dias corridos até o vencimento divididos por 365. Por exemplo, 17 dias correspondem a `17 / 365 = 0.04657534`.\n\n`impliedVolatility` é anual, em decimal. Para um dia corrido, use `impliedVolatility / sqrt(365)`. Para `d` dias corridos, use `impliedVolatility * sqrt(d / 365)`.\n\nA divisão por `sqrt(252)` pressupõe 252 pregões por ano. Ela expressa outra convenção diária e não altera o prazo usado no cálculo da opção.\n\nO cálculo usa só o fechamento negociado. Série sem negócio no dia não tem cálculo: os campos calculados vêm `null` e `nullReason` diz o motivo.\n\n`theta` vem por ano. `vega` e `rho` medem o efeito de uma variação de 1,00 na volatilidade e no juro. Divida por 100 para ter o efeito de 1 ponto percentual.\n\nSéries americanas usam árvore binomial. Séries europeias usam Black-Scholes-Merton. `dividendYield` considera só os dividendos anunciados até a data do cálculo.\n\nDisponível no plano Pro. Sem token, aceita só `underlying=PETR4`.\n", "security": [ { "Bearer": [] } ], "parameters": [ { "schema": { "type": "string", "description": "Ticker do ativo subjacente: ação, ETF, índice, `DOL` ou `WDO`.", "example": "PETR4" }, "required": true, "name": "underlying", "in": "query" }, { "schema": { "type": "string", "description": "Data de vencimento, no formato YYYY-MM-DD. Veja os vencimentos em `/expirations`.", "example": "2026-12-18" }, "required": true, "name": "expirationDate", "in": "query" }, { "schema": { "type": "string", "description": "Data do pregão, no formato YYYY-MM-DD. Padrão: último pregão disponível.", "example": "2026-06-01" }, "required": false, "name": "date", "in": "query" }, { "schema": { "type": "string", "enum": [ "call", "put" ], "description": "Filtra por `call` ou `put`. Sem o filtro, retorna os dois." }, "required": false, "name": "side", "in": "query" }, { "schema": { "type": "number", "nullable": true, "description": "Strike mínimo." }, "required": false, "name": "minStrike", "in": "query" }, { "schema": { "type": "number", "nullable": true, "description": "Strike máximo." }, "required": false, "name": "maxStrike", "in": "query" }, { "schema": { "type": "integer", "minimum": 1, "maximum": 500, "description": "Número máximo de séries na resposta. Padrão: todas as séries do filtro.", "example": 50 }, "required": false, "name": "limit", "in": "query" } ], "responses": { "200": { "description": "Análises retornadas com sucesso.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OptionAnalyticsResponse" } } } }, "400": { "description": "Requisição inválida. Confira os parâmetros.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Requisição inválida. Um parâmetro falta ou tem valor incorreto.", "example": { "error": true, "message": "Parâmetros inválidos", "code": "BAD_REQUEST" } } ] } } } }, "401": { "description": "Token ausente ou inválido.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Token ausente ou inválido.", "example": { "error": true, "message": "Token de autenticação inválido ou ausente", "code": "UNAUTHORIZED" } } ] } } } }, "403": { "description": "O plano não inclui este recurso ou parâmetro.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Acesso negado. O plano não inclui este recurso.", "example": { "error": true, "message": "Você não tem permissão para acessar este recurso", "code": "FORBIDDEN" } } ] } } } }, "404": { "description": "Nenhum dado encontrado para o pedido.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Nenhum dado encontrado para o pedido.", "example": { "error": true, "message": "Recurso não encontrado", "code": "NOT_FOUND" } } ] } } } }, "500": { "description": "Erro interno do servidor.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } } } }, "/api/v2/options/analytics/history": { "get": { "tags": [ "Opções" ], "operationId": "getOptionAnalyticsHistory", "summary": "Histórico de gregas e IV", "description": "\nRetorna o histórico diário de volatilidade implícita e gregas de uma série de opção, identificada por `symbol` e `expirationDate`.\n\nUse para ver como a IV reagiu a eventos, como balanço, decisão de juros ou o vencimento, e para testar estratégias com gregas.\n\nOs campos seguem as regras de [gregas e IV](https://brapi.dev/docs/opcoes/analytics). Se o mesmo `symbol` aparece duas vezes no vencimento, passe também `strike`.\n\nDisponível no plano Pro. Sem token, aceita só `symbol` com prefixo `PETR`.\n", "security": [ { "Bearer": [] } ], "parameters": [ { "schema": { "type": "string", "description": "Código da série de opção.", "example": "PETRF783" }, "required": true, "name": "symbol", "in": "query" }, { "schema": { "type": "string", "description": "Data de vencimento da série, no formato YYYY-MM-DD.", "example": "2026-12-18" }, "required": true, "name": "expirationDate", "in": "query" }, { "schema": { "type": "number", "nullable": true, "description": "Preço de exercício. Use quando o mesmo `symbol` aparece mais de uma vez no vencimento.", "example": 7.29 }, "required": false, "name": "strike", "in": "query" }, { "schema": { "type": "string", "description": "Data inicial, no formato YYYY-MM-DD. Padrão: 12 meses atrás.", "example": "2026-05-01" }, "required": false, "name": "startDate", "in": "query" }, { "schema": { "type": "string", "description": "Data final, no formato YYYY-MM-DD. Padrão: hoje.", "example": "2026-06-01" }, "required": false, "name": "endDate", "in": "query" }, { "schema": { "type": "string", "enum": [ "asc", "desc" ], "default": "desc", "description": "Ordem por data: `asc` do mais antigo ao mais recente, `desc` do mais recente ao mais antigo." }, "required": false, "name": "sortOrder", "in": "query" } ], "responses": { "200": { "description": "Histórico de análises retornado com sucesso.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OptionAnalyticsHistoryResponse" } } } }, "400": { "description": "Requisição inválida. Confira os parâmetros.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Requisição inválida. Um parâmetro falta ou tem valor incorreto.", "example": { "error": true, "message": "Parâmetros inválidos", "code": "BAD_REQUEST" } } ] } } } }, "401": { "description": "Token ausente ou inválido.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Token ausente ou inválido.", "example": { "error": true, "message": "Token de autenticação inválido ou ausente", "code": "UNAUTHORIZED" } } ] } } } }, "403": { "description": "O plano não inclui este recurso ou parâmetro.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Acesso negado. O plano não inclui este recurso.", "example": { "error": true, "message": "Você não tem permissão para acessar este recurso", "code": "FORBIDDEN" } } ] } } } }, "404": { "description": "Nenhum dado encontrado para o pedido.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Nenhum dado encontrado para o pedido.", "example": { "error": true, "message": "Recurso não encontrado", "code": "NOT_FOUND" } } ] } } } }, "500": { "description": "Erro interno do servidor.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } } } }, "/api/v2/prime-rate": { "get": { "tags": [ "Indicadores" ], "operationId": "getPrimeRate", "summary": "Taxa Selic", "description": "\nSérie diária da meta da taxa Selic, definida pelo Copom, em % ao ano.\n\nEndpoint descontinuado. Use as\n[séries macroeconômicas](https://brapi.dev/docs/macro) com `symbols=selic`.\n\nSem filtros, devolve os últimos 12 meses. Filtre com `start` e `end` no\nformato `DD/MM/YYYY`. A meta só muda nas reuniões do Copom, então a série\nrepete o mesmo valor entre uma reunião e outra.\n\nPlanos Startup e Pro.\n", "security": [ { "Bearer": [] } ], "parameters": [ { "schema": { "type": "string", "description": "true devolve a série desde 01/01/2000. Sem datas e sem este parâmetro, devolve os últimos 12 meses.", "example": "false" }, "required": false, "name": "historical", "in": "query" }, { "schema": { "type": "string", "description": "Data inicial no formato DD/MM/YYYY.", "example": "01/01/2023" }, "required": false, "name": "start", "in": "query" }, { "schema": { "type": "string", "description": "Data final no formato DD/MM/YYYY. Padrão: hoje.", "example": "31/12/2023" }, "required": false, "name": "end", "in": "query" }, { "schema": { "type": "string", "description": "Campo de ordenação: date ou value. Padrão: date.", "example": "date" }, "required": false, "name": "sortBy", "in": "query" }, { "schema": { "type": "string", "description": "Ordem: asc ou desc. Padrão: desc.", "example": "desc" }, "required": false, "name": "sortOrder", "in": "query" } ], "responses": { "200": { "description": "Meta da Selic, um ponto por dia, em % ao ano.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PrimeRateResponseSimple" } } } }, "401": { "description": "**Não Autorizado.** Token de autenticação não fornecido ou inválido.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Token ausente ou inválido.", "example": { "error": true, "message": "Token de autenticação inválido ou ausente", "code": "UNAUTHORIZED" } } ] } } } }, "403": { "description": "**Acesso Proibido.** Seu plano não tem acesso ao módulo de indicadores econômicos.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Acesso negado. O plano não inclui este recurso.", "example": { "error": true, "message": "Você não tem permissão para acessar este recurso", "code": "FORBIDDEN" } } ] } } } }, "500": { "description": "**Erro Interno.** Erro interno ao processar a requisição.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "503": { "description": "**Serviço Indisponível.** Serviço externo temporariamente indisponível.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Serviço temporariamente indisponível.", "example": { "error": true, "message": "Serviço externo temporariamente indisponível. Tente novamente em alguns minutos.", "code": "EXTERNAL_API_ERROR" } } ] } } } } } } }, "/api/v2/prime-rate/available": { "get": { "tags": [ "Indicadores" ], "operationId": "getPrimeRateAvailable", "summary": "Países com dados de juros", "description": "\nLista os países que o endpoint da Selic aceita. Hoje só `brazil`.\n\nEndpoint descontinuado. Use as\n[séries macroeconômicas](https://brapi.dev/docs/macro). Planos Startup e Pro.\n", "security": [ { "Bearer": [] } ], "parameters": [ { "schema": { "type": "string", "enum": [ "json" ], "description": "Formato da resposta. Só aceita json." }, "required": false, "name": "format", "in": "query" } ], "responses": { "200": { "description": "Lista de países disponíveis para dados de taxa de juros retornada com sucesso.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PrimeRateAvailableResponse" } } } } } } }, "/api/quote/list": { "get": { "tags": [ "Cotações" ], "operationId": "getQuoteList", "summary": "Listar ativos", "description": "\nLista de ações, FIIs, BDRs e ETFs com preço de fechamento, variação, volume, market cap, setor e logo de cada um. A resposta também traz os índices disponíveis.\n\nUse para screeners, tabelas de mercado e busca de ativos com cotação.\n\n`search` busca por parte do ticker ou do nome da empresa. Filtre por `type`, `subType`, `sector` e `subsector`. A ordem padrão é por volume, decrescente.\n\nSem `limit`, a resposta traz até 2.000 ativos e não traz os campos de paginação. Com `limit`, ela traz `currentPage`, `totalPages`, `itemsPerPage`, `totalCount` e `hasNextPage`.\n\n`availableSectors`, `availableSubsectors`, `availableStockTypes` e `availableSubTypeTypes` listam os valores aceitos nos filtros.\n\nEste endpoint não exige token. Para buscar e validar tickers, a [lista de tickers](https://brapi.dev/docs/tickers) traz uma resposta menor.\n", "parameters": [ { "schema": { "type": "string", "description": "Parte do ticker ou do nome da empresa." }, "required": false, "name": "search", "in": "query" }, { "schema": { "type": "string", "enum": [ "name", "close", "change", "change_abs", "volume", "market_cap_basic" ], "description": "Campo de ordenação. Padrão: volume." }, "required": false, "name": "sortBy", "in": "query" }, { "schema": { "type": "string", "enum": [ "asc", "desc" ], "description": "Ordem. Padrão: desc." }, "required": false, "name": "sortOrder", "in": "query" }, { "schema": { "type": "string", "description": "Itens por página. Máximo: 2000. Sem este parâmetro, a resposta traz até 2000 itens e não traz paginação." }, "required": false, "name": "limit", "in": "query" }, { "schema": { "type": "string", "description": "Número da página. Começa em 1." }, "required": false, "name": "page", "in": "query" }, { "schema": { "type": "string", "description": "Setor." }, "required": false, "name": "sector", "in": "query" }, { "schema": { "type": "string", "description": "Subsetor." }, "required": false, "name": "subsector", "in": "query" }, { "schema": { "type": "string", "enum": [ "stock", "fund", "bdr" ], "description": "Tipo do ativo." }, "required": false, "name": "type", "in": "query" }, { "schema": { "type": "string", "enum": [ "stock", "unit", "fii", "etf", "fi-infra", "fi-agro", "fip", "fidc", "bdr" ], "description": "Subtipo do ativo: stock, unit, fii, etf, fi-infra, fi-agro, fip, fidc ou bdr." }, "required": false, "name": "subType", "in": "query" }, { "schema": { "type": "string", "description": "Token de acesso. Use no lugar do header `Authorization`." }, "required": false, "name": "token", "in": "query" } ], "responses": { "200": { "description": "Lista de ativos retornada com sucesso.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/QuoteListResponse" } } } }, "500": { "description": "Erro interno do servidor.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } } } }, "/api/quote/{tickers}": { "get": { "tags": [ "Cotações" ], "operationId": "getQuote", "summary": "Cotação de ativos (v1)", "description": "\nCotação de um ou mais ativos brasileiros. A mesma resposta pode trazer histórico de preços, proventos e dados das demonstrações financeiras.\n\nUse para integrações que já usam este formato. Para integrações novas, use os endpoints `/api/v2/stocks/*`, que trazem um tipo de dado por chamada. Veja o [guia de migração](https://brapi.dev/docs/acoes/migracao-v2).\n\nEste é o endpoint original da brapi. Ele continua ativo e não tem data de remoção.\n\nAXIA5 e AXIA6 retornam a cotação de uma ação AXIA3. Seus preços históricos e proventos continuam separados por classe. Os campos `historicalSymbol` e `dividendsSymbol` identificam o ticker desses históricos.\n\nA resposta sempre traz a cotação: preço, variação, volume, máxima e mínima do dia, faixa de 52 semanas e `marketCap`. Estes parâmetros adicionam outros dados:\n\n- `range` e `interval`, ou `startDate` e `endDate`: `historicalDataPrice`, a série de preços.\n- `includeRaw=true`: os preços originais sem ajuste `rawOpen`, `rawHigh`, `rawLow` e `rawClose`, só em intervalos diários. Exige o plano Pro.\n- `dividends=true`: `dividendsData`, com dividendos, JCP e eventos em ações.\n- `modules`: um objeto para cada módulo pedido.\n\nMódulos aceitos em `modules`, separados por vírgula:\n\n- `summaryProfile`: cadastro da empresa.\n- `defaultKeyStatistics`: múltiplos dos últimos 12 meses, como P/L, P/VP e dividend yield.\n- `financialData`: receita, EBITDA, margens e dívida dos últimos 12 meses.\n- `balanceSheetHistory`: balanço patrimonial anual.\n- `incomeStatementHistory`: DRE anual.\n- `cashflowHistory`: fluxo de caixa anual.\n- `valueAddedHistory`: DVA anual.\n\nCada módulo de demonstração tem uma versão trimestral com o sufixo `Quarterly`, como `balanceSheetHistoryQuarterly`. `defaultKeyStatistics` e `financialData` também aceitam os sufixos `History` e `HistoryQuarterly`. Os dados trimestrais seguem as mesmas regras dos endpoints v2 de [DRE](https://brapi.dev/docs/acoes/dre), [fluxo de caixa](https://brapi.dev/docs/acoes/fluxo-de-caixa) e [DVA](https://brapi.dev/docs/acoes/valor-adicionado).\n\nO plano define os valores aceitos em `range`, `interval` e `modules`. Um valor fora do plano retorna erro.\n\nPETR4, MGLU3, VALE3 e ITUB4 respondem sem token. Se a chamada juntar um deles com outro ticker, ela exige token.\n", "security": [ { "Bearer": [] } ], "parameters": [ { "schema": { "type": "string", "description": "Tickers separados por vírgula. Ex.: PETR4,VALE3.", "example": "PETR4,VALE3" }, "required": true, "name": "tickers", "in": "path" }, { "schema": { "type": "string", "enum": [ "1d", "2d", "5d", "7d", "1mo", "3mo", "6mo", "1y", "2y", "5y", "10y", "ytd", "max" ], "description": "Janela relativa da série de preços." }, "required": false, "name": "range", "in": "query" }, { "schema": { "type": "string", "enum": [ "1m", "2m", "5m", "15m", "30m", "60m", "90m", "1h", "1d", "5d", "1wk", "1mo", "3mo" ], "description": "Intervalo entre os pontos da série de preços." }, "required": false, "name": "interval", "in": "query" }, { "schema": { "type": "string", "description": "Data inicial da série de preços no formato YYYY-MM-DD.", "example": "2024-01-01" }, "required": false, "name": "startDate", "in": "query" }, { "schema": { "type": "string", "description": "Data final da série de preços no formato YYYY-MM-DD.", "example": "2024-12-31" }, "required": false, "name": "endDate", "in": "query" }, { "schema": { "type": "string", "enum": [ "true", "false" ], "description": "Inclui `dividendsData` com dividendos, JCP e eventos em ações." }, "required": false, "name": "dividends", "in": "query" }, { "schema": { "type": "string", "enum": [ "true", "false" ], "description": "Inclui os preços originais sem ajuste (`rawOpen`, `rawHigh`, `rawLow`, `rawClose`) em intervalos diários. Exige o plano Pro.", "example": "true" }, "required": false, "name": "includeRaw", "in": "query" }, { "schema": { "type": "string", "description": "Módulos extras separados por vírgula.", "example": "summaryProfile,balanceSheetHistory,financialData" }, "required": false, "name": "modules", "in": "query" }, { "schema": { "type": "string", "description": "Token de acesso. Use no lugar do header `Authorization`." }, "required": false, "name": "token", "in": "query" } ], "responses": { "200": { "description": "Dados dos ativos recuperados com sucesso.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/QuoteTickersResponse" } } } }, "400": { "description": "Requisição inválida. Confira os parâmetros.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Requisição inválida. Um parâmetro falta ou tem valor incorreto.", "example": { "error": true, "message": "Parâmetros inválidos", "code": "BAD_REQUEST" } } ] } } } }, "401": { "description": "Token ausente ou inválido.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Token ausente ou inválido.", "example": { "error": true, "message": "Token de autenticação inválido ou ausente", "code": "UNAUTHORIZED" } } ] } } } }, "403": { "description": "O plano não inclui este recurso ou parâmetro.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Acesso negado. O plano não inclui este recurso.", "example": { "error": true, "message": "Você não tem permissão para acessar este recurso", "code": "FORBIDDEN" } } ] } } } }, "404": { "description": "Nenhum dado encontrado para o pedido.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Nenhum dado encontrado para o pedido.", "example": { "error": true, "message": "Recurso não encontrado", "code": "NOT_FOUND" } } ] } } } }, "429": { "description": "Limite de requisições excedido.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Limite de requisições excedido.", "example": { "error": true, "message": "Limite de requisições excedido. Tente novamente mais tarde.", "code": "RATE_LIMIT_EXCEEDED" } } ] } } } }, "500": { "description": "Erro interno do servidor.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } } } }, "/api/sdks": { "get": { "tags": [ "Utilitários" ], "operationId": "getSdks", "summary": "Listar SDKs oficiais", "description": "\nOs SDKs oficiais da brapi, com nome do pacote e repositório.\n\nTypeScript e JavaScript: `npm install brapi`, em\nhttps://github.com/brapi-dev/brapi-typescript.\nPython: `pip install brapi`, em https://github.com/brapi-dev/brapi-python.\nExiste também o pacote `@brapi/cli` no monorepo, ainda não publicado no npm.\n\nOs SDKs cuidam de autenticação, tipos e retry. Se você usa TypeScript ou\nPython, eles poupam o trabalho de tratar isso à mão.\n\nEndpoint público, sem token.\n", "parameters": [ { "schema": { "type": "string", "enum": [ "json" ], "description": "Formato da resposta. JSON é o formato suportado." }, "required": false, "name": "format", "in": "query" } ], "responses": { "200": { "description": "Página HTML de SDKs", "content": { "text/html": { "schema": { "type": "string" } }, "application/json": { "schema": { "$ref": "#/components/schemas/SdkLinks" } } } } } } }, "/api/v2/stocks/insider-transactions": { "get": { "operationId": "getStockInsiderTransactions", "tags": [ "Ações" ], "summary": "Negociações de administradores e pessoas vinculadas", "description": "\nMovimentações de valores mobiliários por administradores, controladores e pessoas vinculadas, por empresa e período. Os relatórios são mensais. A atualização ocorre semanalmente.\n\nO ticker identifica a empresa do relatório. PETR3 e PETR4 retornam os mesmos dados. Os registros agrupam pessoas por cargo, sem identificar cada pessoa ou o ticker negociado.\n\n`direction` indica entrada ou saída da posição, inclusive transferências. Use `movementType` para identificar compras e vendas.\n\nA resposta traz as movimentações mais recentes primeiro e a última versão de cada relatório. Use `allVersions=true` para incluir versões anteriores. Não some essas versões, pois elas podem repetir movimentações. Saldos iniciais não entram na lista.\n\nPlano Pro. PETR4, MGLU3, VALE3 e ITUB4 permitem testes gratuitos, sem token.\n", "security": [ { "Bearer": [] } ], "parameters": [ { "schema": { "type": "string", "minLength": 1, "maxLength": 300, "description": "Tickers separados por vírgula. Máximo de 20. Cada ticker identifica a empresa que apresenta o relatório.", "example": "VALE3" }, "required": true, "name": "symbols", "in": "query" }, { "schema": { "type": "string", "description": "Data inicial da movimentação. Padrão: 365 dias antes de endDate.", "example": "2026-08-01" }, "required": false, "name": "startDate", "in": "query" }, { "schema": { "type": "string", "description": "Data final da movimentação. Padrão: hoje.", "example": "2026-08-31" }, "required": false, "name": "endDate", "in": "query" }, { "schema": { "type": "string", "enum": [ "company", "parent", "subsidiary", "all" ], "default": "company", "description": "Empresa que emite o valor mobiliário: a própria empresa, sua controladora ou sua controlada." }, "required": false, "name": "companyRelation", "in": "query" }, { "schema": { "type": "string", "enum": [ "credit", "debit" ], "description": "Entrada ou saída da posição. Inclui transferências e outras movimentações." }, "required": false, "name": "direction", "in": "query" }, { "schema": { "type": "string", "enum": [ "controller", "board", "director", "fiscalCouncil", "statutoryBody" ], "description": "Grupo de cargos. Cada grupo inclui pessoas vinculadas." }, "required": false, "name": "roleGroup", "in": "query" }, { "schema": { "type": "string", "minLength": 1, "maxLength": 150, "description": "Tipo de movimentação, com o texto exato do relatório.", "example": "Compra à vista" }, "required": false, "name": "movementType", "in": "query" }, { "schema": { "type": "string", "enum": [ "true", "false" ], "description": "Inclui versões anteriores dos relatórios. Padrão: false. Versões anteriores podem repetir movimentações." }, "required": false, "name": "allVersions", "in": "query" }, { "schema": { "type": "integer", "minimum": 1, "maximum": 10000, "default": 1, "description": "Página de cada empresa." }, "required": false, "name": "page", "in": "query" }, { "schema": { "type": "integer", "minimum": 1, "maximum": 100, "default": 50, "description": "Máximo de movimentações por empresa e página.", "example": 1 }, "required": false, "name": "limit", "in": "query" } ], "responses": { "200": { "description": "Movimentações por empresa, com paginação independente.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InsiderTransactionResponse" } } } }, "400": { "description": "Requisição inválida. Confira os parâmetros.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Requisição inválida. Um parâmetro falta ou tem valor incorreto.", "example": { "error": true, "message": "Parâmetros inválidos", "code": "BAD_REQUEST" } } ] } } } }, "401": { "description": "Token ausente ou inválido.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Token ausente ou inválido.", "example": { "error": true, "message": "Token de autenticação inválido ou ausente", "code": "UNAUTHORIZED" } } ] } } } }, "403": { "description": "O plano não inclui este recurso ou parâmetro.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Acesso negado. O plano não inclui este recurso.", "example": { "error": true, "message": "Você não tem permissão para acessar este recurso", "code": "FORBIDDEN" } } ] } } } }, "404": { "description": "Nenhum dado encontrado para o pedido.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Nenhum dado encontrado para o pedido.", "example": { "error": true, "message": "Recurso não encontrado", "code": "NOT_FOUND" } } ] } } } }, "429": { "description": "Limite de requisições excedido.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Limite de requisições excedido.", "example": { "error": true, "message": "Limite de requisições excedido. Tente novamente mais tarde.", "code": "RATE_LIMIT_EXCEEDED" } } ] } } } }, "500": { "description": "Erro interno do servidor.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "503": { "description": "Serviço temporariamente indisponível. Tente de novo em alguns minutos.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Serviço temporariamente indisponível.", "example": { "error": true, "message": "Serviço externo temporariamente indisponível. Tente novamente em alguns minutos.", "code": "EXTERNAL_API_ERROR" } } ] } } } } } } }, "/api/v2/stocks/screener": { "get": { "operationId": "getStockScreener", "tags": [ "Ações" ], "summary": "Filtrar ações por indicadores", "description": "\nFiltra e ordena ações da B3 por preço e indicadores fundamentalistas, como P/L, P/VP, dividend yield e ROE. Uma chamada percorre todas as ações.\n\nCada indicador aceita `{chave}Min` e `{chave}Max`. Os limites são inclusivos e usam a mesma unidade da resposta. Frações seguem `/api/v2/stocks/statistics` e `/api/v2/stocks/financial-data`: 6% é `0.06`. Um filtro remove os ativos sem o dado. Na ordenação, os nulos ficam no fim.\n\nExemplos:\n\n- P/L entre 0 e 8 e dividend yield de pelo menos 6%: `?trailingPEMin=0&trailingPEMax=8÷ndYieldMin=0.06&sortBy=dividendYield`\n- ROE de pelo menos 15%, do maior para o menor: `?returnOnEquityMin=0.15&sortBy=returnOnEquity`\n\nEmpresas com prejuízo têm P/L negativo. Para excluí-las, envie `trailingPEMin=0` junto com `trailingPEMax`.\n\n`quote` e `dividendYield` usam o último preço. P/L, P/VP e os outros indicadores usam o preço da atualização diária dos fundamentos. Em units, P/L e P/VP usam o último preço da unit. `dividendYield` soma os proventos em dinheiro dos últimos 12 meses.\n\nPlanos Startup e Pro. Os indicadores do plano Pro não vêm em `metrics` no plano Startup. Um filtro ou uma ordenação com esses indicadores no plano Startup retorna 403.\n\n| Indicador | Chave | Unidade | Plano |\n| --- | --- | --- | --- |\n| Preço | `lastPrice` | reais | Startup e Pro |\n| Variação no dia | `changePercent` | porcentagem (2.81 = 2,81%) | Startup e Pro |\n| Volume | `volume` | ações | Startup e Pro |\n| Valor de mercado | `marketCap` | reais | Startup e Pro |\n| P/L | `trailingPE` | múltiplo | Startup e Pro |\n| P/VP | `priceToBook` | múltiplo | Startup e Pro |\n| EV/EBITDA | `enterpriseToEbitda` | múltiplo | Startup e Pro |\n| EV/Receita | `enterpriseToRevenue` | múltiplo | Startup e Pro |\n| PEG | `pegRatio` | múltiplo | Startup e Pro |\n| LPA | `earningsPerShare` | reais | Startup e Pro |\n| VPA | `bookValuePerShare` | reais | Startup e Pro |\n| Margem líquida | `netMargin` | fração (0.06 = 6%) | Startup e Pro |\n| Valor da firma | `enterpriseValue` | reais | Startup e Pro |\n| Variação 52 semanas | `fiftyTwoWeekChange` | fração (0.06 = 6%) | Startup e Pro |\n| Dividend yield | `dividendYield` | fração (0.06 = 6%) | Startup e Pro |\n| ROE | `returnOnEquity` | fração (0.06 = 6%) | Pro |\n| ROA | `returnOnAssets` | fração (0.06 = 6%) | Pro |\n| Margem bruta | `grossMargin` | fração (0.06 = 6%) | Pro |\n| Margem EBITDA | `ebitdaMargin` | fração (0.06 = 6%) | Pro |\n| Margem operacional | `operatingMargin` | fração (0.06 = 6%) | Pro |\n| Dívida/PL | `debtToEquity` | múltiplo | Pro |\n| Dívida líquida/EBITDA | `netDebtToEbitda` | múltiplo | Pro |\n| Liquidez corrente | `currentRatio` | múltiplo | Pro |\n| Liquidez seca | `quickRatio` | múltiplo | Pro |\n| Crescimento da receita | `revenueGrowth` | fração (0.06 = 6%) | Pro |\n| Crescimento do lucro | `earningsGrowth` | fração (0.06 = 6%) | Pro |\n| Crescimento anual da receita | `revenueGrowthAnnual` | fração (0.06 = 6%) | Pro |\n| Crescimento anual do lucro | `earningsGrowthAnnual` | fração (0.06 = 6%) | Pro |\n| Receita | `totalRevenue` | reais | Pro |\n| EBITDA | `ebitda` | reais | Pro |\n| Fluxo de caixa livre | `freeCashflow` | reais | Pro |\n| Dívida bruta | `totalDebt` | reais | Pro |\n| Caixa | `totalCash` | reais | Pro |\n", "security": [ { "Bearer": [] } ], "parameters": [ { "schema": { "type": "string", "description": "Parte do ticker, do nome da empresa ou de um ticker antigo.", "example": "BANCO" }, "required": false, "name": "search", "in": "query" }, { "schema": { "type": "string", "enum": [ "stock", "fund", "bdr" ], "default": "stock", "description": "Tipo do ativo. Padrão: `stock`.", "example": "stock" }, "required": false, "name": "type", "in": "query" }, { "schema": { "type": "string", "enum": [ "stock", "unit", "fii", "etf", "fi-infra", "fi-agro", "fip", "fidc", "bdr" ], "description": "Subtipo do ativo: stock, unit, fii, etf, fi-infra, fi-agro, fip, fidc ou bdr.", "example": "unit" }, "required": false, "name": "subType", "in": "query" }, { "schema": { "type": "string", "description": "Setor. Aceita parte do nome.", "example": "Finance" }, "required": false, "name": "sector", "in": "query" }, { "schema": { "type": "string", "description": "Subsetor. Nome exato.", "example": "Energia Elétrica" }, "required": false, "name": "subsector", "in": "query" }, { "schema": { "type": "string", "enum": [ "symbol", "name", "lastPrice", "changePercent", "volume", "marketCap", "trailingPE", "priceToBook", "enterpriseToEbitda", "enterpriseToRevenue", "pegRatio", "earningsPerShare", "bookValuePerShare", "netMargin", "enterpriseValue", "fiftyTwoWeekChange", "dividendYield", "returnOnEquity", "returnOnAssets", "grossMargin", "ebitdaMargin", "operatingMargin", "debtToEquity", "netDebtToEbitda", "currentRatio", "quickRatio", "revenueGrowth", "earningsGrowth", "revenueGrowthAnnual", "earningsGrowthAnnual", "totalRevenue", "ebitda", "freeCashflow", "totalDebt", "totalCash" ], "default": "marketCap", "description": "Campo de ordenação: uma chave de métrica, `symbol` ou `name`. Valores nulos ficam no fim.", "example": "dividendYield" }, "required": false, "name": "sortBy", "in": "query" }, { "schema": { "type": "string", "enum": [ "asc", "desc" ], "default": "desc", "description": "Ordem. Padrão: `desc`.", "example": "desc" }, "required": false, "name": "sortOrder", "in": "query" }, { "schema": { "type": "integer", "minimum": 0, "exclusiveMinimum": true, "maximum": 10000, "default": 1, "description": "Número da página. Começa em 1.", "example": 1 }, "required": false, "name": "page", "in": "query" }, { "schema": { "type": "integer", "minimum": 0, "exclusiveMinimum": true, "maximum": 200, "default": 20, "description": "Itens por página. Máximo: 200.", "example": 20 }, "required": false, "name": "limit", "in": "query" }, { "schema": { "type": "number", "description": "Preço: valor mínimo, inclusive. Unidade: reais. Plano Startup e Pro." }, "required": false, "name": "lastPriceMin", "in": "query" }, { "schema": { "type": "number", "description": "Preço: valor máximo, inclusive. Unidade: reais. Plano Startup e Pro." }, "required": false, "name": "lastPriceMax", "in": "query" }, { "schema": { "type": "number", "description": "Variação no dia: valor mínimo, inclusive. Unidade: porcentagem (2.81 = 2,81%). Plano Startup e Pro." }, "required": false, "name": "changePercentMin", "in": "query" }, { "schema": { "type": "number", "description": "Variação no dia: valor máximo, inclusive. Unidade: porcentagem (2.81 = 2,81%). Plano Startup e Pro." }, "required": false, "name": "changePercentMax", "in": "query" }, { "schema": { "type": "number", "description": "Volume: valor mínimo, inclusive. Unidade: ações. Plano Startup e Pro." }, "required": false, "name": "volumeMin", "in": "query" }, { "schema": { "type": "number", "description": "Volume: valor máximo, inclusive. Unidade: ações. Plano Startup e Pro." }, "required": false, "name": "volumeMax", "in": "query" }, { "schema": { "type": "number", "description": "Valor de mercado: valor mínimo, inclusive. Unidade: reais. Plano Startup e Pro." }, "required": false, "name": "marketCapMin", "in": "query" }, { "schema": { "type": "number", "description": "Valor de mercado: valor máximo, inclusive. Unidade: reais. Plano Startup e Pro." }, "required": false, "name": "marketCapMax", "in": "query" }, { "schema": { "type": "number", "description": "P/L: valor mínimo, inclusive. Unidade: múltiplo. Plano Startup e Pro." }, "required": false, "name": "trailingPEMin", "in": "query" }, { "schema": { "type": "number", "description": "P/L: valor máximo, inclusive. Unidade: múltiplo. Plano Startup e Pro." }, "required": false, "name": "trailingPEMax", "in": "query" }, { "schema": { "type": "number", "description": "P/VP: valor mínimo, inclusive. Unidade: múltiplo. Plano Startup e Pro." }, "required": false, "name": "priceToBookMin", "in": "query" }, { "schema": { "type": "number", "description": "P/VP: valor máximo, inclusive. Unidade: múltiplo. Plano Startup e Pro." }, "required": false, "name": "priceToBookMax", "in": "query" }, { "schema": { "type": "number", "description": "EV/EBITDA: valor mínimo, inclusive. Unidade: múltiplo. Plano Startup e Pro." }, "required": false, "name": "enterpriseToEbitdaMin", "in": "query" }, { "schema": { "type": "number", "description": "EV/EBITDA: valor máximo, inclusive. Unidade: múltiplo. Plano Startup e Pro." }, "required": false, "name": "enterpriseToEbitdaMax", "in": "query" }, { "schema": { "type": "number", "description": "EV/Receita: valor mínimo, inclusive. Unidade: múltiplo. Plano Startup e Pro." }, "required": false, "name": "enterpriseToRevenueMin", "in": "query" }, { "schema": { "type": "number", "description": "EV/Receita: valor máximo, inclusive. Unidade: múltiplo. Plano Startup e Pro." }, "required": false, "name": "enterpriseToRevenueMax", "in": "query" }, { "schema": { "type": "number", "description": "PEG: valor mínimo, inclusive. Unidade: múltiplo. Plano Startup e Pro." }, "required": false, "name": "pegRatioMin", "in": "query" }, { "schema": { "type": "number", "description": "PEG: valor máximo, inclusive. Unidade: múltiplo. Plano Startup e Pro." }, "required": false, "name": "pegRatioMax", "in": "query" }, { "schema": { "type": "number", "description": "LPA: valor mínimo, inclusive. Unidade: reais. Plano Startup e Pro." }, "required": false, "name": "earningsPerShareMin", "in": "query" }, { "schema": { "type": "number", "description": "LPA: valor máximo, inclusive. Unidade: reais. Plano Startup e Pro." }, "required": false, "name": "earningsPerShareMax", "in": "query" }, { "schema": { "type": "number", "description": "VPA: valor mínimo, inclusive. Unidade: reais. Plano Startup e Pro." }, "required": false, "name": "bookValuePerShareMin", "in": "query" }, { "schema": { "type": "number", "description": "VPA: valor máximo, inclusive. Unidade: reais. Plano Startup e Pro." }, "required": false, "name": "bookValuePerShareMax", "in": "query" }, { "schema": { "type": "number", "description": "Margem líquida: valor mínimo, inclusive. Unidade: fração (0.06 = 6%). Plano Startup e Pro." }, "required": false, "name": "netMarginMin", "in": "query" }, { "schema": { "type": "number", "description": "Margem líquida: valor máximo, inclusive. Unidade: fração (0.06 = 6%). Plano Startup e Pro." }, "required": false, "name": "netMarginMax", "in": "query" }, { "schema": { "type": "number", "description": "Valor da firma: valor mínimo, inclusive. Unidade: reais. Plano Startup e Pro." }, "required": false, "name": "enterpriseValueMin", "in": "query" }, { "schema": { "type": "number", "description": "Valor da firma: valor máximo, inclusive. Unidade: reais. Plano Startup e Pro." }, "required": false, "name": "enterpriseValueMax", "in": "query" }, { "schema": { "type": "number", "description": "Variação 52 semanas: valor mínimo, inclusive. Unidade: fração (0.06 = 6%). Plano Startup e Pro." }, "required": false, "name": "fiftyTwoWeekChangeMin", "in": "query" }, { "schema": { "type": "number", "description": "Variação 52 semanas: valor máximo, inclusive. Unidade: fração (0.06 = 6%). Plano Startup e Pro." }, "required": false, "name": "fiftyTwoWeekChangeMax", "in": "query" }, { "schema": { "type": "number", "description": "Dividend yield: valor mínimo, inclusive. Unidade: fração (0.06 = 6%). Plano Startup e Pro." }, "required": false, "name": "dividendYieldMin", "in": "query" }, { "schema": { "type": "number", "description": "Dividend yield: valor máximo, inclusive. Unidade: fração (0.06 = 6%). Plano Startup e Pro." }, "required": false, "name": "dividendYieldMax", "in": "query" }, { "schema": { "type": "number", "description": "ROE: valor mínimo, inclusive. Unidade: fração (0.06 = 6%). Plano Pro." }, "required": false, "name": "returnOnEquityMin", "in": "query" }, { "schema": { "type": "number", "description": "ROE: valor máximo, inclusive. Unidade: fração (0.06 = 6%). Plano Pro." }, "required": false, "name": "returnOnEquityMax", "in": "query" }, { "schema": { "type": "number", "description": "ROA: valor mínimo, inclusive. Unidade: fração (0.06 = 6%). Plano Pro." }, "required": false, "name": "returnOnAssetsMin", "in": "query" }, { "schema": { "type": "number", "description": "ROA: valor máximo, inclusive. Unidade: fração (0.06 = 6%). Plano Pro." }, "required": false, "name": "returnOnAssetsMax", "in": "query" }, { "schema": { "type": "number", "description": "Margem bruta: valor mínimo, inclusive. Unidade: fração (0.06 = 6%). Plano Pro." }, "required": false, "name": "grossMarginMin", "in": "query" }, { "schema": { "type": "number", "description": "Margem bruta: valor máximo, inclusive. Unidade: fração (0.06 = 6%). Plano Pro." }, "required": false, "name": "grossMarginMax", "in": "query" }, { "schema": { "type": "number", "description": "Margem EBITDA: valor mínimo, inclusive. Unidade: fração (0.06 = 6%). Plano Pro." }, "required": false, "name": "ebitdaMarginMin", "in": "query" }, { "schema": { "type": "number", "description": "Margem EBITDA: valor máximo, inclusive. Unidade: fração (0.06 = 6%). Plano Pro." }, "required": false, "name": "ebitdaMarginMax", "in": "query" }, { "schema": { "type": "number", "description": "Margem operacional: valor mínimo, inclusive. Unidade: fração (0.06 = 6%). Plano Pro." }, "required": false, "name": "operatingMarginMin", "in": "query" }, { "schema": { "type": "number", "description": "Margem operacional: valor máximo, inclusive. Unidade: fração (0.06 = 6%). Plano Pro." }, "required": false, "name": "operatingMarginMax", "in": "query" }, { "schema": { "type": "number", "description": "Dívida/PL: valor mínimo, inclusive. Unidade: múltiplo. Plano Pro." }, "required": false, "name": "debtToEquityMin", "in": "query" }, { "schema": { "type": "number", "description": "Dívida/PL: valor máximo, inclusive. Unidade: múltiplo. Plano Pro." }, "required": false, "name": "debtToEquityMax", "in": "query" }, { "schema": { "type": "number", "description": "Dívida líquida/EBITDA: valor mínimo, inclusive. Unidade: múltiplo. Plano Pro." }, "required": false, "name": "netDebtToEbitdaMin", "in": "query" }, { "schema": { "type": "number", "description": "Dívida líquida/EBITDA: valor máximo, inclusive. Unidade: múltiplo. Plano Pro." }, "required": false, "name": "netDebtToEbitdaMax", "in": "query" }, { "schema": { "type": "number", "description": "Liquidez corrente: valor mínimo, inclusive. Unidade: múltiplo. Plano Pro." }, "required": false, "name": "currentRatioMin", "in": "query" }, { "schema": { "type": "number", "description": "Liquidez corrente: valor máximo, inclusive. Unidade: múltiplo. Plano Pro." }, "required": false, "name": "currentRatioMax", "in": "query" }, { "schema": { "type": "number", "description": "Liquidez seca: valor mínimo, inclusive. Unidade: múltiplo. Plano Pro." }, "required": false, "name": "quickRatioMin", "in": "query" }, { "schema": { "type": "number", "description": "Liquidez seca: valor máximo, inclusive. Unidade: múltiplo. Plano Pro." }, "required": false, "name": "quickRatioMax", "in": "query" }, { "schema": { "type": "number", "description": "Crescimento da receita: valor mínimo, inclusive. Unidade: fração (0.06 = 6%). Plano Pro." }, "required": false, "name": "revenueGrowthMin", "in": "query" }, { "schema": { "type": "number", "description": "Crescimento da receita: valor máximo, inclusive. Unidade: fração (0.06 = 6%). Plano Pro." }, "required": false, "name": "revenueGrowthMax", "in": "query" }, { "schema": { "type": "number", "description": "Crescimento do lucro: valor mínimo, inclusive. Unidade: fração (0.06 = 6%). Plano Pro." }, "required": false, "name": "earningsGrowthMin", "in": "query" }, { "schema": { "type": "number", "description": "Crescimento do lucro: valor máximo, inclusive. Unidade: fração (0.06 = 6%). Plano Pro." }, "required": false, "name": "earningsGrowthMax", "in": "query" }, { "schema": { "type": "number", "description": "Crescimento anual da receita: valor mínimo, inclusive. Unidade: fração (0.06 = 6%). Plano Pro." }, "required": false, "name": "revenueGrowthAnnualMin", "in": "query" }, { "schema": { "type": "number", "description": "Crescimento anual da receita: valor máximo, inclusive. Unidade: fração (0.06 = 6%). Plano Pro." }, "required": false, "name": "revenueGrowthAnnualMax", "in": "query" }, { "schema": { "type": "number", "description": "Crescimento anual do lucro: valor mínimo, inclusive. Unidade: fração (0.06 = 6%). Plano Pro." }, "required": false, "name": "earningsGrowthAnnualMin", "in": "query" }, { "schema": { "type": "number", "description": "Crescimento anual do lucro: valor máximo, inclusive. Unidade: fração (0.06 = 6%). Plano Pro." }, "required": false, "name": "earningsGrowthAnnualMax", "in": "query" }, { "schema": { "type": "number", "description": "Receita: valor mínimo, inclusive. Unidade: reais. Plano Pro." }, "required": false, "name": "totalRevenueMin", "in": "query" }, { "schema": { "type": "number", "description": "Receita: valor máximo, inclusive. Unidade: reais. Plano Pro." }, "required": false, "name": "totalRevenueMax", "in": "query" }, { "schema": { "type": "number", "description": "EBITDA: valor mínimo, inclusive. Unidade: reais. Plano Pro." }, "required": false, "name": "ebitdaMin", "in": "query" }, { "schema": { "type": "number", "description": "EBITDA: valor máximo, inclusive. Unidade: reais. Plano Pro." }, "required": false, "name": "ebitdaMax", "in": "query" }, { "schema": { "type": "number", "description": "Fluxo de caixa livre: valor mínimo, inclusive. Unidade: reais. Plano Pro." }, "required": false, "name": "freeCashflowMin", "in": "query" }, { "schema": { "type": "number", "description": "Fluxo de caixa livre: valor máximo, inclusive. Unidade: reais. Plano Pro." }, "required": false, "name": "freeCashflowMax", "in": "query" }, { "schema": { "type": "number", "description": "Dívida bruta: valor mínimo, inclusive. Unidade: reais. Plano Pro." }, "required": false, "name": "totalDebtMin", "in": "query" }, { "schema": { "type": "number", "description": "Dívida bruta: valor máximo, inclusive. Unidade: reais. Plano Pro." }, "required": false, "name": "totalDebtMax", "in": "query" }, { "schema": { "type": "number", "description": "Caixa: valor mínimo, inclusive. Unidade: reais. Plano Pro." }, "required": false, "name": "totalCashMin", "in": "query" }, { "schema": { "type": "number", "description": "Caixa: valor máximo, inclusive. Unidade: reais. Plano Pro." }, "required": false, "name": "totalCashMax", "in": "query" } ], "responses": { "200": { "description": "Ativos que passam nos filtros, com paginação.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/StockScreenerResponse" } } } }, "400": { "description": "Requisição inválida. Confira os parâmetros.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Requisição inválida. Um parâmetro falta ou tem valor incorreto.", "example": { "error": true, "message": "Parâmetros inválidos", "code": "BAD_REQUEST" } } ] } } } }, "401": { "description": "Token ausente ou inválido.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Token ausente ou inválido.", "example": { "error": true, "message": "Token de autenticação inválido ou ausente", "code": "UNAUTHORIZED" } } ] } } } }, "403": { "description": "O plano não inclui este recurso ou parâmetro.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Acesso negado. O plano não inclui este recurso.", "example": { "error": true, "message": "Você não tem permissão para acessar este recurso", "code": "FORBIDDEN" } } ] } } } }, "500": { "description": "Erro interno do servidor.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } } } }, "/api/v2/stocks/quote": { "get": { "tags": [ "Ações" ], "operationId": "getStockQuotes", "summary": "Cotação de ações", "description": "\nPreço, variação, volume, market cap, máxima e mínima do dia, faixa de 52 semanas e logo de ações, FIIs, BDRs, ETFs, units e índices brasileiros.\n\nUse para telas de cotação, carteiras, alertas de preço e widgets.\n\nEnvie vários tickers em `symbols`, separados por vírgula. O número máximo de tickers por chamada depende do plano.\n\nQuando alguns tickers não existem, eles ficam fora de `results`. Se nenhum ticker tem cotação, a resposta retorna 404.\n\nUm ticker antigo é trocado pelo ticker atual. Nesse caso, `changed` é `true` e `requestedSymbol` guarda o ticker enviado.\n\nAXIA5 e AXIA6 retornam a cotação de uma ação AXIA3. Consulte a resolução de tickers para ver a proporção de conversão.\n\nPara a série de preços, use o [histórico de preços](https://brapi.dev/docs/acoes/historico). Para achar tickers válidos, use a [lista de tickers](https://brapi.dev/docs/tickers).\n", "security": [ { "Bearer": [] } ], "parameters": [ { "schema": { "type": "string", "description": "Tickers separados por vírgula. Ex.: PETR4,VALE3. `requestedSymbol` identifica o ticker enviado e `symbol` identifica os dados retornados.", "example": "PETR4,VALE3" }, "required": true, "name": "symbols", "in": "query" } ], "responses": { "200": { "description": "Cotações recuperadas com sucesso.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/StockQuoteResponse" } } } }, "400": { "description": "Requisição inválida. Confira os parâmetros.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Requisição inválida. Um parâmetro falta ou tem valor incorreto.", "example": { "error": true, "message": "Parâmetros inválidos", "code": "BAD_REQUEST" } } ] } } } }, "401": { "description": "Token ausente ou inválido.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Token ausente ou inválido.", "example": { "error": true, "message": "Token de autenticação inválido ou ausente", "code": "UNAUTHORIZED" } } ] } } } }, "403": { "description": "O plano não inclui este recurso ou parâmetro.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Acesso negado. O plano não inclui este recurso.", "example": { "error": true, "message": "Você não tem permissão para acessar este recurso", "code": "FORBIDDEN" } } ] } } } }, "404": { "description": "Nenhum dado encontrado para o pedido.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Nenhum dado encontrado para o pedido.", "example": { "error": true, "message": "Recurso não encontrado", "code": "NOT_FOUND" } } ] } } } }, "429": { "description": "Limite de requisições excedido.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Limite de requisições excedido.", "example": { "error": true, "message": "Limite de requisições excedido. Tente novamente mais tarde.", "code": "RATE_LIMIT_EXCEEDED" } } ] } } } }, "500": { "description": "Erro interno do servidor.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } } } }, "/api/v2/stocks/historical": { "get": { "tags": [ "Ações" ], "operationId": "getStockHistorical", "summary": "Histórico de preços de ações", "description": "\nSérie de preços por pregão com abertura, máxima, mínima, fechamento, fechamento ajustado e volume. Serve para ações, FIIs, BDRs, ETFs, units e índices com histórico.\n\nUse para gráficos, backtests e cálculo de retorno.\n\nEm conversões de ações, use o ticker original para consultar o histórico daquela classe. Por exemplo, AXIA6 mantém seu próprio histórico.\n\nLCAM3 e BRFS3 também mantêm históricos próprios, separados de RENT3 e MBRF3. PRGA3 usa a série de BRFS3. MRFG3 usa MBRF3.\n\nO histórico disponível pode ser consultado mesmo quando o ticker não tem cotação atual.\n\nDefina a janela com `range` e `interval`, por exemplo `range=1y&interval=1d`, ou com `startDate` e `endDate`. O padrão é `range=1mo` e `interval=1d`.\n\nO plano define os valores aceitos em `range` e `interval` e o tamanho máximo da janela por data. Um pedido acima do limite do plano retorna erro 400.\n\nEm intervalos diários, `open`, `high`, `low` e `close` podem vir ajustados. Nesses pontos, `close` coincide com `adjustedClose`. Outros pontos podem trazer `close` sem ajuste ou `adjustedClose` nulo. Os campos `raw*`, quando disponíveis, trazem os preços originais.\n\nUse `adjustedClose` para calcular retorno diário. Ele considera proventos, desdobramentos e grupamentos.\n\n`includeRaw=true` exige o plano Pro. Em intervalos diários, ele adiciona `rawOpen`, `rawHigh`, `rawLow` e `rawClose`, os preços originais sem ajuste. Esses campos podem ser nulos. Intervalos intradiários não trazem campos `raw*`.\n", "security": [ { "Bearer": [] } ], "parameters": [ { "schema": { "type": "string", "description": "Tickers separados por vírgula. Ex.: PETR4,VALE3. `requestedSymbol` identifica o ticker enviado e `symbol` identifica os dados retornados.", "example": "PETR4,VALE3" }, "required": true, "name": "symbols", "in": "query" }, { "schema": { "type": "string", "enum": [ "1d", "2d", "5d", "7d", "1mo", "3mo", "6mo", "1y", "2y", "5y", "10y", "ytd", "max" ], "description": "Janela relativa. Padrão: 1mo.", "example": "1y" }, "required": false, "name": "range", "in": "query" }, { "schema": { "type": "string", "enum": [ "1m", "2m", "5m", "15m", "30m", "60m", "90m", "1h", "1d", "5d", "1wk", "1mo", "3mo" ], "description": "Intervalo entre os pontos. Padrão: 1d.", "example": "1d" }, "required": false, "name": "interval", "in": "query" }, { "schema": { "type": "string", "description": "Data inicial no formato YYYY-MM-DD.", "example": "2024-01-01" }, "required": false, "name": "startDate", "in": "query" }, { "schema": { "type": "string", "description": "Data final no formato YYYY-MM-DD.", "example": "2024-12-31" }, "required": false, "name": "endDate", "in": "query" }, { "schema": { "type": "string", "enum": [ "asc", "desc" ], "default": "desc", "description": "Ordem dos pontos por data.", "example": "desc" }, "required": false, "name": "sortOrder", "in": "query" }, { "schema": { "type": "string", "enum": [ "true", "false" ], "description": "Inclui os preços originais sem ajuste (`rawOpen`, `rawHigh`, `rawLow`, `rawClose`) em intervalos diários. Exige o plano Pro.", "example": "true" }, "required": false, "name": "includeRaw", "in": "query" } ], "responses": { "200": { "description": "Histórico recuperado com sucesso.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/StockHistoricalResponse" } } } }, "400": { "description": "Requisição inválida. Confira os parâmetros.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Requisição inválida. Um parâmetro falta ou tem valor incorreto.", "example": { "error": true, "message": "Parâmetros inválidos", "code": "BAD_REQUEST" } } ] } } } }, "401": { "description": "Token ausente ou inválido.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Token ausente ou inválido.", "example": { "error": true, "message": "Token de autenticação inválido ou ausente", "code": "UNAUTHORIZED" } } ] } } } }, "403": { "description": "O plano não inclui este recurso ou parâmetro.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Acesso negado. O plano não inclui este recurso.", "example": { "error": true, "message": "Você não tem permissão para acessar este recurso", "code": "FORBIDDEN" } } ] } } } }, "404": { "description": "Nenhum dado encontrado para o pedido.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Nenhum dado encontrado para o pedido.", "example": { "error": true, "message": "Recurso não encontrado", "code": "NOT_FOUND" } } ] } } } }, "429": { "description": "Limite de requisições excedido.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Limite de requisições excedido.", "example": { "error": true, "message": "Limite de requisições excedido. Tente novamente mais tarde.", "code": "RATE_LIMIT_EXCEEDED" } } ] } } } }, "500": { "description": "Erro interno do servidor.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } } } }, "/api/v2/stocks/dividends": { "get": { "tags": [ "Ações" ], "operationId": "getStockDividends", "summary": "Dividendos de ações", "description": "\nProventos de ações brasileiras: dividendos, JCP, bonificações, desdobramentos, grupamentos e subscrições, com valor por ação, data-com, data ex e data de pagamento.\n\nUse para calcular dividend yield, montar calendários de proventos e registrar proventos em carteiras.\n\nEm conversões de ações, os proventos de cada classe permanecem separados. Uma consulta por AXIA6 retorna os proventos de AXIA6 e ELET6.\n\nOs proventos de LCAM3 e BRFS3 permanecem separados de RENT3 e MBRF3. PRGA3 usa BRFS3. MRFG3 usa MBRF3.\n\nOs proventos disponíveis podem ser consultados mesmo quando o ticker não tem cotação atual.\n\n`lastDatePrior` é a data-com, o último dia para comprar a ação e ter direito ao provento. `exDate` é a data ex, o primeiro dia sem esse direito. `exDate` pode ser nulo.\n\n`startDate` e `endDate` filtram proventos em dinheiro por `paymentDate` e eventos em ações por `lastDatePrior`.\n\n`includeRaw=true` exige o plano Pro. Ele adiciona `rawRate`, o valor por ação na escala dos preços sem ajuste.\n\nFIIs não entram aqui. Um ticker de FII retorna erro 400. Use [dividendos de FIIs](https://brapi.dev/docs/fiis/dividendos).\n", "security": [ { "Bearer": [] } ], "parameters": [ { "schema": { "type": "string", "description": "Tickers separados por vírgula. Ex.: PETR4,VALE3. `requestedSymbol` identifica o ticker enviado e `symbol` identifica os dados retornados.", "example": "PETR4,VALE3" }, "required": true, "name": "symbols", "in": "query" }, { "schema": { "type": "string", "description": "Data inicial no formato YYYY-MM-DD. Filtra proventos em dinheiro por `paymentDate` e eventos em ações por `lastDatePrior`.", "example": "2024-01-01" }, "required": false, "name": "startDate", "in": "query" }, { "schema": { "type": "string", "description": "Data final no formato YYYY-MM-DD. Filtra proventos em dinheiro por `paymentDate` e eventos em ações por `lastDatePrior`.", "example": "2024-12-31" }, "required": false, "name": "endDate", "in": "query" }, { "schema": { "type": "string", "enum": [ "paymentDate", "lastDatePrior", "approvedOn", "rate" ], "default": "paymentDate", "description": "Campo de ordenação dos eventos.", "example": "paymentDate" }, "required": false, "name": "sortBy", "in": "query" }, { "schema": { "type": "string", "enum": [ "asc", "desc" ], "default": "desc", "description": "Ordem dos eventos.", "example": "desc" }, "required": false, "name": "sortOrder", "in": "query" }, { "schema": { "type": "string", "enum": [ "true", "false" ], "description": "Inclui `rawRate`, o valor por ação na escala dos preços sem ajuste. Exige o plano Pro.", "example": "true" }, "required": false, "name": "includeRaw", "in": "query" } ], "responses": { "200": { "description": "Dividendos recuperados com sucesso.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/StockDividendsResponse" } } } }, "400": { "description": "Requisição inválida. Confira os parâmetros.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Requisição inválida. Um parâmetro falta ou tem valor incorreto.", "example": { "error": true, "message": "Parâmetros inválidos", "code": "BAD_REQUEST" } } ] } } } }, "401": { "description": "Token ausente ou inválido.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Token ausente ou inválido.", "example": { "error": true, "message": "Token de autenticação inválido ou ausente", "code": "UNAUTHORIZED" } } ] } } } }, "403": { "description": "O plano não inclui este recurso ou parâmetro.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Acesso negado. O plano não inclui este recurso.", "example": { "error": true, "message": "Você não tem permissão para acessar este recurso", "code": "FORBIDDEN" } } ] } } } }, "404": { "description": "Nenhum dado encontrado para o pedido.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Nenhum dado encontrado para o pedido.", "example": { "error": true, "message": "Recurso não encontrado", "code": "NOT_FOUND" } } ] } } } }, "429": { "description": "Limite de requisições excedido.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Limite de requisições excedido.", "example": { "error": true, "message": "Limite de requisições excedido. Tente novamente mais tarde.", "code": "RATE_LIMIT_EXCEEDED" } } ] } } } }, "500": { "description": "Erro interno do servidor.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } } } }, "/api/v2/stocks/profile": { "get": { "tags": [ "Ações" ], "operationId": "getStockProfile", "summary": "Perfil da empresa", "description": "Dados cadastrais da empresa por trás do ticker: razão social, CNPJ, setor, indústria, endereço, site, telefone, número de funcionários e descrição da atividade.\n\nUse para páginas de empresa, filtros por setor e cadastro de ativos em carteiras.\n\nEsses dados quase não mudam. Guarde a resposta e consulte de novo poucas vezes.", "security": [ { "Bearer": [] } ], "parameters": [ { "schema": { "type": "string", "description": "Tickers separados por vírgula. Ex.: PETR4,VALE3. `requestedSymbol` identifica o ticker enviado e `symbol` identifica os dados retornados.", "example": "PETR4,VALE3" }, "required": true, "name": "symbols", "in": "query" } ], "responses": { "200": { "description": "Dados fundamentalistas recuperados com sucesso.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/StockProfileResponse" } } } }, "400": { "description": "Requisição inválida. Confira os parâmetros.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Requisição inválida. Um parâmetro falta ou tem valor incorreto.", "example": { "error": true, "message": "Parâmetros inválidos", "code": "BAD_REQUEST" } } ] } } } }, "401": { "description": "Token ausente ou inválido.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Token ausente ou inválido.", "example": { "error": true, "message": "Token de autenticação inválido ou ausente", "code": "UNAUTHORIZED" } } ] } } } }, "403": { "description": "O plano não inclui este recurso ou parâmetro.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Acesso negado. O plano não inclui este recurso.", "example": { "error": true, "message": "Você não tem permissão para acessar este recurso", "code": "FORBIDDEN" } } ] } } } }, "404": { "description": "Nenhum dado encontrado para o pedido.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Nenhum dado encontrado para o pedido.", "example": { "error": true, "message": "Recurso não encontrado", "code": "NOT_FOUND" } } ] } } } }, "429": { "description": "Limite de requisições excedido.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Limite de requisições excedido.", "example": { "error": true, "message": "Limite de requisições excedido. Tente novamente mais tarde.", "code": "RATE_LIMIT_EXCEEDED" } } ] } } } }, "500": { "description": "Erro interno do servidor.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } } } }, "/api/v2/stocks/statistics": { "get": { "tags": [ "Ações" ], "operationId": "getStockStatistics", "summary": "Múltiplos de ações", "description": "Múltiplos e indicadores por ação: P/L, P/VP, beta, dividend yield, lucro por ação, valor patrimonial por ação e market cap.\n\nUse para comparar empresas, montar screeners e acompanhar valuation.\n\nO padrão `mode=current` traz o valor atual. `mode=history` traz a série anual ou trimestral, conforme `period`, filtrada por `startDate` e `endDate`.\n\nMúltiplos que usam o preço mudam a cada pregão. Múltiplos que usam só o balanço mudam quando a empresa publica um novo resultado.", "security": [ { "Bearer": [] } ], "parameters": [ { "schema": { "type": "string", "description": "Tickers separados por vírgula. Ex.: PETR4,VALE3. `requestedSymbol` identifica o ticker enviado e `symbol` identifica os dados retornados.", "example": "PETR4,VALE3" }, "required": true, "name": "symbols", "in": "query" }, { "schema": { "type": "string", "enum": [ "annual", "quarterly" ], "default": "annual", "description": "Período de cada linha: anual ou trimestral.", "example": "annual" }, "required": false, "name": "period", "in": "query" }, { "schema": { "type": "string", "description": "Data inicial no formato YYYY-MM-DD. Filtra pela data de encerramento do período.", "example": "2024-01-01" }, "required": false, "name": "startDate", "in": "query" }, { "schema": { "type": "string", "description": "Data final no formato YYYY-MM-DD. Filtra pela data de encerramento do período.", "example": "2024-12-31" }, "required": false, "name": "endDate", "in": "query" }, { "schema": { "type": "string", "enum": [ "current", "history" ], "default": "current", "description": "`current` traz o valor atual. `history` traz a série definida por `period`.", "example": "current" }, "required": false, "name": "mode", "in": "query" } ], "responses": { "200": { "description": "Dados fundamentalistas recuperados com sucesso.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/StockStatisticsResponse" } } } }, "400": { "description": "Requisição inválida. Confira os parâmetros.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Requisição inválida. Um parâmetro falta ou tem valor incorreto.", "example": { "error": true, "message": "Parâmetros inválidos", "code": "BAD_REQUEST" } } ] } } } }, "401": { "description": "Token ausente ou inválido.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Token ausente ou inválido.", "example": { "error": true, "message": "Token de autenticação inválido ou ausente", "code": "UNAUTHORIZED" } } ] } } } }, "403": { "description": "O plano não inclui este recurso ou parâmetro.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Acesso negado. O plano não inclui este recurso.", "example": { "error": true, "message": "Você não tem permissão para acessar este recurso", "code": "FORBIDDEN" } } ] } } } }, "404": { "description": "Nenhum dado encontrado para o pedido.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Nenhum dado encontrado para o pedido.", "example": { "error": true, "message": "Recurso não encontrado", "code": "NOT_FOUND" } } ] } } } }, "429": { "description": "Limite de requisições excedido.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Limite de requisições excedido.", "example": { "error": true, "message": "Limite de requisições excedido. Tente novamente mais tarde.", "code": "RATE_LIMIT_EXCEEDED" } } ] } } } }, "500": { "description": "Erro interno do servidor.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } } } }, "/api/v2/stocks/financial-data": { "get": { "tags": [ "Ações" ], "operationId": "getStockFinancialData", "summary": "Dados financeiros", "description": "Receita, lucro, EBITDA, margens, dívida, caixa e fluxo de caixa livre de uma empresa, em um único objeto.\n\nUse para ver o resumo financeiro sem ler cada demonstração.\n\nO padrão `mode=current` traz os últimos 12 meses. `mode=history` traz a série anual ou trimestral, conforme `period`, filtrada por `startDate` e `endDate`.\n\nPara as linhas completas, use [balanço patrimonial](https://brapi.dev/docs/acoes/balanco-patrimonial), [DRE](https://brapi.dev/docs/acoes/dre) e [fluxo de caixa](https://brapi.dev/docs/acoes/fluxo-de-caixa).", "security": [ { "Bearer": [] } ], "parameters": [ { "schema": { "type": "string", "description": "Tickers separados por vírgula. Ex.: PETR4,VALE3. `requestedSymbol` identifica o ticker enviado e `symbol` identifica os dados retornados.", "example": "PETR4,VALE3" }, "required": true, "name": "symbols", "in": "query" }, { "schema": { "type": "string", "enum": [ "annual", "quarterly" ], "default": "annual", "description": "Período de cada linha: anual ou trimestral.", "example": "annual" }, "required": false, "name": "period", "in": "query" }, { "schema": { "type": "string", "description": "Data inicial no formato YYYY-MM-DD. Filtra pela data de encerramento do período.", "example": "2024-01-01" }, "required": false, "name": "startDate", "in": "query" }, { "schema": { "type": "string", "description": "Data final no formato YYYY-MM-DD. Filtra pela data de encerramento do período.", "example": "2024-12-31" }, "required": false, "name": "endDate", "in": "query" }, { "schema": { "type": "string", "enum": [ "current", "history" ], "default": "current", "description": "`current` traz o valor atual. `history` traz a série definida por `period`.", "example": "current" }, "required": false, "name": "mode", "in": "query" } ], "responses": { "200": { "description": "Dados fundamentalistas recuperados com sucesso.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/StockFinancialDataResponse" } } } }, "400": { "description": "Requisição inválida. Confira os parâmetros.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Requisição inválida. Um parâmetro falta ou tem valor incorreto.", "example": { "error": true, "message": "Parâmetros inválidos", "code": "BAD_REQUEST" } } ] } } } }, "401": { "description": "Token ausente ou inválido.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Token ausente ou inválido.", "example": { "error": true, "message": "Token de autenticação inválido ou ausente", "code": "UNAUTHORIZED" } } ] } } } }, "403": { "description": "O plano não inclui este recurso ou parâmetro.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Acesso negado. O plano não inclui este recurso.", "example": { "error": true, "message": "Você não tem permissão para acessar este recurso", "code": "FORBIDDEN" } } ] } } } }, "404": { "description": "Nenhum dado encontrado para o pedido.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Nenhum dado encontrado para o pedido.", "example": { "error": true, "message": "Recurso não encontrado", "code": "NOT_FOUND" } } ] } } } }, "429": { "description": "Limite de requisições excedido.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Limite de requisições excedido.", "example": { "error": true, "message": "Limite de requisições excedido. Tente novamente mais tarde.", "code": "RATE_LIMIT_EXCEEDED" } } ] } } } }, "500": { "description": "Erro interno do servidor.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } } } }, "/api/v2/stocks/balance-sheet": { "get": { "tags": [ "Ações" ], "operationId": "getStockBalanceSheet", "summary": "Balanço patrimonial", "description": "Ativo, passivo e patrimônio líquido de empresas listadas, com base nos demonstrativos entregues à CVM. Uma linha por período, do mais recente para o mais antigo.\n\nUse para analisar endividamento, liquidez e estrutura de capital.\n\nO padrão é `period=annual`. Use `period=quarterly` para trimestres. `startDate` e `endDate` filtram pela data de encerramento do período.\n\nBancos e seguradoras usam outro plano de contas. Campos que não se aplicam ao setor vêm como `null`.", "security": [ { "Bearer": [] } ], "parameters": [ { "schema": { "type": "string", "description": "Tickers separados por vírgula. Ex.: PETR4,VALE3. `requestedSymbol` identifica o ticker enviado e `symbol` identifica os dados retornados.", "example": "PETR4,VALE3" }, "required": true, "name": "symbols", "in": "query" }, { "schema": { "type": "string", "enum": [ "annual", "quarterly" ], "default": "annual", "description": "Período de cada linha: anual ou trimestral.", "example": "annual" }, "required": false, "name": "period", "in": "query" }, { "schema": { "type": "string", "description": "Data inicial no formato YYYY-MM-DD. Filtra pela data de encerramento do período.", "example": "2024-01-01" }, "required": false, "name": "startDate", "in": "query" }, { "schema": { "type": "string", "description": "Data final no formato YYYY-MM-DD. Filtra pela data de encerramento do período.", "example": "2024-12-31" }, "required": false, "name": "endDate", "in": "query" } ], "responses": { "200": { "description": "Dados fundamentalistas recuperados com sucesso.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/StockBalanceSheetResponse" } } } }, "400": { "description": "Requisição inválida. Confira os parâmetros.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Requisição inválida. Um parâmetro falta ou tem valor incorreto.", "example": { "error": true, "message": "Parâmetros inválidos", "code": "BAD_REQUEST" } } ] } } } }, "401": { "description": "Token ausente ou inválido.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Token ausente ou inválido.", "example": { "error": true, "message": "Token de autenticação inválido ou ausente", "code": "UNAUTHORIZED" } } ] } } } }, "403": { "description": "O plano não inclui este recurso ou parâmetro.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Acesso negado. O plano não inclui este recurso.", "example": { "error": true, "message": "Você não tem permissão para acessar este recurso", "code": "FORBIDDEN" } } ] } } } }, "404": { "description": "Nenhum dado encontrado para o pedido.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Nenhum dado encontrado para o pedido.", "example": { "error": true, "message": "Recurso não encontrado", "code": "NOT_FOUND" } } ] } } } }, "429": { "description": "Limite de requisições excedido.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Limite de requisições excedido.", "example": { "error": true, "message": "Limite de requisições excedido. Tente novamente mais tarde.", "code": "RATE_LIMIT_EXCEEDED" } } ] } } } }, "500": { "description": "Erro interno do servidor.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } } } }, "/api/v2/stocks/income-statement": { "get": { "tags": [ "Ações" ], "operationId": "getStockIncomeStatement", "summary": "DRE", "description": "Demonstração de resultado de empresas listadas: receita, custos, lucro bruto, despesas operacionais, resultado financeiro, impostos e lucro líquido. Uma linha por período, do mais recente para o mais antigo.\n\nUse para acompanhar resultados, margens e crescimento de lucro.\n\nO padrão é `period=annual`. Use `period=quarterly` para trimestres. `startDate` e `endDate` filtram pela data de encerramento do período.\n\nCada trimestre traz o valor do trimestre isolado, sem somar os trimestres anteriores do ano.\n\nOs trimestres usam a mesma base, consolidada ou individual, do relatório anual do mesmo ano. Sem relatório anual, a base é a que tem o trimestre mais recente. Em empate, a consolidada vale. Lacunas não são preenchidas com a outra base. Um período sem os dados necessários para o cálculo retorna `null`.", "security": [ { "Bearer": [] } ], "parameters": [ { "schema": { "type": "string", "description": "Tickers separados por vírgula. Ex.: PETR4,VALE3. `requestedSymbol` identifica o ticker enviado e `symbol` identifica os dados retornados.", "example": "PETR4,VALE3" }, "required": true, "name": "symbols", "in": "query" }, { "schema": { "type": "string", "enum": [ "annual", "quarterly" ], "default": "annual", "description": "Período de cada linha: anual ou trimestral.", "example": "annual" }, "required": false, "name": "period", "in": "query" }, { "schema": { "type": "string", "description": "Data inicial no formato YYYY-MM-DD. Filtra pela data de encerramento do período.", "example": "2024-01-01" }, "required": false, "name": "startDate", "in": "query" }, { "schema": { "type": "string", "description": "Data final no formato YYYY-MM-DD. Filtra pela data de encerramento do período.", "example": "2024-12-31" }, "required": false, "name": "endDate", "in": "query" } ], "responses": { "200": { "description": "Dados fundamentalistas recuperados com sucesso.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/StockIncomeStatementResponse" } } } }, "400": { "description": "Requisição inválida. Confira os parâmetros.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Requisição inválida. Um parâmetro falta ou tem valor incorreto.", "example": { "error": true, "message": "Parâmetros inválidos", "code": "BAD_REQUEST" } } ] } } } }, "401": { "description": "Token ausente ou inválido.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Token ausente ou inválido.", "example": { "error": true, "message": "Token de autenticação inválido ou ausente", "code": "UNAUTHORIZED" } } ] } } } }, "403": { "description": "O plano não inclui este recurso ou parâmetro.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Acesso negado. O plano não inclui este recurso.", "example": { "error": true, "message": "Você não tem permissão para acessar este recurso", "code": "FORBIDDEN" } } ] } } } }, "404": { "description": "Nenhum dado encontrado para o pedido.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Nenhum dado encontrado para o pedido.", "example": { "error": true, "message": "Recurso não encontrado", "code": "NOT_FOUND" } } ] } } } }, "429": { "description": "Limite de requisições excedido.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Limite de requisições excedido.", "example": { "error": true, "message": "Limite de requisições excedido. Tente novamente mais tarde.", "code": "RATE_LIMIT_EXCEEDED" } } ] } } } }, "500": { "description": "Erro interno do servidor.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } } } }, "/api/v2/stocks/cash-flow": { "get": { "tags": [ "Ações" ], "operationId": "getStockCashFlow", "summary": "Fluxo de caixa", "description": "Demonstração do fluxo de caixa de empresas listadas: caixa das atividades operacionais, de investimento e de financiamento, com os saldos de caixa no início e no fim do período.\n\nUse para comparar a geração de caixa com o lucro e calcular o fluxo de caixa livre.\n\nO padrão é `period=annual`. Use `period=quarterly` para trimestres. `startDate` e `endDate` filtram pela data de encerramento do período.\n\n`freeCashFlow` soma o caixa operacional e o caixa de investimento. Ele é `null` quando um dos dois falta.\n\nOs trimestres usam a mesma base, consolidada ou individual, do relatório anual do mesmo ano. Sem relatório anual, a base é a que tem o trimestre mais recente. Em empate, a consolidada vale. Lacunas não são preenchidas com a outra base. Um período sem os dados necessários para o cálculo retorna `null`.", "security": [ { "Bearer": [] } ], "parameters": [ { "schema": { "type": "string", "description": "Tickers separados por vírgula. Ex.: PETR4,VALE3. `requestedSymbol` identifica o ticker enviado e `symbol` identifica os dados retornados.", "example": "PETR4,VALE3" }, "required": true, "name": "symbols", "in": "query" }, { "schema": { "type": "string", "enum": [ "annual", "quarterly" ], "default": "annual", "description": "Período de cada linha: anual ou trimestral.", "example": "annual" }, "required": false, "name": "period", "in": "query" }, { "schema": { "type": "string", "description": "Data inicial no formato YYYY-MM-DD. Filtra pela data de encerramento do período.", "example": "2024-01-01" }, "required": false, "name": "startDate", "in": "query" }, { "schema": { "type": "string", "description": "Data final no formato YYYY-MM-DD. Filtra pela data de encerramento do período.", "example": "2024-12-31" }, "required": false, "name": "endDate", "in": "query" } ], "responses": { "200": { "description": "Dados fundamentalistas recuperados com sucesso.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/StockCashFlowResponse" } } } }, "400": { "description": "Requisição inválida. Confira os parâmetros.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Requisição inválida. Um parâmetro falta ou tem valor incorreto.", "example": { "error": true, "message": "Parâmetros inválidos", "code": "BAD_REQUEST" } } ] } } } }, "401": { "description": "Token ausente ou inválido.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Token ausente ou inválido.", "example": { "error": true, "message": "Token de autenticação inválido ou ausente", "code": "UNAUTHORIZED" } } ] } } } }, "403": { "description": "O plano não inclui este recurso ou parâmetro.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Acesso negado. O plano não inclui este recurso.", "example": { "error": true, "message": "Você não tem permissão para acessar este recurso", "code": "FORBIDDEN" } } ] } } } }, "404": { "description": "Nenhum dado encontrado para o pedido.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Nenhum dado encontrado para o pedido.", "example": { "error": true, "message": "Recurso não encontrado", "code": "NOT_FOUND" } } ] } } } }, "429": { "description": "Limite de requisições excedido.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Limite de requisições excedido.", "example": { "error": true, "message": "Limite de requisições excedido. Tente novamente mais tarde.", "code": "RATE_LIMIT_EXCEEDED" } } ] } } } }, "500": { "description": "Erro interno do servidor.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } } } }, "/api/v2/stocks/value-added": { "get": { "tags": [ "Ações" ], "operationId": "getStockValueAdded", "summary": "DVA", "description": "Demonstração do valor adicionado de empresas listadas: a riqueza que a empresa gerou e como ela se divide entre pessoal, governo, credores e acionistas.\n\nUse para ver quanto a empresa paga de salários, impostos e juros, e quanto fica com os acionistas.\n\nO padrão é `period=annual`. Use `period=quarterly` para trimestres. `startDate` e `endDate` filtram pela data de encerramento do período.\n\nOs trimestres usam a mesma base, consolidada ou individual, do relatório anual do mesmo ano. Sem relatório anual, a base é a que tem o trimestre mais recente. Em empate, a consolidada vale. Lacunas não são preenchidas com a outra base. Um período sem os dados necessários para o cálculo retorna `null`.", "security": [ { "Bearer": [] } ], "parameters": [ { "schema": { "type": "string", "description": "Tickers separados por vírgula. Ex.: PETR4,VALE3. `requestedSymbol` identifica o ticker enviado e `symbol` identifica os dados retornados.", "example": "PETR4,VALE3" }, "required": true, "name": "symbols", "in": "query" }, { "schema": { "type": "string", "enum": [ "annual", "quarterly" ], "default": "annual", "description": "Período de cada linha: anual ou trimestral.", "example": "annual" }, "required": false, "name": "period", "in": "query" }, { "schema": { "type": "string", "description": "Data inicial no formato YYYY-MM-DD. Filtra pela data de encerramento do período.", "example": "2024-01-01" }, "required": false, "name": "startDate", "in": "query" }, { "schema": { "type": "string", "description": "Data final no formato YYYY-MM-DD. Filtra pela data de encerramento do período.", "example": "2024-12-31" }, "required": false, "name": "endDate", "in": "query" } ], "responses": { "200": { "description": "Dados fundamentalistas recuperados com sucesso.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/StockValueAddedResponse" } } } }, "400": { "description": "Requisição inválida. Confira os parâmetros.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Requisição inválida. Um parâmetro falta ou tem valor incorreto.", "example": { "error": true, "message": "Parâmetros inválidos", "code": "BAD_REQUEST" } } ] } } } }, "401": { "description": "Token ausente ou inválido.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Token ausente ou inválido.", "example": { "error": true, "message": "Token de autenticação inválido ou ausente", "code": "UNAUTHORIZED" } } ] } } } }, "403": { "description": "O plano não inclui este recurso ou parâmetro.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Acesso negado. O plano não inclui este recurso.", "example": { "error": true, "message": "Você não tem permissão para acessar este recurso", "code": "FORBIDDEN" } } ] } } } }, "404": { "description": "Nenhum dado encontrado para o pedido.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Nenhum dado encontrado para o pedido.", "example": { "error": true, "message": "Recurso não encontrado", "code": "NOT_FOUND" } } ] } } } }, "429": { "description": "Limite de requisições excedido.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Limite de requisições excedido.", "example": { "error": true, "message": "Limite de requisições excedido. Tente novamente mais tarde.", "code": "RATE_LIMIT_EXCEEDED" } } ] } } } }, "500": { "description": "Erro interno do servidor.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } } } }, "/api/v2/treasury/list": { "get": { "tags": [ "Renda Fixa" ], "operationId": "listTreasury", "summary": "Lista de títulos do Tesouro Direto", "description": "\nTítulos do Tesouro Direto da data-base mais recente, com taxa e preço\nindicativos de compra e venda. Filtre por indexador, tipo de cupom ou nome.\n\nUse para achar o `symbol` de cada título, montar uma tabela de títulos ou\ncomparar taxas entre vencimentos.\n\nCada item traz `rateInfo`, que diz como ler `buyRate` e `sellRate`\npara aquele indexador.\n\nPlano Pro. Sem token, `search` precisa ser um destes códigos:\n`tesouro-selic-01032031`, `tesouro-prefixado-com-juros-semestrais-01012037`\nou `tesouro-ipca-com-juros-semestrais-15082060`.\n", "security": [ { "Bearer": [] } ], "parameters": [ { "schema": { "type": "integer", "minimum": 0, "exclusiveMinimum": true, "default": 1, "description": "Número da página, a partir de 1.", "example": 1 }, "required": false, "name": "page", "in": "query" }, { "schema": { "type": "integer", "minimum": 0, "exclusiveMinimum": true, "default": 20, "description": "Itens por página.", "example": 20 }, "required": false, "name": "limit", "in": "query" }, { "schema": { "type": "string", "description": "Busca por parte do código ou do nome do título. Ex.: tesouro-selic-01032031.", "example": "tesouro-selic-01032031" }, "required": false, "name": "search", "in": "query" }, { "schema": { "type": "string", "enum": [ "selic", "prefixado", "ipca", "igpm" ], "description": "Indexador do título.", "example": "selic" }, "required": false, "name": "indexer", "in": "query" }, { "schema": { "type": "string", "enum": [ "zero", "semestral" ], "description": "Tipo de cupom do título.", "example": "zero" }, "required": false, "name": "couponType", "in": "query" }, { "schema": { "type": "string", "enum": [ "symbol", "bondType", "maturityDate", "durationDays", "baseDate", "buyRate", "sellRate", "buyPrice", "sellPrice", "basePrice" ], "default": "maturityDate", "description": "Campo usado na ordenação.", "example": "maturityDate" }, "required": false, "name": "sortBy", "in": "query" }, { "schema": { "type": "string", "enum": [ "asc", "desc" ], "default": "asc", "description": "Direção da ordenação.", "example": "asc" }, "required": false, "name": "sortOrder", "in": "query" } ], "responses": { "200": { "description": "Lista paginada de títulos do Tesouro Direto", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TreasuryListResponse" } } } }, "400": { "description": "Requisição inválida. Confira os parâmetros.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Requisição inválida. Um parâmetro falta ou tem valor incorreto.", "example": { "error": true, "message": "Parâmetros inválidos", "code": "BAD_REQUEST" } } ] } } } }, "401": { "description": "Token ausente ou inválido.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Token ausente ou inválido.", "example": { "error": true, "message": "Token de autenticação inválido ou ausente", "code": "UNAUTHORIZED" } } ] } } } }, "403": { "description": "O plano não inclui este recurso ou parâmetro.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Acesso negado. O plano não inclui este recurso.", "example": { "error": true, "message": "Você não tem permissão para acessar este recurso", "code": "FORBIDDEN" } } ] } } } }, "404": { "description": "Nenhum dado encontrado para o pedido.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Nenhum dado encontrado para o pedido.", "example": { "error": true, "message": "Recurso não encontrado", "code": "NOT_FOUND" } } ] } } } }, "429": { "description": "Limite de requisições excedido.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Limite de requisições excedido.", "example": { "error": true, "message": "Limite de requisições excedido. Tente novamente mais tarde.", "code": "RATE_LIMIT_EXCEEDED" } } ] } } } }, "500": { "description": "Erro interno do servidor.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "503": { "description": "Serviço temporariamente indisponível. Tente de novo em alguns minutos.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Serviço temporariamente indisponível.", "example": { "error": true, "message": "Serviço externo temporariamente indisponível. Tente novamente em alguns minutos.", "code": "EXTERNAL_API_ERROR" } } ] } } } } } } }, "/api/v2/treasury/indicators": { "get": { "tags": [ "Renda Fixa" ], "operationId": "getTreasuryIndicators", "summary": "Taxas do Tesouro Direto", "description": "\nTaxa e preço indicativos mais recentes de até 20 títulos do Tesouro Direto,\ncom vencimento, indexador, tipo de cupom e dias até o vencimento.\n\nUse para mostrar a taxa do dia de um título, calcular o valor de uma posição ou\navisar quando a taxa passa de um limite.\n\nAs taxas vêm em % a.a., mas o sentido muda por indexador. No Tesouro Selic, são\no spread sobre a Selic. No Prefixado, a taxa nominal. No IPCA+ e no IGP-M, a\ntaxa real acima da inflação. Leia `rateInfo` antes de formatar o número.\n\nCódigo desconhecido não gera erro. Ele fica fora de `results`.\n\nPlano Pro. Sem token, todos os `symbols` precisam estar entre os três\ntítulos liberados, listados em [Tesouro Direto](https://brapi.dev/docs/tesouro-direto).\n", "security": [ { "Bearer": [] } ], "parameters": [ { "schema": { "type": "string", "description": "Códigos dos títulos separados por vírgula, até 20. Ex.: tesouro-selic-01032031,tesouro-ipca-15052035.", "example": "tesouro-selic-01032031,tesouro-ipca-15052035" }, "required": true, "name": "symbols", "in": "query" } ], "responses": { "200": { "description": "Indicadores atuais retornados com sucesso", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TreasuryIndicatorsResponse" } } } }, "400": { "description": "Requisição inválida. Confira os parâmetros.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Requisição inválida. Um parâmetro falta ou tem valor incorreto.", "example": { "error": true, "message": "Parâmetros inválidos", "code": "BAD_REQUEST" } } ] } } } }, "401": { "description": "Token ausente ou inválido.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Token ausente ou inválido.", "example": { "error": true, "message": "Token de autenticação inválido ou ausente", "code": "UNAUTHORIZED" } } ] } } } }, "403": { "description": "O plano não inclui este recurso ou parâmetro.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Acesso negado. O plano não inclui este recurso.", "example": { "error": true, "message": "Você não tem permissão para acessar este recurso", "code": "FORBIDDEN" } } ] } } } }, "404": { "description": "Nenhum dado encontrado para o pedido.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Nenhum dado encontrado para o pedido.", "example": { "error": true, "message": "Recurso não encontrado", "code": "NOT_FOUND" } } ] } } } }, "429": { "description": "Limite de requisições excedido.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Limite de requisições excedido.", "example": { "error": true, "message": "Limite de requisições excedido. Tente novamente mais tarde.", "code": "RATE_LIMIT_EXCEEDED" } } ] } } } }, "500": { "description": "Erro interno do servidor.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "503": { "description": "Serviço temporariamente indisponível. Tente de novo em alguns minutos.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Serviço temporariamente indisponível.", "example": { "error": true, "message": "Serviço externo temporariamente indisponível. Tente novamente em alguns minutos.", "code": "EXTERNAL_API_ERROR" } } ] } } } } } } }, "/api/v2/treasury/indicators/history": { "get": { "tags": [ "Renda Fixa" ], "operationId": "getTreasuryIndicatorsHistory", "summary": "Histórico do Tesouro Direto", "description": "\nSérie diária de taxas e preços indicativos de até 20 títulos do Tesouro Direto,\ncom uma série por `symbol`.\n\nUse para gráficos de taxa, estudo de marcação a mercado ou backtests de renda\nfixa.\n\nSem `startDate`, a série começa 12 meses antes de hoje. Sem `endDate`,\ntermina hoje. O preço de um título prefixado sobe quando a taxa cai. Quem vende\nantes do vencimento recebe esse preço.\n\nCada série traz `rateInfo`, que diz como ler `buyRate` e `sellRate`.\nTítulo sem dados no período fica fora de `results`.\n\nPlano Pro. Sem token, todos os `symbols` precisam estar entre os três\ntítulos liberados, listados em [Tesouro Direto](https://brapi.dev/docs/tesouro-direto).\n", "security": [ { "Bearer": [] } ], "parameters": [ { "schema": { "type": "string", "description": "Códigos dos títulos separados por vírgula, até 20. Ex.: tesouro-selic-01032031,tesouro-ipca-15052035.", "example": "tesouro-selic-01032031,tesouro-ipca-15052035" }, "required": true, "name": "symbols", "in": "query" }, { "schema": { "type": "string", "description": "Data inicial no formato YYYY-MM-DD. Padrão: 12 meses antes de hoje.", "example": "2025-01-01" }, "required": false, "name": "startDate", "in": "query" }, { "schema": { "type": "string", "description": "Data final no formato YYYY-MM-DD. Padrão: hoje.", "example": "2026-05-15" }, "required": false, "name": "endDate", "in": "query" }, { "schema": { "type": "string", "enum": [ "baseDate", "buyRate", "sellRate", "buyPrice", "sellPrice", "basePrice" ], "default": "baseDate", "description": "Campo usado na ordenação da série.", "example": "baseDate" }, "required": false, "name": "sortBy", "in": "query" }, { "schema": { "type": "string", "enum": [ "asc", "desc" ], "default": "desc", "description": "Direção da ordenação.", "example": "desc" }, "required": false, "name": "sortOrder", "in": "query" } ], "responses": { "200": { "description": "Histórico diário retornado com sucesso", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TreasuryIndicatorsHistoryResponse" } } } }, "400": { "description": "Requisição inválida. Confira os parâmetros.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Requisição inválida. Um parâmetro falta ou tem valor incorreto.", "example": { "error": true, "message": "Parâmetros inválidos", "code": "BAD_REQUEST" } } ] } } } }, "401": { "description": "Token ausente ou inválido.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Token ausente ou inválido.", "example": { "error": true, "message": "Token de autenticação inválido ou ausente", "code": "UNAUTHORIZED" } } ] } } } }, "403": { "description": "O plano não inclui este recurso ou parâmetro.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Acesso negado. O plano não inclui este recurso.", "example": { "error": true, "message": "Você não tem permissão para acessar este recurso", "code": "FORBIDDEN" } } ] } } } }, "404": { "description": "Nenhum dado encontrado para o pedido.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Nenhum dado encontrado para o pedido.", "example": { "error": true, "message": "Recurso não encontrado", "code": "NOT_FOUND" } } ] } } } }, "429": { "description": "Limite de requisições excedido.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Limite de requisições excedido.", "example": { "error": true, "message": "Limite de requisições excedido. Tente novamente mais tarde.", "code": "RATE_LIMIT_EXCEEDED" } } ] } } } }, "500": { "description": "Erro interno do servidor.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "503": { "description": "Serviço temporariamente indisponível. Tente de novo em alguns minutos.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Serviço temporariamente indisponível.", "example": { "error": true, "message": "Serviço externo temporariamente indisponível. Tente novamente em alguns minutos.", "code": "EXTERNAL_API_ERROR" } } ] } } } } } } }, "/api/v2/tickers/renames": { "get": { "tags": [ "Tickers" ], "operationId": "getTickerRenames", "summary": "Renomes de tickers", "description": "\nMudanças de ticker, com o ticker antigo, o novo, o atual e a data efetiva.\n\nConversões de ações incluem `conversionRatio`, a quantidade de ações novas por ação antiga. O histórico de cada classe permanece separado.\n\nUse para explicar por que um ticker antigo leva a outro e para corrigir séries salvas com o ticker antigo.\n\nSe um ativo mudou de ticker mais de uma vez, `canonicalSymbol` traz o último. `startDate` e `endDate` filtram pela data efetiva. A lista vem da data mais recente para a mais antiga.\n\nNão exige token. Para trocar uma lista de tickers pelos atuais, use [resolver ticker antigo](https://brapi.dev/docs/tickers/resolver).\n", "parameters": [ { "schema": { "type": "string", "description": "Tickers separados por vírgula, até 20. Traz renomes em que algum deles é o ticker antigo, o novo ou o atual.", "example": "VVAR3,BHIA3" }, "required": false, "name": "symbols", "in": "query" }, { "schema": { "type": "string", "description": "Parte do ticker antigo, do novo ou do atual.", "example": "BHIA" }, "required": false, "name": "search", "in": "query" }, { "schema": { "type": "string", "description": "Data efetiva inicial no formato YYYY-MM-DD.", "example": "2024-01-01" }, "required": false, "name": "startDate", "in": "query" }, { "schema": { "type": "string", "description": "Data efetiva final no formato YYYY-MM-DD.", "example": "2026-12-31" }, "required": false, "name": "endDate", "in": "query" } ], "responses": { "200": { "description": "Renomes retornados com sucesso.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TickerRenamesResponse" } } } }, "400": { "description": "Requisição inválida. Confira os parâmetros.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Requisição inválida. Um parâmetro falta ou tem valor incorreto.", "example": { "error": true, "message": "Parâmetros inválidos", "code": "BAD_REQUEST" } } ] } } } }, "500": { "description": "Erro interno do servidor.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } } } }, "/api/v2/tickers/resolve": { "get": { "tags": [ "Tickers" ], "operationId": "resolveTickers", "summary": "Resolver tickers antigos", "description": "\nTroca tickers antigos pelo ticker atual. Um ticker sem renome conhecido volta igual.\n\nUse antes de consultar dados de mercado quando os tickers vêm de usuários, planilhas antigas ou carteiras importadas.\n\nEnvie até 20 tickers em `symbols`. A resposta segue a ordem enviada, sem repetidos. `status` é `renamed` quando o ticker mudou e `active` quando não há renome conhecido.\n\nConversões também retornam `renamed`. `conversionRatio` informa a quantidade de ações novas por ação antiga. Use o ticker original para consultar seu histórico.\n\nEste endpoint não confirma se o ticker existe. Para isso, use a [cobertura por ticker](https://brapi.dev/docs/tickers/cobertura).\n\nNão exige token.\n", "parameters": [ { "schema": { "type": "string", "description": "Tickers separados por vírgula, até 20.", "example": "VVAR3,PETR4" }, "required": true, "name": "symbols", "in": "query" } ], "responses": { "200": { "description": "Tickers resolvidos com sucesso.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TickerResolveResponse" } } } }, "400": { "description": "Requisição inválida. Confira os parâmetros.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Requisição inválida. Um parâmetro falta ou tem valor incorreto.", "example": { "error": true, "message": "Parâmetros inválidos", "code": "BAD_REQUEST" } } ] } } } }, "500": { "description": "Erro interno do servidor.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } } } }, "/api/v2/tickers/coverage": { "get": { "tags": [ "Tickers" ], "operationId": "getTickerCoverage", "summary": "Cobertura por ticker", "description": "\nMostra quais dados a brapi tem para cada ticker e quais endpoints usar em seguida: cotação, histórico, dividendos, fundamentos ou dados de FII.\n\nUse antes de montar uma integração, para saber quais endpoints servem para cada ativo.\n\nEnvie até 20 tickers em `symbols`. Um ticker antigo é trocado pelo atual e vem com `status` igual a `renamed`. Um ticker desconhecido não gera erro. Ele vem com `status` igual a `unknown` e links de busca. Um ticker de opção vem com `wrong_endpoint` e links para os endpoints de opções.\n\nEm conversões de ações, os links de histórico e proventos usam o ticker da classe original.\n\nEste endpoint não traz dados de mercado. Não exige token.\n", "parameters": [ { "schema": { "type": "string", "description": "Tickers separados por vírgula, até 20.", "example": "PETR4,MXRF11,VVAR3" }, "required": true, "name": "symbols", "in": "query" } ], "responses": { "200": { "description": "Cobertura retornada com sucesso.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TickerCoverageResponse" } } } }, "400": { "description": "Requisição inválida. Confira os parâmetros.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Requisição inválida. Um parâmetro falta ou tem valor incorreto.", "example": { "error": true, "message": "Parâmetros inválidos", "code": "BAD_REQUEST" } } ] } } } }, "500": { "description": "Erro interno do servidor.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } } } }, "/api/v2/tickers": { "get": { "tags": [ "Tickers" ], "operationId": "getTickers", "summary": "Listar tickers da B3", "description": "\nLista de tickers brasileiros com nome, tipo, setor, logo e um resumo da cotação: ações, FIIs, ETFs, BDRs e units. Os índices vêm em `indexes`.\n\nUse para busca, autocomplete, validação de tickers e screeners.\n\n`search` busca por parte do ticker, do nome da empresa ou de um ticker antigo. O filtro `type` aceita `stock`, `fund` e `bdr`. `facets` lista os valores aceitos nos filtros.\n\nA lista não tem opções, futuros, Tesouro Direto, criptomoedas, câmbio nem indicadores econômicos. Esses dados têm endpoints próprios.\n\nNão exige token. Para cotação completa, use a [cotação de ações](https://brapi.dev/docs/acoes/cotacao).\n", "parameters": [ { "schema": { "type": "string", "description": "Parte do ticker, do nome da empresa ou de um ticker antigo.", "example": "PETR" }, "required": false, "name": "search", "in": "query" }, { "schema": { "type": "string", "enum": [ "symbol", "name", "close", "change", "volume", "marketCap" ], "default": "volume", "description": "Campo de ordenação.", "example": "volume" }, "required": false, "name": "sortBy", "in": "query" }, { "schema": { "type": "string", "enum": [ "asc", "desc" ], "default": "desc", "description": "Ordem.", "example": "desc" }, "required": false, "name": "sortOrder", "in": "query" }, { "schema": { "type": "integer", "minimum": 0, "exclusiveMinimum": true, "default": 1, "description": "Número da página. Começa em 1.", "example": 1 }, "required": false, "name": "page", "in": "query" }, { "schema": { "type": "integer", "minimum": 0, "exclusiveMinimum": true, "default": 20, "description": "Itens por página. Máximo: 2000.", "example": 20 }, "required": false, "name": "limit", "in": "query" }, { "schema": { "type": "string", "description": "Setor.", "example": "Finance" }, "required": false, "name": "sector", "in": "query" }, { "schema": { "type": "string", "description": "Subsetor.", "example": "Comércio" }, "required": false, "name": "subsector", "in": "query" }, { "schema": { "type": "string", "enum": [ "stock", "fund", "bdr" ], "description": "Tipo do ativo. Índices não entram neste filtro.", "example": "stock" }, "required": false, "name": "type", "in": "query" }, { "schema": { "type": "string", "enum": [ "stock", "unit", "fii", "etf", "fi-infra", "fi-agro", "fip", "fidc", "bdr" ], "description": "Subtipo do ativo: stock, unit, fii, etf, fi-infra, fi-agro, fip, fidc ou bdr.", "example": "fii" }, "required": false, "name": "subType", "in": "query" } ], "responses": { "200": { "description": "Lista de tickers retornada com sucesso.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TickerListResponse" } } } }, "400": { "description": "Requisição inválida. Confira os parâmetros.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Requisição inválida. Um parâmetro falta ou tem valor incorreto.", "example": { "error": true, "message": "Parâmetros inválidos", "code": "BAD_REQUEST" } } ] } } } }, "500": { "description": "Erro interno do servidor.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } } } }, "/api/v2/user/usage": { "get": { "tags": [ "Conta" ], "operationId": "getUserUsage", "summary": "Uso da conta", "description": "\nQuanto da sua cota você já gastou na janela atual.\n\nA resposta traz `planName` (`free`, `startup` ou `pro`), `planLimit` com o\nlimite do plano, `currentUsage` com o consumo registrado, `remainingUsage` com\no saldo, `usageWindow` indicando se a contagem é por ciclo de cobrança ou por\n30 dias móveis, e `subscriptionPeriod` com o período atual da assinatura.\n\nA contagem vem do mesmo cache que o limitador usa, então ela pode ficar alguns\nsegundos atrás do consumo real.\n\n```bash\ncurl -H \"Authorization: Bearer SEU_TOKEN\" \"https://brapi.dev/api/v2/user/usage\"\n```\n", "security": [ { "Bearer": [] } ], "parameters": [ { "schema": { "type": "string", "enum": [ "json" ], "description": "Formato da resposta. JSON é o formato suportado." }, "required": false, "name": "format", "in": "query" } ], "responses": { "200": { "description": "Uso da conta retornado com sucesso.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserUsageResponse" } } } }, "401": { "description": "Token ausente, inválido ou inativo.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Token ausente ou inválido.", "example": { "error": true, "message": "Token de autenticação inválido ou ausente", "code": "UNAUTHORIZED" } } ] } } } }, "404": { "description": "Usuário associado ao token não encontrado.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/ErrorResponse" }, { "description": "Nenhum dado encontrado para o pedido.", "example": { "error": true, "message": "Recurso não encontrado", "code": "NOT_FOUND" } } ] } } } }, "500": { "description": "Erro interno ao buscar o uso da conta.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } } } } }}openapi-typescript. Se
você usa os SDKs oficiais, não precisa gerar nada.O arquivo segue OpenAPI 3.1.0 em JSON. O campo info.version é 3.0.0. Cada
nova versão da API gera o arquivo de novo.
Para chamar a API, pegue sua chave no dashboard. Veja a introdução para a primeira requisição.