{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/equity-rank-com/json-schema/equity-rank-com-screener-export-request-schema.json",
  "title": "ScreenerExportRequest",
  "description": "The export request body mirrors /browse's filter params.\n\nExtends ScreenerFilters (imported, not redeclared) so every field it\nalready carries — sector, min_score, sort_by, min_piotroski_score,\ngraham_below_price, max_illiquidity_premium, and the six AWL-07\ngrowth/leverage/quality filters — reuses ScreenerFilters' own clamp\nvalidators verbatim. Only the handful of /browse params ScreenerFilters\ndoesn't carry are added here, with bounds mirroring the live /browse\nQuery(...) bounds in screener.py.",
  "x-generated": "2026-11-07",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/equity-rank-com-openapi.yml#/components/schemas/ScreenerExportRequest",
  "properties": {
    "sector": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Sector"
    },
    "min_score": {
      "type": "number",
      "title": "Min Score",
      "default": 0.0
    },
    "sort_by": {
      "type": "string",
      "title": "Sort By",
      "default": "equity_rank_score"
    },
    "min_piotroski_score": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "title": "Min Piotroski Score"
    },
    "graham_below_price": {
      "type": "boolean",
      "title": "Graham Below Price",
      "default": false
    },
    "max_illiquidity_premium": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "title": "Max Illiquidity Premium"
    },
    "min_roic": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "title": "Min Roic"
    },
    "min_gross_margin": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "title": "Min Gross Margin"
    },
    "min_net_margin": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "title": "Min Net Margin"
    },
    "min_revenue_growth": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "title": "Min Revenue Growth"
    },
    "min_eps_growth": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "title": "Min Eps Growth"
    },
    "min_fcf_yield": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "title": "Min Fcf Yield"
    },
    "max_net_debt_to_ebitda": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "title": "Max Net Debt To Ebitda"
    },
    "full_data_only": {
      "type": "boolean",
      "title": "Full Data Only",
      "default": true
    },
    "min_sue_score": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "title": "Min Sue Score"
    },
    "min_eps_revision_ratio": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "title": "Min Eps Revision Ratio"
    },
    "max_short_ratio": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "title": "Max Short Ratio"
    },
    "symbol": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Symbol"
    }
  },
  "type": "object"
}