{
  "openapi": "3.0.1",
  "info": {
    "title": "US Stock Screener — Finviz Alternative",
    "description": "Screen US stocks by sector, price, market cap, volume, P/E, RSI, and daily change. Export one record per equity with market metrics, source URLs, and retrieval times for research, spreadsheets, or dashboards.",
    "version": "0.1",
    "x-build-id": "Y2HzPHLrga3LWnWdE"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/khadinakbar~finviz-alternative-stock-screener/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-khadinakbar-finviz-alternative-stock-screener",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/acts/khadinakbar~finviz-alternative-stock-screener/runs": {
      "post": {
        "operationId": "runs-sync-khadinakbar-finviz-alternative-stock-screener",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor and returns information about the initiated run in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/runsResponseSchema"
                }
              }
            }
          }
        }
      }
    },
    "/acts/khadinakbar~finviz-alternative-stock-screener/run-sync": {
      "post": {
        "operationId": "run-sync-khadinakbar-finviz-alternative-stock-screener",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "inputSchema": {
        "type": "object",
        "properties": {
          "screenPreset": {
            "title": "Screen preset",
            "enum": [
              "all_us_stocks",
              "top_gainers",
              "top_losers",
              "most_active",
              "large_cap",
              "growth_technology",
              "value_stocks",
              "overbought",
              "oversold"
            ],
            "type": "string",
            "description": "Starting US-equity screen applied before your numeric filters. Choose large_cap for a stable broad screen, or a named momentum, value, activity, or RSI preset. Defaults to large_cap. This is not a saved Finviz URL or an investment recommendation.",
            "default": "large_cap"
          },
          "sectors": {
            "title": "Sectors",
            "uniqueItems": true,
            "type": "array",
            "description": "Optional scanner-sector names to include, such as Electronic Technology. The names must match the source scanner's displayed sector vocabulary. Leave empty to include every sector. This is not an exchange or a free-text company search.",
            "items": {
              "type": "string"
            }
          },
          "industries": {
            "title": "Industries",
            "uniqueItems": true,
            "type": "array",
            "description": "Optional scanner-industry names to include, such as Semiconductors. Use exact industry labels returned by a prior run for dependable matching. Leave empty to include every industry. This is not a ticker list.",
            "items": {
              "type": "string"
            }
          },
          "minMarketCapUsd": {
            "title": "Minimum market cap (USD)",
            "type": "number",
            "description": "Optional minimum market capitalization in US dollars, such as 10000000000 for ten billion. The bound is applied to the live scanner result before sorting. Leave empty for no lower bound. This is not a share price."
          },
          "maxMarketCapUsd": {
            "title": "Maximum market cap (USD)",
            "type": "number",
            "description": "Optional maximum market capitalization in US dollars, such as 50000000000 for fifty billion. It must be greater than or equal to the minimum market cap. Leave empty for no upper bound. This is not a result limit."
          },
          "minPriceUsd": {
            "title": "Minimum price (USD)",
            "type": "number",
            "description": "Optional minimum quoted price in US dollars, such as 20. The source may show delayed exchange data depending on the symbol and market session. Leave empty for no lower bound. This is not a market-cap filter."
          },
          "maxPriceUsd": {
            "title": "Maximum price (USD)",
            "type": "number",
            "description": "Optional maximum quoted price in US dollars, such as 500. It must be greater than or equal to the minimum price. Leave empty for no upper bound. This is not a target-price forecast."
          },
          "minChangePercent": {
            "title": "Minimum daily change (%)",
            "type": "number",
            "description": "Optional minimum percentage price change for the scanner snapshot, such as 2 for two percent. Negative values are allowed for screens that include declines. Leave empty for no lower bound. This is not historical performance."
          },
          "maxChangePercent": {
            "title": "Maximum daily change (%)",
            "type": "number",
            "description": "Optional maximum percentage price change for the scanner snapshot, such as 10. It must be greater than or equal to the minimum change. Leave empty for no upper bound. This is not a stop-loss setting."
          },
          "minVolume": {
            "title": "Minimum volume",
            "type": "number",
            "description": "Optional minimum trading volume from the scanner snapshot, such as 1000000. Use it to remove thinly traded symbols from a screen. Leave empty for no volume floor. This is not average daily volume."
          },
          "minRsi14": {
            "title": "Minimum RSI (14)",
            "type": "number",
            "description": "Optional minimum RSI value on the source's 14-period indicator, such as 50. Valid values are normally between zero and one hundred. Leave empty for no lower bound. This is not an investment signal."
          },
          "maxRsi14": {
            "title": "Maximum RSI (14)",
            "type": "number",
            "description": "Optional maximum RSI value on the source's 14-period indicator, such as 70. It must be greater than or equal to the minimum RSI. Leave empty for no upper bound. This is not a backtest parameter."
          },
          "minPeRatio": {
            "title": "Minimum P/E (TTM)",
            "type": "number",
            "description": "Optional minimum trailing price-to-earnings ratio, such as 1. The source provides this only when the metric is available for a symbol. Leave empty for no lower bound. This is not forward P/E."
          },
          "maxPeRatio": {
            "title": "Maximum P/E (TTM)",
            "type": "number",
            "description": "Optional maximum trailing price-to-earnings ratio, such as 25. It must be greater than or equal to the minimum P/E. Leave empty for no upper bound. This is not a valuation recommendation."
          },
          "sortBy": {
            "title": "Sort by",
            "enum": [
              "market_cap",
              "price",
              "change",
              "volume",
              "rsi",
              "recommendation"
            ],
            "type": "string",
            "description": "Metric used to order results before the result cap, such as market_cap or volume. Choose recommendation only when you want the source's aggregate technical score ordering. Defaults to market_cap. This is not a user-defined formula.",
            "default": "market_cap"
          },
          "sortOrder": {
            "title": "Sort order",
            "enum": [
              "asc",
              "desc"
            ],
            "type": "string",
            "description": "Direction used for the selected sort metric. Use desc for the largest values first or asc for the smallest values first. Defaults to desc. This is not a market-direction prediction.",
            "default": "desc"
          },
          "maxResults": {
            "title": "Maximum results",
            "minimum": 1,
            "maximum": 100,
            "type": "integer",
            "description": "Maximum validated stock rows to write, from 1 to 100. Each persisted row is one billable stock-screened event at $0.005, plus Apify platform usage. Defaults to 25 for a bounded first run. This is not the total number of matching stocks.",
            "default": 25
          }
        }
      },
      "runsResponseSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "actId": {
                "type": "string"
              },
              "userId": {
                "type": "string"
              },
              "startedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "finishedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "status": {
                "type": "string",
                "example": "READY"
              },
              "meta": {
                "type": "object",
                "properties": {
                  "origin": {
                    "type": "string",
                    "example": "API"
                  },
                  "userAgent": {
                    "type": "string"
                  }
                }
              },
              "stats": {
                "type": "object",
                "properties": {
                  "inputBodyLen": {
                    "type": "integer",
                    "example": 2000
                  },
                  "rebootCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "restartCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "resurrectCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "computeUnits": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "options": {
                "type": "object",
                "properties": {
                  "build": {
                    "type": "string",
                    "example": "latest"
                  },
                  "timeoutSecs": {
                    "type": "integer",
                    "example": 300
                  },
                  "memoryMbytes": {
                    "type": "integer",
                    "example": 1024
                  },
                  "diskMbytes": {
                    "type": "integer",
                    "example": 2048
                  }
                }
              },
              "buildId": {
                "type": "string"
              },
              "defaultKeyValueStoreId": {
                "type": "string"
              },
              "defaultDatasetId": {
                "type": "string"
              },
              "defaultRequestQueueId": {
                "type": "string"
              },
              "buildNumber": {
                "type": "string",
                "example": "1.0.0"
              },
              "containerUrl": {
                "type": "string"
              },
              "usage": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "integer",
                    "example": 1
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "usageTotalUsd": {
                "type": "number",
                "example": 0.00005
              },
              "usageUsd": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "number",
                    "example": 0.00005
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}