# Fluxo de Caixa

> Consulte a demonstração do fluxo de caixa de ações e outros ativos listados na B3, com dados anuais e trimestrais.

Acompanhe para onde o dinheiro vai — e de onde ele vem. O fluxo de caixa revela como uma empresa gera e utiliza seus recursos financeiros, separando as movimentações em três atividades: operacional, investimento e financiamento.

<callout color="neutral" icon="tabler:key" to="/docs/guide/key">

Para acessar os dados da API é necessário utilizar uma chave de integração e um plano compatível.

</callout>

---

## O que é o Fluxo de Caixa?

Enquanto a [demonstração de resultados](/docs/finance/income-statements) mostra o lucro contábil, o fluxo de caixa mostra **o dinheiro que efetivamente entrou e saiu do caixa**. Uma empresa pode ter lucro no papel, mas estar queimando caixa — e vice-versa.

O demonstrativo é dividido em três seções:

<table>
<thead>
  <tr>
    <th>
      Seção
    </th>
    
    <th>
      O que representa
    </th>
    
    <th>
      Exemplo
    </th>
  </tr>
</thead>

<tbody>
  <tr>
    <td>
      <strong>
        Operacional
      </strong>
    </td>
    
    <td>
      Caixa gerado (ou consumido) pelas atividades do dia a dia da empresa.
    </td>
    
    <td>
      Recebimento de clientes, pagamento de fornecedores
    </td>
  </tr>
  
  <tr>
    <td>
      <strong>
        Investimento
      </strong>
    </td>
    
    <td>
      Caixa usado para comprar ou vender ativos de longo prazo.
    </td>
    
    <td>
      Compra de máquinas, aquisição de empresas
    </td>
  </tr>
  
  <tr>
    <td>
      <strong>
        Financiamento
      </strong>
    </td>
    
    <td>
      Caixa obtido ou devolvido a credores e acionistas.
    </td>
    
    <td>
      Empréstimos, pagamento de dividendos
    </td>
  </tr>
</tbody>
</table>

A soma das três seções (mais o efeito cambial, quando aplicável) resulta na **variação líquida do caixa** no período.

<callout color="info" icon="tabler:info-circle">

Os dados utilizam o **método indireto** — partem do lucro líquido e ajustam por itens não monetários (como depreciação) e variações no capital de giro. Valores de saída de caixa são **negativos** por convenção.

</callout>

---

## Períodos e TTM

Você pode consultar dados anuais ou trimestrais. No modo anual, a API calcula automaticamente o **TTM (Trailing Twelve Months)** — uma visão acumulada dos últimos 12 meses, combinando os trimestres mais recentes. Isso permite acompanhar a geração de caixa atualizada sem esperar o relatório anual.

<table>
<thead>
  <tr>
    <th>
      <code>
        period
      </code>
    </th>
    
    <th>
      Ordem dos <code>
        statements
      </code>
    </th>
  </tr>
</thead>

<tbody>
  <tr>
    <td>
      <code>
        annual
      </code>
      
       (padrão)
    </td>
    
    <td>
      <strong>
        TTM
      </strong>
      
       (se disponível), seguido dos exercícios anuais em ordem decrescente.
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        quarterly
      </code>
    </td>
    
    <td>
      Trimestres em ordem decrescente, sem TTM.
    </td>
  </tr>
</tbody>
</table>

---

## Requisição

Informe o ticker no formato `{fonte}:{símbolo}`.

<endpoint endpoint="/v2/finance/cash-flows?tickers=B3:PETR4">



</endpoint>

<request-example endpoint="/v2/finance/cash-flows?tickers=B3:PETR4">



</request-example>

<stock-search>



</stock-search>

### Parâmetros

<field-group>
<field name="tickers" type="string" :required="true">

Ticker do ativo no formato `{fonte}:{símbolo}`. Para múltiplos ativos, separe por vírgula: `B3:PETR4,B3:VALE3`.

</field>

<field name="period" type="string">

