Dados B3 Empresas API

The Empresas API from Dados B3 — 17 operation(s) for empresas.

Operations 17

GET /empresas/{ticker}/veredito Veredito Json #
GET /empresas/{ticker}/indicadores/{nome} Indicador Unico #
GET /empresas Empresas #
GET /empresas/{ticker} Empresa Raiz #
GET /empresas/{ticker}/indicadores Indicadores #
GET /empresas/{ticker}/linhagem/{ano}/{indicador} Linhagem Indicador #
GET /empresas/{ticker}/trimestres Trimestres #
GET /empresas/{ticker}/fatos Fatos #
GET /empresas/{ticker}/versoes Versoes Do Balanco #
GET /empresas/{ticker}/multiplos Multiplos #
GET /empresas/{ticker}/dividendos Dividendos #
GET /empresas/{ticker}/precos Precos Da Empresa #
GET /empresas/{ticker}/desempenho Desempenho Da Empresa #
GET /empresas/{ticker}/eventos Eventos Da Empresa #
GET /empresas/{ticker}/fundos Fundos Da Acao Json #
GET /empresas/{ticker}/scores Scores #
GET /empresas/{ticker}/reapresentacoes Reapresentacoes #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/dadosb3-com:dadosb3-com-empresas-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

dadosb3-com-empresas-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Dados B3 Empresas API
  description: 'Dados fundamentalistas de companhias abertas brasileiras com metodologia 100% pública e invariantes de dado publicados. Fontes: CVM (dados abertos, ODbL) e B3 (COTAHIST fim-de-dia). Todo número carrega a conta CVM de origem; valor duvidoso carrega flag, nunca estimativa escondida.'
  version: 0.1.0
