---
title: "Filtrar ações por indicadores"
method: GET
path: "/api/v2/stocks/screener"
tags: ["Ações"]
---

# Filtrar ações por indicadores

`GET /api/v2/stocks/screener`

## Request

- Base URL: `https://brapi.dev`
- URL: `https://brapi.dev/api/v2/stocks/screener`
- Auth: HTTP bearer

Filtra 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.

Cada 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.

Exemplos:

- P/L entre 0 e 8 e dividend yield de pelo menos 6%: `?trailingPEMin=0&trailingPEMax=8&dividendYieldMin=0.06&sortBy=dividendYield`
- ROE de pelo menos 15%, do maior para o menor: `?returnOnEquityMin=0.15&sortBy=returnOnEquity`

Empresas com prejuízo têm P/L negativo. Para excluí-las, envie `trailingPEMin=0` junto com `trailingPEMax`.

`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.

Planos 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.

| Indicador | Chave | Unidade | Plano |
| --- | --- | --- | --- |
| Preço | `lastPrice` | reais | Startup e Pro |
| Variação no dia | `changePercent` | porcentagem (2.81 = 2,81%) | Startup e Pro |
| Volume | `volume` | ações | Startup e Pro |
| Valor de mercado | `marketCap` | reais | Startup e Pro |
| P/L | `trailingPE` | múltiplo | Startup e Pro |
| P/VP | `priceToBook` | múltiplo | Startup e Pro |
| EV/EBITDA | `enterpriseToEbitda` | múltiplo | Startup e Pro |
| EV/Receita | `enterpriseToRevenue` | múltiplo | Startup e Pro |
| PEG | `pegRatio` | múltiplo | Startup e Pro |
| LPA | `earningsPerShare` | reais | Startup e Pro |
| VPA | `bookValuePerShare` | reais | Startup e Pro |
| Margem líquida | `netMargin` | fração (0.06 = 6%) | Startup e Pro |
| Valor da firma | `enterpriseValue` | reais | Startup e Pro |
| Variação 52 semanas | `fiftyTwoWeekChange` | fração (0.06 = 6%) | Startup e Pro |
| Dividend yield | `dividendYield` | fração (0.06 = 6%) | Startup e Pro |
| ROE | `returnOnEquity` | fração (0.06 = 6%) | Pro |
| ROA | `returnOnAssets` | fração (0.06 = 6%) | Pro |
| Margem bruta | `grossMargin` | fração (0.06 = 6%) | Pro |
| Margem EBITDA | `ebitdaMargin` | fração (0.06 = 6%) | Pro |
| Margem operacional | `operatingMargin` | fração (0.06 = 6%) | Pro |
| Dívida/PL | `debtToEquity` | múltiplo | Pro |
| Dívida líquida/EBITDA | `netDebtToEbitda` | múltiplo | Pro |
| Liquidez corrente | `currentRatio` | múltiplo | Pro |
| Liquidez seca | `quickRatio` | múltiplo | Pro |
| Crescimento da receita | `revenueGrowth` | fração (0.06 = 6%) | Pro |
| Crescimento do lucro | `earningsGrowth` | fração (0.06 = 6%) | Pro |
| Crescimento anual da receita | `revenueGrowthAnnual` | fração (0.06 = 6%) | Pro |
| Crescimento anual do lucro | `earningsGrowthAnnual` | fração (0.06 = 6%) | Pro |
| Receita | `totalRevenue` | reais | Pro |
| EBITDA | `ebitda` | reais | Pro |
| Fluxo de caixa livre | `freeCashflow` | reais | Pro |
| Dívida bruta | `totalDebt` | reais | Pro |
| Caixa | `totalCash` | reais | Pro |

## Query parameters

- `search` string: Parte do ticker, do nome da empresa ou de um ticker antigo.
- `type` 'stock' | 'fund' | 'bdr': Tipo do ativo. Padrão: `stock`.
- `subType` 'stock' | 'unit' | 'fii' | 'etf' | 'fi-infra' | 'fi-agro' | 'fip' | 'fidc' | 'bdr': Subtipo do ativo: stock, unit, fii, etf, fi-infra, fi-agro, fip, fidc ou bdr.
- `sector` string: Setor. Aceita parte do nome.
- `subsector` string: Subsetor. Nome exato.
- `sortBy` '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': Campo de ordenação: uma chave de métrica, `symbol` ou `name`. Valores nulos ficam no fim.
- `sortOrder` 'asc' | 'desc': Ordem. Padrão: `desc`.
- `page` integer: Número da página. Começa em 1.
- `limit` integer: Itens por página. Máximo: 200.
- `lastPriceMin` number: Preço: valor mínimo, inclusive. Unidade: reais. Plano Startup e Pro.
- `lastPriceMax` number: Preço: valor máximo, inclusive. Unidade: reais. Plano Startup e Pro.
- `changePercentMin` number: Variação no dia: valor mínimo, inclusive. Unidade: porcentagem (2.81 = 2,81%). Plano Startup e Pro.
- `changePercentMax` number: Variação no dia: valor máximo, inclusive. Unidade: porcentagem (2.81 = 2,81%). Plano Startup e Pro.
- `volumeMin` number: Volume: valor mínimo, inclusive. Unidade: ações. Plano Startup e Pro.
- `volumeMax` number: Volume: valor máximo, inclusive. Unidade: ações. Plano Startup e Pro.
- `marketCapMin` number: Valor de mercado: valor mínimo, inclusive. Unidade: reais. Plano Startup e Pro.
- `marketCapMax` number: Valor de mercado: valor máximo, inclusive. Unidade: reais. Plano Startup e Pro.
- `trailingPEMin` number: P/L: valor mínimo, inclusive. Unidade: múltiplo. Plano Startup e Pro.
- `trailingPEMax` number: P/L: valor máximo, inclusive. Unidade: múltiplo. Plano Startup e Pro.
- `priceToBookMin` number: P/VP: valor mínimo, inclusive. Unidade: múltiplo. Plano Startup e Pro.
- `priceToBookMax` number: P/VP: valor máximo, inclusive. Unidade: múltiplo. Plano Startup e Pro.
- `enterpriseToEbitdaMin` number: EV/EBITDA: valor mínimo, inclusive. Unidade: múltiplo. Plano Startup e Pro.
- `enterpriseToEbitdaMax` number: EV/EBITDA: valor máximo, inclusive. Unidade: múltiplo. Plano Startup e Pro.
- `enterpriseToRevenueMin` number: EV/Receita: valor mínimo, inclusive. Unidade: múltiplo. Plano Startup e Pro.
- `enterpriseToRevenueMax` number: EV/Receita: valor máximo, inclusive. Unidade: múltiplo. Plano Startup e Pro.
- `pegRatioMin` number: PEG: valor mínimo, inclusive. Unidade: múltiplo. Plano Startup e Pro.
- `pegRatioMax` number: PEG: valor máximo, inclusive. Unidade: múltiplo. Plano Startup e Pro.
- `earningsPerShareMin` number: LPA: valor mínimo, inclusive. Unidade: reais. Plano Startup e Pro.
- `earningsPerShareMax` number: LPA: valor máximo, inclusive. Unidade: reais. Plano Startup e Pro.
- `bookValuePerShareMin` number: VPA: valor mínimo, inclusive. Unidade: reais. Plano Startup e Pro.
- `bookValuePerShareMax` number: VPA: valor máximo, inclusive. Unidade: reais. Plano Startup e Pro.
- `netMarginMin` number: Margem líquida: valor mínimo, inclusive. Unidade: fração (0.06 = 6%). Plano Startup e Pro.
- `netMarginMax` number: Margem líquida: valor máximo, inclusive. Unidade: fração (0.06 = 6%). Plano Startup e Pro.
- `enterpriseValueMin` number: Valor da firma: valor mínimo, inclusive. Unidade: reais. Plano Startup e Pro.
- `enterpriseValueMax` number: Valor da firma: valor máximo, inclusive. Unidade: reais. Plano Startup e Pro.
- `fiftyTwoWeekChangeMin` number: Variação 52 semanas: valor mínimo, inclusive. Unidade: fração (0.06 = 6%). Plano Startup e Pro.
- `fiftyTwoWeekChangeMax` number: Variação 52 semanas: valor máximo, inclusive. Unidade: fração (0.06 = 6%). Plano Startup e Pro.
- `dividendYieldMin` number: Dividend yield: valor mínimo, inclusive. Unidade: fração (0.06 = 6%). Plano Startup e Pro.
- `dividendYieldMax` number: Dividend yield: valor máximo, inclusive. Unidade: fração (0.06 = 6%). Plano Startup e Pro.
- `returnOnEquityMin` number: ROE: valor mínimo, inclusive. Unidade: fração (0.06 = 6%). Plano Pro.
- `returnOnEquityMax` number: ROE: valor máximo, inclusive. Unidade: fração (0.06 = 6%). Plano Pro.
- `returnOnAssetsMin` number: ROA: valor mínimo, inclusive. Unidade: fração (0.06 = 6%). Plano Pro.
- `returnOnAssetsMax` number: ROA: valor máximo, inclusive. Unidade: fração (0.06 = 6%). Plano Pro.
- `grossMarginMin` number: Margem bruta: valor mínimo, inclusive. Unidade: fração (0.06 = 6%). Plano Pro.
- `grossMarginMax` number: Margem bruta: valor máximo, inclusive. Unidade: fração (0.06 = 6%). Plano Pro.
- `ebitdaMarginMin` number: Margem EBITDA: valor mínimo, inclusive. Unidade: fração (0.06 = 6%). Plano Pro.
- `ebitdaMarginMax` number: Margem EBITDA: valor máximo, inclusive. Unidade: fração (0.06 = 6%). Plano Pro.
- `operatingMarginMin` number: Margem operacional: valor mínimo, inclusive. Unidade: fração (0.06 = 6%). Plano Pro.
- `operatingMarginMax` number: Margem operacional: valor máximo, inclusive. Unidade: fração (0.06 = 6%). Plano Pro.
- `debtToEquityMin` number: Dívida/PL: valor mínimo, inclusive. Unidade: múltiplo. Plano Pro.
- `debtToEquityMax` number: Dívida/PL: valor máximo, inclusive. Unidade: múltiplo. Plano Pro.
- `netDebtToEbitdaMin` number: Dívida líquida/EBITDA: valor mínimo, inclusive. Unidade: múltiplo. Plano Pro.
- `netDebtToEbitdaMax` number: Dívida líquida/EBITDA: valor máximo, inclusive. Unidade: múltiplo. Plano Pro.
- `currentRatioMin` number: Liquidez corrente: valor mínimo, inclusive. Unidade: múltiplo. Plano Pro.
- `currentRatioMax` number: Liquidez corrente: valor máximo, inclusive. Unidade: múltiplo. Plano Pro.
- `quickRatioMin` number: Liquidez seca: valor mínimo, inclusive. Unidade: múltiplo. Plano Pro.
- `quickRatioMax` number: Liquidez seca: valor máximo, inclusive. Unidade: múltiplo. Plano Pro.
- `revenueGrowthMin` number: Crescimento da receita: valor mínimo, inclusive. Unidade: fração (0.06 = 6%). Plano Pro.
- `revenueGrowthMax` number: Crescimento da receita: valor máximo, inclusive. Unidade: fração (0.06 = 6%). Plano Pro.
- `earningsGrowthMin` number: Crescimento do lucro: valor mínimo, inclusive. Unidade: fração (0.06 = 6%). Plano Pro.
- `earningsGrowthMax` number: Crescimento do lucro: valor máximo, inclusive. Unidade: fração (0.06 = 6%). Plano Pro.
- `revenueGrowthAnnualMin` number: Crescimento anual da receita: valor mínimo, inclusive. Unidade: fração (0.06 = 6%). Plano Pro.
- `revenueGrowthAnnualMax` number: Crescimento anual da receita: valor máximo, inclusive. Unidade: fração (0.06 = 6%). Plano Pro.
- `earningsGrowthAnnualMin` number: Crescimento anual do lucro: valor mínimo, inclusive. Unidade: fração (0.06 = 6%). Plano Pro.
- `earningsGrowthAnnualMax` number: Crescimento anual do lucro: valor máximo, inclusive. Unidade: fração (0.06 = 6%). Plano Pro.
- `totalRevenueMin` number: Receita: valor mínimo, inclusive. Unidade: reais. Plano Pro.
- `totalRevenueMax` number: Receita: valor máximo, inclusive. Unidade: reais. Plano Pro.
- `ebitdaMin` number: EBITDA: valor mínimo, inclusive. Unidade: reais. Plano Pro.
- `ebitdaMax` number: EBITDA: valor máximo, inclusive. Unidade: reais. Plano Pro.
- `freeCashflowMin` number: Fluxo de caixa livre: valor mínimo, inclusive. Unidade: reais. Plano Pro.
- `freeCashflowMax` number: Fluxo de caixa livre: valor máximo, inclusive. Unidade: reais. Plano Pro.
- `totalDebtMin` number: Dívida bruta: valor mínimo, inclusive. Unidade: reais. Plano Pro.
- `totalDebtMax` number: Dívida bruta: valor máximo, inclusive. Unidade: reais. Plano Pro.
- `totalCashMin` number: Caixa: valor mínimo, inclusive. Unidade: reais. Plano Pro.
- `totalCashMax` number: Caixa: valor máximo, inclusive. Unidade: reais. Plano Pro.

## Response `200`

Ativos que passam nos filtros, com paginação.

- StockScreenerResponse
  - `results` StockScreenerItem[], required
    - `symbol` string, required: Ticker do ativo.
    - `name` string, required: Nome da empresa ou do fundo.
    - `longName` string, nullable, required: Nome longo. Pode ser nulo.
    - `assetType` 'stock' | 'fund' | 'bdr', nullable, required: Tipo do ativo.
    - `subType` 'stock' | 'unit' | 'fii' | 'etf' | 'fi-infra' | 'fi-agro' | 'fip' | 'fidc' | 'bdr', nullable, required: Subtipo do ativo: stock, unit, fii, etf, fi-infra, fi-agro, fip, fidc ou bdr.
    - `exchange` 'B3', required: Bolsa.
    - `currency` 'BRL', required: Moeda.
    - `sector` string, nullable, required: Setor. Pode ser nulo.
    - `subsector` string, nullable, required: Subsetor. Pode ser nulo.
    - `isActive` boolean, required: `true` quando o ativo está em negociação.
    - `logoUrl` string, nullable, required: URL do logo.
    - `quote` TickerQuoteSummary, required
      - `lastPrice` number, nullable, required: Último preço.
      - `changePercent` number, nullable, required: Variação no dia, em porcentagem.
      - `volume` number, nullable, required: Volume negociado no dia.
      - `marketCap` number, nullable, required: Valor de mercado, em reais. Pode ser nulo.
    - `metrics` StockScreenerMetrics, required: Indicadores do ativo. As chaves do plano Pro não vêm no plano Startup.
      - `trailingPE` number, nullable, required: 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.
      - `priceToBook` number, nullable, required: P/VP. Preço sobre valor patrimonial. Unidade: múltiplo. Nulo quando não há dado.
      - `enterpriseToEbitda` number, nullable, required: EV/EBITDA. Valor da firma sobre EBITDA. Unidade: múltiplo. Nulo quando não há dado.
      - `enterpriseToRevenue` number, nullable, required: EV/Receita. Valor da firma sobre receita. Unidade: múltiplo. Nulo quando não há dado.
      - `pegRatio` number, nullable, required: PEG. P/L dividido pelo crescimento do lucro. Unidade: múltiplo. Nulo quando não há dado.
      - `earningsPerShare` number, nullable, required: LPA. Lucro por ação dos últimos 12 meses, em reais. Unidade: reais. Nulo quando não há dado.
      - `bookValuePerShare` number, nullable, required: VPA. Valor patrimonial por ação, em reais. Unidade: reais. Nulo quando não há dado.
      - `netMargin` number, nullable, required: 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.
      - `enterpriseValue` number, nullable, required: Valor da firma. Valor de mercado mais dívida líquida, em reais. Unidade: reais. Nulo quando não há dado.
      - `fiftyTwoWeekChange` number, nullable, required: 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.
      - `dividendYield` number, nullable, required: 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.
      - `returnOnEquity` number, nullable: 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.
      - `returnOnAssets` number, nullable: 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.
      - `grossMargin` number, nullable: 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.
      - `ebitdaMargin` number, nullable: 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.
      - `operatingMargin` number, nullable: 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.
      - `debtToEquity` number, nullable: 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.
      - `netDebtToEbitda` number, nullable: 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.
      - `currentRatio` number, nullable: Liquidez corrente. Ativo circulante sobre passivo circulante. Unidade: múltiplo. Nulo quando não há dado. Só vem no plano Pro.
      - `quickRatio` number, nullable: Liquidez seca. Ativo circulante sem estoques, sobre passivo circulante. Unidade: múltiplo. Nulo quando não há dado. Só vem no plano Pro.
      - `revenueGrowth` number, nullable: 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.
      - `earningsGrowth` number, nullable: 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.
      - `revenueGrowthAnnual` number, nullable: 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.
      - `earningsGrowthAnnual` number, nullable: 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.
      - `totalRevenue` number, nullable: Receita. Receita dos últimos 12 meses, em reais. Unidade: reais. Nulo quando não há dado. Só vem no plano Pro.
      - `ebitda` number, nullable: EBITDA. EBITDA dos últimos 12 meses, em reais. Unidade: reais. Nulo quando não há dado. Só vem no plano Pro.
      - `freeCashflow` number, nullable: Fluxo de caixa livre. Fluxo de caixa livre, em reais. Unidade: reais. Nulo quando não há dado. Só vem no plano Pro.
      - `totalDebt` number, nullable: Dívida bruta. Dívida bruta, em reais. Unidade: reais. Nulo quando não há dado. Só vem no plano Pro.
      - `totalCash` number, nullable: Caixa. Caixa e aplicações, em reais. Unidade: reais. Nulo quando não há dado. Só vem no plano Pro.
    - `fundamentalsUpdatedAt` string, date-time, nullable, required: Data e hora da última atualização dos fundamentos usados. Nulo quando o ativo não tem fundamentos.
  - `pagination` TickerPagination, required
    - `page` number, required
    - `limit` number, required
    - `totalItems` number, required
    - `totalPages` number, required
    - `hasNextPage` boolean, required
  - `requestedAt` string, date-time, required: Data e hora da requisição em ISO 8601.
  - `took` integer, required: Tempo de processamento, em milissegundos.

## Other responses

- `400`: Requisição inválida. Confira os parâmetros.
- `401`: Token ausente ou inválido.
- `403`: O plano não inclui este recurso ou parâmetro.
- `500`: Erro interno do servidor.

## Changes

- **2026-10-16** `62eafb05acb0`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/brapi-dev/apis/brapi-api-do-mercado-financeiro-brasileiro/changes/api/v2/stocks/screener/get.md)

---

[API](https://skmtc.dev/brapi-dev/apis/brapi-api-do-mercado-financeiro-brasileiro.md) - [All operations](https://skmtc.dev/brapi-dev/apis/brapi-api-do-mercado-financeiro-brasileiro/llms.txt) - [OpenAPI document](https://skmtc.dev/brapi-dev/apis/brapi-api-do-mercado-financeiro-brasileiro/revisions/7c732d79148a?raw)