Tipo de período fiscal: `annual` (padrão) ou `quarterly`.

</field>

<field name="start_date" type="string">

Data inicial para filtrar os dados (`yyyy-mm-dd`).

</field>

<field name="end_date" type="string">

Data final para filtrar os dados (`yyyy-mm-dd`).

</field>

<field name="days_ago" type="number">

Número de dias atrás a partir de hoje. Use `0` para dados do dia atual.

</field>
</field-group>

---

## Resposta

<response-json endpoint="/v2/finance/cash-flows?tickers=B3:PETR4">



</response-json>

### Campos

Os dados de cada ativo retornam no array `results`:

#### Ativo

<table>
<thead>
  <tr>
    <th>
      Campo
    </th>
    
    <th>
      Tipo
    </th>
    
    <th>
      Descrição
    </th>
    
    <th>
      Exemplo
    </th>
  </tr>
</thead>

<tbody>
  <tr>
    <td>
      <code>
        ticker
      </code>
    </td>
    
    <td>
      <code className="language-ts-type shiki shiki-themes one-light one-dark-pro one-dark-pro" language="ts-type" style="">
        <span class="s3iYH">
          string
        </span>
      </code>
    </td>
    
    <td>
      Ticker completo no formato <code>
        {fonte}:{símbolo}
      </code>
      
      .
    </td>
    
    <td>
      B3:PETR4
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        unit
      </code>
    </td>
    
    <td>
      <code className="language-ts-type shiki shiki-themes one-light one-dark-pro one-dark-pro" language="ts-type" style="">
        <span class="s3iYH">
          string
        </span>
      </code>
    </td>
    
    <td>
      Unidade dos valores (<code>
        currency
      </code>
      
       para moeda).
    </td>
    
    <td>
      currency
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        currency
      </code>
    </td>
    
    <td>
      <code className="language-ts-type shiki shiki-themes one-light one-dark-pro one-dark-pro" language="ts-type" style="">
        <span class="s3iYH">
          string
        </span>
      </code>
    </td>
    
    <td>
      Moeda dos valores.
    </td>
    
    <td>
      BRL
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        symbol
      </code>
    </td>
    
    <td>
      <code className="language-ts-type shiki shiki-themes one-light one-dark-pro one-dark-pro" language="ts-type" style="">
        <span class="s3iYH">
          string
        </span>
      </code>
    </td>
    
    <td>
      Código de negociação do ativo.
    </td>
    
    <td>
      PETR4
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        name
      </code>
    </td>
    
    <td>
      <code className="language-ts-type shiki shiki-themes one-light one-dark-pro one-dark-pro" language="ts-type" style="">
        <span class="s3iYH">
          string
        </span>
      </code>
    </td>
    
    <td>
      Nome simplificado da empresa.
    </td>
    
    <td>
      Petrobras
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        full_name
      </code>
    </td>
    
    <td>
      <code className="language-ts-type shiki shiki-themes one-light one-dark-pro one-dark-pro" language="ts-type" style="">
        <span class="s3iYH">
          string
        </span>
      </code>
    </td>
    
    <td>
      Razão social completa da empresa.
    </td>
    
    <td>
      Petróleo Brasileiro S.A.
    </td>
  </tr>
</tbody>
</table>

#### Período

Cada item do array `statements` representa o fluxo de caixa de um período:

<table>
<thead>
  <tr>
    <th>
      Campo
    </th>
    
    <th>
      Tipo
    </th>
    
    <th>
      Descrição
    </th>
    
    <th>
      Exemplo
    </th>
  </tr>
</thead>

