{
  "openapi": "3.0.1",
  "info": {
    "title": "Short Selling Data Tracker (FINRA)",
    "description": "How much of a stock's daily volume was sold short, from FINRA's official consolidated short sale volume files. Track a watchlist over time or screen every US ticker for the highest short volume share on any trading day. No API key.",
    "version": "0.1",
    "x-build-id": "eUu50lMRJct9bgtPC"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/scrapemint~short-selling-data-tracker/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-scrapemint-short-selling-data-tracker",
        "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/scrapemint~short-selling-data-tracker/runs": {
      "post": {
        "operationId": "runs-sync-scrapemint-short-selling-data-tracker",
        "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/scrapemint~short-selling-data-tracker/run-sync": {
      "post": {
        "operationId": "run-sync-scrapemint-short-selling-data-tracker",
        "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": {
          "mode": {
            "title": "Mode",
            "enum": [
              "symbols",
              "screen",
              "interest",
              "interest_screen"
            ],
            "type": "string",
            "description": "Short volume is how much of a day's trading was sold short, published every session. Short interest is the settled open short position, published twice a month. Watchlist and Market screen cover short volume. Short interest watchlist and Short interest screen cover settled short interest, including the build or cover against the previous settlement and days to cover.",
            "default": "symbols"
          },
          "settlements": {
            "title": "Settlement dates back",
            "minimum": 1,
            "maximum": 12,
            "type": "integer",
            "description": "Short interest watchlist only. How many settlement dates of history to return per symbol. Short interest settles twice a month, so 1 is the latest reading and 6 is roughly a quarter.",
            "default": 1
          },
          "minAvgDailyVolume": {
            "title": "Minimum average daily volume",
            "minimum": 0,
            "maximum": 1000000000,
            "type": "integer",
            "description": "Short interest screen only. Ignore symbols trading below this many shares a day. The floor matters because FINRA publishes days to cover as 999.99 when a name has no volume to cover into, and without a floor the ranking fills with untradeable shells.",
            "default": 500000
          },
          "minShortInterest": {
            "title": "Minimum short interest",
            "minimum": 0,
            "maximum": 1000000000,
            "type": "integer",
            "description": "Short interest screen only. Ignore symbols with an open short position below this many shares. When ranking by change percent this floor also applies to the previous settlement, because a percent change measured against a few hundred shares is arithmetic rather than a signal: a warrant going from 239 to 232,477 shares scores +97,170 per cent.",
            "default": 100000
          },
          "sortBy": {
            "title": "Rank by",
            "enum": [
              "short_interest",
              "change_percent",
              "days_to_cover"
            ],
            "type": "string",
            "description": "Short interest screen only. Short interest is the raw open position, change percent finds the biggest builds and covers, days to cover finds crowded shorts relative to liquidity.",
            "default": "short_interest"
          },
          "includeOtc": {
            "title": "Include OTC names",
            "type": "boolean",
            "description": "Short interest screen only. FINRA's file covers OTC as well as exchange listed securities. OTC names dominate the extremes and are mostly untradeable, so they are excluded by default.",
            "default": false
          },
          "symbols": {
            "title": "Ticker symbols",
            "type": "array",
            "description": "US equity tickers to track, for example TSLA, NVDA, GME. Used by both watchlist modes. Short interest also covers NYSE and OTC symbols.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "days": {
            "title": "Trading days back",
            "minimum": 1,
            "maximum": 30,
            "type": "integer",
            "description": "How many trading days of history to return per symbol. Weekends and holidays are skipped automatically.",
            "default": 5
          },
          "date": {
            "title": "Date",
            "type": "string",
            "description": "Start date as 2026-07-20. Leave empty for the most recent published day. In short volume modes FINRA publishes after the close, so today's file appears in the evening. In short interest modes the actor walks back from this date to the most recent settlement, which is published about eight business days after it settles."
          },
          "minTotalVolume": {
            "title": "Minimum total volume",
            "minimum": 0,
            "maximum": 1000000000,
            "type": "integer",
            "description": "Market screen only. Ignore symbols trading below this many shares. The default keeps roughly 500 liquid names. Drop it toward 100000 to widen the universe, but the ranking then fills with thinly traded warrants showing 100% short volume, which is a reporting artifact rather than a signal.",
            "default": 2000000
          },
          "minShortPercent": {
            "title": "Minimum short percent",
            "minimum": 0,
            "maximum": 100,
            "type": "integer",
            "description": "Market screen only. Only return symbols where at least this share of reported volume was sold short.",
            "default": 0
          },
          "maxRows": {
            "title": "Max rows",
            "minimum": 1,
            "maximum": 50000,
            "type": "integer",
            "description": "Maximum rows to return. In market screen mode the highest short percent comes first.",
            "default": 200
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}