tags:
- name: Empresas
paths:
  /empresas/{ticker}/veredito:
    get:
      summary: Veredito Json
      description: 'O veredito em FATO COMPARATIVO (Bloco 2, 23/09/2026): seis números em

        três perguntas, cada um com faixa numérica e comparação (setor, própria

        história, universo), mais a bandeira de confiança do RETRATO. Uma frase

        de topo de até 35 palavras, sem adjetivo de julgamento.


        ABERTO, sem chave: é resumo, e a página da companhia — que já é aberta —

        mostra os mesmos números. Determinístico, sem IA. Ver dados_b3/veredito.py.'
      operationId: veredito_json_empresas__ticker__veredito_get
      parameters:
      - name: ticker
        in: path
        required: true
        schema:
          type: string
          title: Ticker
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      tags:
      - Empresas
  /empresas/{ticker}/indicadores/{nome}:
    get:
      summary: Indicador Unico
      description: 'UM indicador de UMA companhia: a série ano a ano, onde o valor de hoje

        está na história da própria empresa, a mediana do setor, a distribuição

        no universo, a metodologia e a citação pronta (Bloco 1, 23/09/2026).


        É o endereço estável por indicador que uma IA consegue citar. Lê pela

        camada `dados_b3.leitura` — nada de SQL aqui. Mesma regra de chave das

        demais rotas de dado.'
      operationId: indicador_unico_empresas__ticker__indicadores__nome__get
      parameters:
      - name: ticker
        in: path
        required: true
        schema:
          type: string
          title: Ticker
      - name: nome
        in: path
        required: true
        schema:
          type: string
          title: Nome
      - name: x-api-key
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: X-Api-Key
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      tags:
      - Empresas
  /empresas:
    get:
      summary: Empresas
      description: 'Duas respostas no mesmo endereço (21/10/2026). Quem pede HTML (navegador, buscador) recebe a PÁGINA DE

        VENDAS do Plano Empresarial (dados_b3/pagina_empresas.py); quem não pede (o pacote Python, curl, `*/*`) recebe,

        como sempre, a LISTA DE COMPANHIAS em JSON. O JSON não mudou: `cliente/dadosb3` chama esta rota com

        `Accept: */*`. `Vary: Accept` avisa o cache de que o mesmo endereço tem duas respostas.'
      operationId: empresas_empresas_get
      parameters:
      - name: lang
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Lang
      - name: accept-language
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Accept-Language
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      tags:
      - Empresas
  /empresas/{ticker}:
    get:
      summary: Empresa Raiz
      description: 'O índice da companhia: quem ela é, o que existe sobre ela e onde está.


        ★ A PORTA QUE FALTAVA (17/09/2026). Quem descobria

        `/empresas/WEGE3/indicadores` e tentava subir um nível recebia 404 — o

        gesto mais natural de quem explora uma API devolvia "não existe" para uma

        companhia que existe. Um agente que bate aqui conclui que a cobertura

        acabou; uma pessoa conclui que o endereço está errado.


        É rota de DADO: JSON para todo mundo, sempre, como o resto de

        `/empresas/` — não negocia formato pelo Accept (a regra é a chave, não o

        Accept). Por isso o índice diz, em vez de redirecionar, onde fica a

        PÁGINA legível da companhia.


        Aberta de propósito: aqui não há número financeiro, só o mapa. Cada

        recurso declara se exige chave, então quem chega sem chave descobre o

        que existe e o que precisa fazer para ler — em vez de bater num 401 sem

        saber o que havia do outro lado.'
      operationId: empresa_raiz_empresas__ticker__get
      parameters:
      - name: ticker
        in: path
        required: true
        schema:
          type: string
          title: Ticker
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      tags:
      - Empresas
  /empresas/{ticker}/indicadores:
    get:
      summary: Indicadores
      operationId: indicadores_empresas__ticker__indicadores_get
      parameters:
      - name: ticker
        in: path
        required: true
        schema:
          type: string
          title: Ticker
      - name: x-api-key
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: X-Api-Key
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      tags:
      - Empresas
  /empresas/{ticker}/linhagem/{ano}/{indicador}:
    get:
      summary: Linhagem Indicador
      description: 'A cadeia inteira de um número publicado, até a linha do arquivo da CVM.


        É o que separa AUDITÁVEL de REPRODUZÍVEL. `/indicadores` já dizia a fórmula

        e a conta de origem — dá para conferir se a conta certa foi usada. Aqui vem

        o resto do caminho: a linha exata (código, a descrição que a própria empresa

        escreveu, valor, versão), o documento com a data em que ficou público, o

        link para o ZIP bruto da CVM, e o antes/depois se aquela conta foi

        reapresentada. Ver metodologia/linhagem.md.


        Elo que falta nunca é preenchido: insumo que a empresa não publicou vem com

        `rastreavel: false` e o motivo, e o que não deu para resolver vem em

        `avisos`. 98,1% dos indicadores publicados têm a cadeia completa.'
      operationId: linhagem_indicador_empresas__ticker__linhagem__ano___indicador__get
      parameters:
      - name: ticker
        in: path
        required: true
        schema:
          type: string
          title: Ticker
      - name: ano
        in: path
        required: true
        schema:
          type: integer
          title: Ano
      - name: indicador
        in: path
        required: true
        schema:
          type: string
          title: Indicador
      - name: x-api-key
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: X-Api-Key
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      tags:
      - Empresas
  /empresas/{ticker}/trimestres:
    get:
      summary: Trimestres
      description: 'Série TRIMESTRAL: contas da ITR + preço do trimestre + indicadores.


        ★ O DADO JÁ EXISTIA E NINGUÉM CONSEGUIA PEDIR (06/09/2026). `fato_trimestral`

        e `multiplo_trimestral` estavam no banco desde sempre, mas separados: quem

        perguntasse "como foi o 2T" recebia a série ANUAL (até um ano defasada) ou

        contas soltas sem preço. Esta rota junta os dois na granularidade em que a

        companhia de fato reporta durante o ano.


        O 4T não vem: a ITR publica 1T/2T/3T e o exercício fechado é da DFP. Dá para

        derivar `4T = DFP − 9M` — há quem derive — e nós não derivamos, porque um

        número calculado por nós entrando na mesma lista de números reportados pela

        empresa apaga a fronteira que este banco existe para manter. Ver

        `dados_b3/serie_trimestral.py`.'
      operationId: trimestres_empresas__ticker__trimestres_get
      parameters:
      - name: ticker
        in: path
        required: true
        schema:
          type: string
          title: Ticker
      - name: x-api-key
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: X-Api-Key
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      tags:
      - Empresas
  /empresas/{ticker}/fatos:
    get:
      summary: Fatos
      description: 'Contas padronizadas. Sem `as_of`: a versão mais recente de cada período.


        ★ `as_of=AAAA-MM-DD` (18/10/2026): o balanço COMO ESTAVA naquela data — para cada período,

        a maior versão cujo `dt_receb` é <= `as_of`, com `versao` e `dt_receb` em cada linha.

        Desde 23/10/2026 o comparativo REPUBLICADO na DFP do ano seguinte também entra, a partir do

        recebimento dessa DFP (ver o `valor_origem` / `publico_em` de cada linha e dados_b3/versoes.py). A

        CVM publica só a versão mais recente de cada documento nos arquivos de contas; o valor de

        uma versão que já foi substituída só existe para o que o build viu mudar (ver

        /empresas/{ticker}/versoes). Quando a versão vigente em `as_of` não tem valores guardados,

        o período vem em `periodos` com `valores: "nao_arquivados"` e SEM linhas — nunca com os

        números da versão mais nova, que é o vazamento de informação futura que o `as_of` evita.'
      operationId: fatos_empresas__ticker__fatos_get
      parameters:
      - name: ticker
        in: path
        required: true
        schema:
          type: string
          title: Ticker
      - name: trimestral
        in: query
        required: false
        schema:
          type: boolean
          default: false
          title: Trimestral
      - name: as_of
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: As Of
      - name: x-api-key
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: X-Api-Key
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      tags:
      - Empresas
  /empresas/{ticker}/versoes:
    get:
      summary: Versoes Do Balanco
      description: 'Cada documento (DFP anual e ITR trimestral) com TODAS as versões que a CVM recebeu, a

        data de cada uma, o link do documento original e, onde guardamos os valores de duas

        versões, as contas-chave que mudaram (antes → depois). `reenviados=true` lista só os

        documentos com mais de uma versão.


        ★ O QUE EXISTE PARA CADA COISA (18/10/2026). A lista de versões e as datas vêm da capa

        dos arquivos da CVM e cobrem todo o histórico. Os VALORES de uma versão anterior, não: a

        CVM publica só a versão mais recente nos arquivos de contas, então guardamos o que o

        build viu ser substituído. `versoes[].valores` diz, por versão: ''na_base'' (a publicada

        hoje), ''arquivados'' (guardados) ou ''nao_arquivados'' (a versão existiu e o número dela não

        está em arquivo nenhum da CVM). Ver dados_b3/versoes.py.'
      operationId: versoes_do_balanco_empresas__ticker__versoes_get
      parameters:
      - name: ticker
        in: path
        required: true
        schema:
          type: string
          title: Ticker
      - name: reenviados
        in: query
        required: false
        schema:
          type: boolean
          default: false
          title: Reenviados
      - name: x-api-key
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: X-Api-Key
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      tags:
      - Empresas
  /empresas/{ticker}/multiplos:
    get:
      summary: Multiplos
      description: 'P/L, P/VP, EV/EBITDA ponto-no-tempo (anuais e trimestrais) e a foto de hoje.


        ★ `as_of=AAAA-MM-DD` (18/10/2026, pedido de cliente): em `trimestrais`, o lucro TTM, o LPA TTM e o P/L TTM como

        estavam NAQUELA data. Cada documento da identidade do TTM (a DFP do ano anterior e as ITR dos dois anos) entra com

        a versão que valia em `as_of` (a maior versão com `dt_receb` <= `as_of`): a versão atual, ou uma anterior que o

        build arquivou. A linha traz `versoes_usadas` (categ_doc, dt_refer, versao, dt_receb, origem: base | arquivada |

        indisponivel | nao_publicado | sem_documento). Se a versão vigente existiu mas o número dela não foi guardado, NÃO usamos o da versão

        nova: `lucro_ttm`, `lpa_ttm` e `pl_ttm` saem nulos com `versao_original_indisponivel: true`. Trimestre cuja ITR ainda

        não tinha sido recebida sai da lista (`trimestrais_ainda_nao_publicados`). Preço = 1º pregão a partir do recebimento

        da versão vigente da ITR; as ações são as da linha. `anuais` e `valuation` não mudam. as_of inválido: 422, como em

        /fatos. Sem `as_of` nada muda.


        ★ POR CLASSE DE AÇÃO (18/10/2026). Com o ticker principal (PETR4) nada muda. Com outra classe da mesma companhia

        (PETR3, a PN ou a ON que não é a principal, a unit) o P/L e o P/VP usam o fechamento DAQUELA classe no mesmo

        pregão que o principal usou; o LPA e o VPA são os da companhia. A resposta traz `classe_consultada` (qual classe,

        qual preço, de que dia) e, em cada linha, `preco_da_classe`, `data_preco_da_classe` e os valores do principal em

        `pl_principal`/`pvp_principal`. Unit: preço da unit ÷ ações da cesta. Valor de mercado, EV/EBITDA e FCF yield

        continuam da companhia, pelo preço do principal.'
      operationId: multiplos_empresas__ticker__multiplos_get
      parameters:
      - name: ticker
        in: path
        required: true
        schema:
          type: string
          title: Ticker
      - name: as_of
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: As Of
      - name: x-api-key
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: X-Api-Key
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      tags:
      - Empresas
  /empresas/{ticker}/dividendos:
    get:
      summary: Dividendos
      operationId: dividendos_empresas__ticker__dividendos_get
      parameters:
      - name: ticker
        in: path
        required: true
        schema:
          type: string
          title: Ticker
      - name: x-api-key
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: X-Api-Key
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      tags:
      - Empresas
  /empresas/{ticker}/precos:
    get:
      summary: Precos Da Empresa
      description: 'A série DIÁRIA de preços da empresa numa chamada só: abertura, máxima, mínima,

        fechamento, preço médio, volume financeiro, quantidade e negócios, do COTAHIST da B3,

        do mais antigo ao mais recente. `de`/`ate` (AAAA-MM-DD) recortam; `formato=csv` devolve

        CSV; `limite` (padrão 6.000, máximo 20.000) corta a partir do mais antigo.


        O preço NÃO é ajustado por desdobramento, grupamento ou bonificação: junto da série vão os

        eventos do período (`eventos`, os mesmos de /empresas/{T}/eventos), para quem constrói o

        ajuste ter tudo aqui.


        ★ POR QUE (04/10/2026). Um uso real (backtest de retorno total) contou que o caminho até a

        série diária completa foi o maior problema: o preço por papel só saía no dump de 876 mil

        linhas (Pro) ou na tela. Uma chamada devolve 16 anos de um papel, o que cabe no limite

        diário do plano grátis.


        SEM CHAVE, em papel fechado: devolve 200 com uma AMOSTRA dos últimos 30 pregões e um `aviso` no corpo (como ter a

        série inteira; onde está a resposta pronta), em vez de 401 — quem só lê página via "erro 401" e ia embora.'
      operationId: precos_da_empresa_empresas__ticker__precos_get
      parameters:
      - name: ticker
        in: path
        required: true
        schema:
          type: string
          title: Ticker
      - name: de
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: De
      - name: ate
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Ate
      - name: limite
        in: query
        required: false
        schema:
          type: integer
          default: 6000
          title: Limite
      - name: formato
        in: query
        required: false
        schema:
          type: string
          default: json
          title: Formato
      - name: x-api-key
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: X-Api-Key
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      tags:
      - Empresas
  /empresas/{ticker}/desempenho:
    get:
      summary: Desempenho Da Empresa
      description: 'Desempenho do papel num período em POUCOS números, calculado aqui: retorno, retorno

        anualizado, drawdown máximo (com as datas do pico e do fundo) e volatilidade do comprar e

        manter, e o mesmo para um cruzamento de médias móveis (padrão 21 × 100). Padrão: os últimos 5

        anos. ABERTO para todos os tickers, sem chave (degustação). O preço é AJUSTADO pelos eventos societários conferidos; devolve o retorno de PREÇO e, quando há proventos registrados, o retorno TOTAL (dividendos, JCP e rendimentos reinvestidos no data-ex); sem custos

        (`premissas` diz tudo na resposta). Medida do passado, não recomendação.


        ★ POR QUE (04/10/2026). Em teste real, a IA que só lê URL (Claude) recebeu os 1.250 pregões

        cortados pela ferramenta de leitura dela, e a que não tem rede (Gemini) nem tentou. Quem só

        abre página precisa da resposta pronta e pequena; quem baixa a série (`/precos`) continua podendo

        calcular o que quiser.'
      operationId: desempenho_da_empresa_empresas__ticker__desempenho_get
      parameters:
      - name: ticker
        in: path
        required: true
        schema:
          type: string
          title: Ticker
      - name: de
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: De
      - name: ate
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Ate
      - name: media_curta
        in: query
        required: false
        schema:
          type: integer
          default: 21
          title: Media Curta
      - name: media_longa
        in: query
        required: false
        schema:
          type: integer
          default: 100
          title: Media Longa
      - name: x-api-key
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: X-Api-Key
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      tags:
      - Empresas
  /empresas/{ticker}/eventos:
    get:
      summary: Eventos Da Empresa
      description: 'Desdobramentos, grupamentos, bonificações e CISÕES da empresa, com DE ONDE vem cada

        um (declarado pela B3 ou achado por nós) e O QUE O PREÇO DISSE (confirmou, não

        distingue, discorda, não havia pregão). Eventos do mesmo dia formam UMA operação:

        `efeito_liquido_do_dia` é o multiplicador do grupo (0,01 × 100 = 1,0 no TIMS3).


        ★ POR QUE (04/10/2026). Um uso real (backtest de retorno total, TIMS3 em 02/07/2025)

        leu "inferido / não conferido" na página e tratou como evento sem prova; a B3 o

        declarava, com data de aprovação, e o efeito líquido era 1×. Esta rota põe a fonte e

        a situação em campos separados, e traz as cisões (ITUB4×XP, 2021) que o ajuste por

        fator não usa mas o pesquisador precisa ver.'
      operationId: eventos_da_empresa_empresas__ticker__eventos_get
      parameters:
      - name: ticker
        in: path
        required: true
        schema:
          type: string
          title: Ticker
      - name: x-api-key
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: X-Api-Key
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      tags:
      - Empresas
  /empresas/{ticker}/fundos:
    get:
      summary: Fundos Da Acao Json
      description: 'Quais fundos têm a ação e quanto, e quem aumentou ou reduziu a posição no último mês disponível (CDA da CVM,

        bloco 4, ações; 13 meses agregados por ticker e fundo). `?limite=` (1 a 500, padrão 50) corta a lista dos maiores

        por valor; os contadores e os maiores movimentos cobrem TODOS os fundos. Variação na QUANTIDADE de ações, contra o

        mês anterior. A carteira é publicada pela CVM depois do fim do mês: a data de referência vem na resposta.

        Licença da fonte: ODbL 1.0 (dados.cvm.gov.br/dataset/fi-doc-cda).'
      operationId: fundos_da_acao_json_empresas__ticker__fundos_get
      parameters:
      - name: ticker
        in: path
        required: true
        schema:
          type: string
          title: Ticker
      - name: limite
        in: query
        required: false
        schema:
          type: integer
          default: 50
          title: Limite
      - name: x-api-key
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: X-Api-Key
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      tags:
      - Empresas
  /empresas/{ticker}/scores:
    get:
      summary: Scores
      description: 'Scores fundamentalistas prontos, com a conta aberta: Piotroski F-Score

        (0-9, cada critério auditável) e o critério de Graham (P/L × P/VP ≤ 22,5).

        Banco não tem Piotroski (plano de contas próprio). WEGE3 gratuita.'
      operationId: scores_empresas__ticker__scores_get
      parameters:
      - name: ticker
        in: path
        required: true
        schema:
          type: string
          title: Ticker
      - name: x-api-key
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: X-Api-Key
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      tags:
      - Empresas
  /empresas/{ticker}/reapresentacoes:
    get:
      summary: Reapresentacoes
      description: 'Quando a empresa REPUBLICA um balanço, o número muda — e aqui as duas

        versões ficam lado a lado. É o diferencial que nenhum concorrente entrega:

        reapresentação registrada, nunca corrigida em silêncio.'
      operationId: reapresentacoes_empresas__ticker__reapresentacoes_get
      parameters:
      - name: ticker
        in: path
        required: true
        schema:
          type: string
          title: Ticker
      - name: x-api-key
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: X-Api-Key
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      tags:
      - Empresas
components:
  schemas:
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
            - type: string
            - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
        input:
          title: Input
        ctx:
          type: object
          title: Context
      type: object
      required:
      - loc
      - msg
      - type
      title: ValidationError
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
  securitySchemes:
    ChaveApiNaUrl:
      type: apiKey
      in: query
      name: chave
      description: Alternativa ao cabeçalho para clientes que só abrem URL (navegação de IA). Fica no histórico e nos logs de quem a usa.
    ChaveApi:
      type: apiKey
      in: header
      name: X-API-Key
      description: 'Chave grátis (200 consultas/dia) ou Pro em /assinar. Abertos sem chave (limite por IP): fatos, indicadores, múltiplos e dividendos de qualquer ticker, ficha e ranking de FII. WEGE3, MXRF11, /hoje, /saude e a metodologia são abertos. Exigem chave: as_of, versões, preços, screener, /dump.'