<tbody>
  <tr>
    <td>
      <code>
        period_type
      </code>
    </td>
    
    <td>
      <code className="language-ts-type shiki shiki-themes one-light one-dark-pro one-dark-pro" language="ts-type" style="">
        <span class="s3iYH">
          string
        </span>
      </code>
    </td>
    
    <td>
      Tipo do período: <code>
        annual
      </code>
      
       ou <code>
        quarterly
      </code>
      
      .
    </td>
    
    <td>
      annual
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        start_date
      </code>
    </td>
    
    <td>
      <code className="language-ts-type shiki shiki-themes one-light one-dark-pro one-dark-pro" language="ts-type" style="">
        <span class="s3iYH">
          string
        </span>
      </code>
    </td>
    
    <td>
      Data de início do período.
    </td>
    
    <td>
      2024-01-01
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        end_date
      </code>
    </td>
    
    <td>
      <code className="language-ts-type shiki shiki-themes one-light one-dark-pro one-dark-pro" language="ts-type" style="">
        <span class="s3iYH">
          string
        </span>
      </code>
    </td>
    
    <td>
      Data de encerramento do período.
    </td>
    
    <td>
      2024-12-31
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        fiscal_year
      </code>
    </td>
    
    <td>
      <code className="language-ts-type shiki shiki-themes one-light one-dark-pro one-dark-pro" language="ts-type" style="">
        <span class="s3iYH">
          number
        </span>
      </code>
    </td>
    
    <td>
      Ano fiscal.
    </td>
    
    <td>
      2024
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        fiscal_period
      </code>
    </td>
    
    <td>
      <code className="language-ts-type shiki shiki-themes one-light one-dark-pro one-dark-pro" language="ts-type" style="">
        <span class="s3iYH">
          string
        </span>
      </code>
    </td>
    
    <td>
      Período fiscal: <code>
        FY
      </code>
      
      , <code>
        TTM
      </code>
      
      , ou <code>
        Q1
      </code>
      
      –<code>
        Q4
      </code>
      
      .
    </td>
    
    <td>
      FY
    </td>
  </tr>
</tbody>
</table>

#### Operating (Atividades Operacionais)

O objeto `operating` mostra o caixa gerado pelas atividades principais da empresa:

<table>
<thead>
  <tr>
    <th>
      Campo
    </th>
    
    <th>
      Tipo
    </th>
    
    <th>
      Descrição
    </th>
  </tr>
</thead>

<tbody>
  <tr>
    <td>
      <code>
        total
      </code>
    </td>
    
    <td>
      <code className="language-ts-type shiki shiki-themes one-light one-dark-pro one-dark-pro" language="ts-type" style="">
        <span class="s3iYH">
          number
        </span>
      </code>
    </td>
    
    <td>
      Caixa líquido das atividades operacionais.
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        cash_from_operations
      </code>
    </td>
    
    <td>
      <code className="language-ts-type shiki shiki-themes one-light one-dark-pro one-dark-pro" language="ts-type" style="">
        <span class="s3iYH">
          number
        </span>
      </code>
    </td>
    
    <td>
      Caixa gerado nas operações (antes de variações de capital de giro). Inclui lucro líquido e ajustes não monetários.
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        depreciation_and_amortization
      </code>
    </td>
    
    <td>
      <code className="language-ts-type shiki shiki-themes one-light one-dark-pro one-dark-pro" language="ts-type" style="">
        <span class="s3iYH">
          number
        </span>
      </code>
    </td>
    
    <td>
      Depreciação, amortização e exaustão — despesas não monetárias adicionadas de volta ao caixa.
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        stock_based_compensation
      </code>
    </td>
    
    <td>
      <code className="language-ts-type shiki shiki-themes one-light one-dark-pro one-dark-pro" language="ts-type" style="">
        <span class="s3iYH">
          number
        </span>
      </code>
    </td>
    
    <td>
      Remuneração baseada em ações (planos de stock options).
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        changes_in_working_capital
      </code>
    </td>
    
    <td>
      <code className="language-ts-type shiki shiki-themes one-light one-dark-pro one-dark-pro" language="ts-type" style="">
        <span class="s3iYH">
          number
        </span>
      </code>
    </td>
    
    <td>
      Variações nos ativos e passivos operacionais (capital de giro).
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        other_operating
      </code>
    </td>
    
    <td>
      <code className="language-ts-type shiki shiki-themes one-light one-dark-pro one-dark-pro" language="ts-type" style="">
        <span class="s3iYH">
          number
        </span>
      </code>
    </td>
    
    <td>
      Outros fluxos operacionais (impostos pagos, juros pagos e demais itens).
    </td>
  </tr>
