{
  "openapi": "3.0.1",
  "info": {
    "title": "UK Short Selling Positions",
    "description": "🏷️ From $0.60 / 1K | Every net short position the FCA publishes against a UK listed company: the percentage shorted, the ISIN, the position date and the reportable share class. Filter by company, ISIN, size and date. Includes the archive of named position holders to 9 July 2026.",
    "version": "0.1",
    "x-build-id": "tR0Ve2Mpg48DLjj3h"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/spookyweb~uk-short-selling-positions/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-spookyweb-uk-short-selling-positions",
        "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/spookyweb~uk-short-selling-positions/runs": {
      "post": {
        "operationId": "runs-sync-spookyweb-uk-short-selling-positions",
        "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/spookyweb~uk-short-selling-positions/run-sync": {
      "post": {
        "operationId": "run-sync-spookyweb-uk-short-selling-positions",
        "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": {
          "dataset": {
            "title": "Which FCA file to read",
            "enum": [
              "current",
              "historic",
              "disclosures"
            ],
            "type": "string",
            "description": "Current positions are the ones open now, republished by the FCA every working day from 12:00 London time. Historic positions are the ones that have already closed or stopped being reportable, back to 2022. Named holders is the archive of individual disclosures made before the Short Selling Regulations 2025, which ends on 9 July 2026 and never grows again.",
            "default": "current"
          },
          "company": {
            "title": "Company name contains",
            "type": "string",
            "description": "Keep only positions in companies whose name contains this text, matched case insensitively. Part of a name is enough, so \"ocado\" finds OCADO GROUP PLC. Leave it empty to get every company in the file, which is how a whole market scan is run."
          },
          "isin": {
            "title": "ISIN",
            "type": "string",
            "description": "Keep only positions in this exact security, given as its twelve character ISIN. Spacing and case are normalised for you, for example GB00B3MBS747 for Ocado Group. This is the field to use when joining FCA positions onto your own holdings file."
          },
          "positionHolder": {
            "title": "Position holder contains",
            "type": "string",
            "description": "Keep only disclosures whose named holder contains this text, matched case insensitively, for example \"marshall wace\". This only works with the named holders archive, because current positions are anonymous by law, and the run is stopped with an explanation if you set it against a current or historic search."
          },
          "minPositionPercent": {
            "title": "Minimum position, percent",
            "type": "string",
            "description": "Keep only positions at or above this percentage of the company's issued share capital, written as a plain number such as 0.5 or 5. The FCA reporting floor is 0.2, so leaving this empty returns everything on the file. Setting it to 5 isolates the very large bets against a company."
          },
          "maxPositionPercent": {
            "title": "Maximum position, percent",
            "type": "string",
            "description": "Keep only positions at or below this percentage of the company's issued share capital, written as a plain number such as 2. Pair it with the minimum to pull one band, for example everything between 1 and 2 percent, which is where a position that is building often sits."
          },
          "positionDateFrom": {
            "title": "Position date on or after",
            "type": "string",
            "description": "Earliest position date to include, written as YYYY-MM-DD. The bound is inclusive. A UK style date such as 10/08/2026 is rejected with an explanation rather than guessed at, because it reads as 10 August to the FCA and as 8 October to a date parser."
          },
          "positionDateTo": {
            "title": "Position date on or before",
            "type": "string",
            "description": "Latest position date to include, written as YYYY-MM-DD. The bound is inclusive. Use the two bounds together to pull one month of the register, or use this one alone to find the positions that have been left untouched the longest."
          },
          "includeClosedPositions": {
            "title": "Include closed positions",
            "type": "boolean",
            "description": "A holder closes a position by notifying the FCA that it has fallen to zero, and those zero rows exist in the named holders archive. Turn this off to keep only the disclosures where a real position was open. It has no effect on the aggregated files, which never publish a zero.",
            "default": true
          },
          "reportableSharesOnly": {
            "title": "Only shares still on the reportable list",
            "type": "boolean",
            "description": "Keep only securities that are on the FCA's current UK reportable shares list, which is the register of shares in scope of the short selling rules today. It cuts the delisted and out of scope companies out of the historic archive and leaves the ones still trading.",
            "default": false
          },
          "sortBy": {
            "title": "Sort order",
            "enum": [
              "percentDesc",
              "percentAsc",
              "dateDesc",
              "dateAsc",
              "company",
              "holder"
            ],
            "type": "string",
            "description": "How to order the positions before the maximum is applied. Largest position first puts the most shorted companies at the top, which is the order a short interest screen wants. Sorting by holder groups an archive search by fund.",
            "default": "percentDesc"
          },
          "maxResults": {
            "title": "Maximum positions to return",
            "minimum": 1,
            "maximum": 200000,
            "type": "integer",
            "description": "Hard cap on the rows saved, which is also the cap on what the run can cost. The current file holds about 420 positions and the historic file about 2,900, so the default returns both of them whole with room to spare.",
            "default": 1000
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}