Unpublished — this page is visible on staging only and is not on the public site.
View .mdENIT

List screener filters

POST/api/v1/research/list_screen_filters

Searches the screener's filter catalogue — the engine's own, read live — by words in a filter's name or description, by investing concept (value, momentum, quality and more), by level (asset, sector, market), by category or by asset type, and returns each match with the inputs it takes and the kinds of comparison it supports.

Authentication
REST: an API key or an OAuth access token. MCP: an OAuth access token.
MCP tool
list_screen_filters
Cost
one research call

Parameters

What parameters does List screener filters take?

  • querystringOptional

    1–80 characters

    Words to look for, ignoring case, in each filter's name and description.

  • conceptstringOptional

    one of value, momentum, quality, dividends, volatility, size, liquidity, solvency, risk_reward

    An investing concept, mapped to catalogue subcategories: value (valuation ratios), momentum, quality (profitability and operating margin), dividends, volatility, size (company profile), liquidity, solvency and risk_reward.

  • levelstringOptional

    one of asset, sector, market

    asset for filters on the instrument itself, sector for its sector's aggregate, market for the whole market's.

  • categorystringOptional

    one of fundamental, technical, options, short_selling, ownership, market_and_sector

    fundamental, technical, options, short_selling, ownership or market_and_sector.

  • assetTypestringOptional

    one of stocks, etps, crypto

    Only filters that apply to this asset type: stocks, etps or crypto.

  • limitintegerOptionalDefault 25

    from 1 to 200 · unit: a count

    How many filters to return in this page.

  • offsetintegerOptionalDefault 0

    at least 0 · unit: a count

    How many matching filters to skip, to read the next page.

Response

What does List screener filters return?

  • filterslist

    The matching filters, in catalogue order.

    Show the 10 fields
    • idstring

      The filter's stable public id — pass it to describe_screen_filter and to screener rows.

    • namestring

      at least 1 characters

      The filter's name as the screener shows it.

    • levelstring

      one of asset, sector, market

      asset, sector or market.

    • categorystring

      one of fundamental, technical, options, short_selling, ownership, market_and_sector

      fundamental, technical, options, short_selling, ownership or market_and_sector.

    • subcategorystring

      at least 1 characters · may be null

      The catalogue's subcategory, such as Valuation Ratios; null when the catalogue gives the filter none.

    • descriptionstring

      at least 1 characters · may be null

      The catalogue's description of what the filter measures; null when the catalogue gives none.

    • appliesTolist

      The asset types the filter applies to.

    • inputslist

      The inputs the filter takes, by input id — how many months or reports ago its value is read, or the window it is measured over.

    • relationslist

      The kinds of comparison the filter supports: compare_to_value, between, highest_lowest, compare_to_aggregate, compare_to_own_past, special.

    • defaultRelationstring

      one of greater_than, less_than, greater_or_equal, less_or_equal, between, highest, lowest, equal, price_above, price_below, crossing_above_within_days, crossing_below_within_days, strongly_overvalued, overvalued, in_range, undervalued, strongly_undervalued, fast_bull_crossover_within_days, fast_bear_crossover_within_days, slow_bull_crossover_within_days, slow_bear_crossover_within_days, fast_over_slow_bull_crossover_within_days, fast_over_slow_bear_crossover_within_days · may be null

      The relation the screener proposes first for this filter; null when the catalogue proposes none.

  • totalinteger

    at least 0 · unit: a count

    How many filters matched in all.

  • offsetinteger

    at least 0 · unit: a count

    How many matching filters were skipped.

  • limitinteger

    at least 1 · unit: a count

    The most filters this page could hold.

Every response arrives inside the result envelope every operation shares.

Errors

Which error codes can List screener filters return?

  • engine_failed HTTP 502

    Fincanva could not read the screener's filter catalogue from its engine, and had none from before. Try again in a minute.

Common to every operation

  • unauthorized HTTP 401
  • plan_limit HTTP 403
  • invalid_input HTTP 422
  • quota_exhausted HTTP 429
  • rate_limited HTTP 429

Every error code

When should you use List screener filters?

  • The user wants filters for an idea — cheap stocks, momentum, dividends — or asks what the screener can filter on.
  • Before building a screener, to find the ids of the filters to use.
  • You already know the filter and need its inputs, relations and allowed values — Use instead describe_screen_filter
  • You have chosen the filters and want the screener built — Use instead create_screener

What does a call to List screener filters look like?

The first two value filters

What filters can I use to find cheap stocks?

9 filters match the concept value; showing the first 2: P/E (Positive) and P/E.
Full response · 200
{
  "status": true,
  "data": {
    "result": {
      "filters": [
        {
          "id": "p_e_positive",
          "name": "P/E (Positive)",
          "level": "asset",
          "category": "fundamental",
          "subcategory": "Valuation Ratios",
          "description": "The Price to Earnings ratio indicates the dollar amount an investor can expect to invest in a company in order to receive $1 of that company’s earnings. Low P/E indicate that the current stock price is low relative to earnings. Negative P/E values are discarded to avoid problems when screening for low P/E values.",
          "appliesTo": [
            "stocks"
          ],
          "inputs": [
            "months_ago"
          ],
          "relations": [
            "compare_to_value",
            "between",
            "highest_lowest",
            "compare_to_aggregate"
          ],
          "defaultRelation": "less_than"
        },
        {
          "id": "p_e",
          "name": "P/E",
          "level": "asset",
          "category": "fundamental",
          "subcategory": "Valuation Ratios",
          "description": "The Price to Earnings ratio indicates the dollar amount an investor can expect to invest in a company in order to receive $1 of that company’s earnings.",
          "appliesTo": [
            "stocks"
          ],
          "inputs": [
            "months_ago"
          ],
          "relations": [
            "compare_to_value",
            "between",
            "highest_lowest",
            "compare_to_aggregate",
            "compare_to_own_past"
          ],
          "defaultRelation": "between"
        }
      ],
      "total": 9,
      "offset": 0,
      "limit": 2
    },
    "summary": "9 filters match the concept value; showing the first 2: P/E (Positive) and P/E.",
    "assumed": [
      {
        "field": "/offset",
        "value": 0,
        "reason": "no offset was given, so the list starts at the first match"
      }
    ],
    "dataVersion": null
  }
}

What goes wrong most often with List screener filters?

  • The rows of a screener apply in order, so a highest or lowest N row ranks only what the rows before it kept.
  • A filter that applies only to stocks — most fundamental filters do — selects nothing in an ETP or crypto universe.
  • total counts every match; page through them with offset rather than raising limit past what you need.

Which plans include List screener filters?

Family: Screening · Quota cost: one research call — Availability

Fincanva is for education and illustration only. It is not personalised financial advice, and past or simulated results do not predict future ones. Read the Terms Addendum

DOCS · EN — IT