</tbody>
</table>

<callout color="warning" icon="tabler:alert-triangle">

Os campos `depreciation_and_amortization` e `stock_based_compensation` podem retornar `null` quando não identificados com segurança para a empresa consultada.

</callout>

#### Investing (Atividades de Investimento)

O objeto `investing` mostra o caixa usado em aquisições e vendas de ativos de longo prazo:

<table>
<thead>
  <tr>
    <th>
      Campo
    </th>
    
    <th>
      Tipo
    </th>
    
    <th>
      Descrição
    </th>
  </tr>
</thead>

<tbody>
  <tr>
    <td>
      <code>
        total
      </code>
    </td>
    
    <td>
      <code className="language-ts-type shiki shiki-themes one-light one-dark-pro one-dark-pro" language="ts-type" style="">
        <span class="s3iYH">
          number
        </span>
      </code>
    </td>
    
    <td>
      Caixa líquido das atividades de investimento.
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        capital_expenditures
      </code>
    </td>
    
    <td>
      <code className="language-ts-type shiki shiki-themes one-light one-dark-pro one-dark-pro" language="ts-type" style="">
        <span class="s3iYH">
          number
        </span>
      </code>
    </td>
    
    <td>
      Investimentos em ativos imobilizados e intangíveis (CapEx).
    </td>
  </tr>
</tbody>
</table>

<callout color="warning" icon="tabler:alert-triangle">

O campo `capital_expenditures` pode retornar `null` quando não identificado com segurança. O campo `total` sempre estará disponível e representa o fluxo completo de investimentos (incluindo aquisições, vendas de ativos e outros).

</callout>

#### Financing (Atividades de Financiamento)

O objeto `financing` mostra o caixa obtido ou devolvido a credores e acionistas:

<table>
<thead>
  <tr>
    <th>
      Campo
    </th>
    
    <th>
      Tipo
    </th>
    
    <th>
      Descrição
    </th>
  </tr>
</thead>

<tbody>
  <tr>
    <td>
      <code>
        total
      </code>
    </td>
    
    <td>
      <code className="language-ts-type shiki shiki-themes one-light one-dark-pro one-dark-pro" language="ts-type" style="">
        <span class="s3iYH">
          number
        </span>
      </code>
    </td>
    
    <td>
      Caixa líquido das atividades de financiamento.
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        dividends_paid
      </code>
    </td>
    
    <td>
      <code className="language-ts-type shiki shiki-themes one-light one-dark-pro one-dark-pro" language="ts-type" style="">
        <span class="s3iYH">
          number
        </span>
      </code>
    </td>
    
    <td>
      Dividendos e juros sobre capital próprio pagos (valor negativo).
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        share_repurchases
      </code>
    </td>
    
    <td>
      <code className="language-ts-type shiki shiki-themes one-light one-dark-pro one-dark-pro" language="ts-type" style="">
        <span class="s3iYH">
          number
        </span>
      </code>
    </td>
    
    <td>
      Recompra de ações em tesouraria (valor negativo).
    </td>
  </tr>
</tbody>
</table>

<callout color="warning" icon="tabler:alert-triangle">

Os campos `dividends_paid` e `share_repurchases` podem retornar `null` quando não identificados com segurança. O campo `total` sempre estará disponível e representa o fluxo completo de financiamentos (incluindo empréstimos, amortizações e outros).

</callout>

#### Reconciliação

Campos na raiz do statement que conciliam a variação do caixa no período:

<table>
<thead>
  <tr>
    <th>
      Campo
    </th>
    
    <th>
      Tipo
    </th>
    
    <th>
      Descrição
    </th>
  </tr>
</thead>

<tbody>
  <tr>
    <td>
      <code>
        exchange_rate_effect
      </code>
    </td>
    
    <td>
      <code className="language-ts-type shiki shiki-themes one-light one-dark-pro one-dark-pro" language="ts-type" style="">
        <span class="s3iYH">
          number
        </span>
      </code>
    </td>
    
    <td>
      Variação cambial sobre caixa e equivalentes.
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        net_change_in_cash
      </code>
    </td>
    
    <td>
      <code className="language-ts-type shiki shiki-themes one-light one-dark-pro one-dark-pro" language="ts-type" style="">
        <span class="s3iYH">
          number
        </span>
      </code>
    </td>
    
    <td>
      Aumento ou redução líquida de caixa no período.
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        beginning_cash_balance
      </code>
    </td>
    
    <td>
      <code className="language-ts-type shiki shiki-themes one-light one-dark-pro one-dark-pro" language="ts-type" style="">
        <span class="s3iYH">
          number
        </span>
      </code>
    </td>
    
    <td>
      Saldo de caixa no início do período.
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        ending_cash_balance
      </code>
    </td>
    
    <td>
      <code className="language-ts-type shiki shiki-themes one-light one-dark-pro one-dark-pro" language="ts-type" style="">
        <span class="s3iYH">
          number
        </span>
      </code>
    </td>
    
    <td>
      Saldo de caixa no final do período.
    </td>
  </tr>
</tbody>
</table>

<callout color="info" icon="tabler:info-circle">

A reconciliação permite verificar a consistência: `operating.total + investing.total + financing.total + exchange_rate_effect = net_change_in_cash`, e `beginning_cash_balance + net_change_in_cash = ending_cash_balance`.

</callout>

#### Fonte

O objeto `source` contém informações sobre a origem dos dados:

<table>
<thead>
  <tr>
    <th>
      Campo
    </th>
    
    <th>
      Tipo
    </th>
    
    <th>
      Descrição
    </th>
    
    <th>
      Exemplo
    </th>
  </tr>
</thead>

<tbody>
  <tr>
    <td>
      <code>
        source.symbol
      </code>
    </td>
    
    <td>
      <code className="language-ts-type shiki shiki-themes one-light one-dark-pro one-dark-pro" language="ts-type" style="">
        <span class="s3iYH">
          string
        </span>
      </code>
    </td>
    
    <td>
      Código da fonte.
    </td>
    
    <td>
      CVM
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        source.name
      </code>
    </td>
    
    <td>
      <code className="language-ts-type shiki shiki-themes one-light one-dark-pro one-dark-pro" language="ts-type" style="">
        <span class="s3iYH">
          string
        </span>
      </code>
    </td>
    
    <td>
      Nome da fonte.
    </td>
    
    <td>
      Comissão de Valores Mobiliários
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        source.full_name
      </code>
    </td>
    
    <td>
      <code className="language-ts-type shiki shiki-themes one-light one-dark-pro one-dark-pro" language="ts-type" style="">
        <span class="s3iYH">
          string
        </span>
      </code>
    </td>
    
    <td>
      Nome completo da fonte.
    </td>
    
    <td>
      Comissão de Valores Mobiliários
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        source.url
      </code>
    </td>
    
    <td>
      <code className="language-ts-type shiki shiki-themes one-light one-dark-pro one-dark-pro" language="ts-type" style="">
        <span class="s3iYH">
          string
        </span>
      </code>
    </td>
    
    <td>
      Site oficial.
    </td>
    
    <td>
      <a href="https://www.cvm.gov.br/" rel="nofollow">
        https://www.cvm.gov.br/
      </a>
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        source.location.timezone
      </code>
    </td>
    
    <td>
      <code className="language-ts-type shiki shiki-themes one-light one-dark-pro one-dark-pro" language="ts-type" style="">
        <span class="s3iYH">
          string
        </span>
      </code>
    </td>
    
    <td>
      Fuso horário.
    </td>
    
    <td>
      America/Sao_Paulo
    </td>
  </tr>
</tbody>
</table>
