{
  "openapi": "3.0.1",
  "info": {
    "title": "SEC 13F Scraper - Fund Holdings",
    "description": "Institutional holdings with the part nobody sells: what changed. Positions opened, exited, added to and trimmed between quarters, classified on share count so a market move is never mistaken for a trade. Handles the 2023 units change and the split-row trap.",
    "version": "0.1",
    "x-build-id": "cKt28YEqSKTcHSelQ"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/datalayer~institutional-holdings-13f/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-datalayer-institutional-holdings-13f",
        "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/datalayer~institutional-holdings-13f/runs": {
      "post": {
        "operationId": "runs-sync-datalayer-institutional-holdings-13f",
        "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/datalayer~institutional-holdings-13f/run-sync": {
      "post": {
        "operationId": "run-sync-datalayer-institutional-holdings-13f",
        "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",
        "required": [
          "ciks"
        ],
        "properties": {
          "ciks": {
            "title": "Manager CIKs",
            "type": "array",
            "description": "SEC CIK numbers of the investment managers. Note these are the MANAGER's CIK, not the companies they hold. Berkshire Hathaway is 1067983, Bridgewater is 1350694, Renaissance Technologies is 1037389.",
            "default": [
              "1067983"
            ],
            "items": {
              "type": "string"
            }
          },
          "quarters": {
            "title": "Quarters to read",
            "minimum": 1,
            "maximum": 40,
            "type": "integer",
            "description": "How many recent quarters to pull for each manager, newest first. One extra quarter is always read behind the scenes so the oldest requested quarter still has something to be compared against.",
            "default": 4
          },
          "startPeriod": {
            "title": "From period",
            "type": "string",
            "description": "Earliest report period to include, YYYY-MM-DD. 13F periods are quarter ends, for example 2025-12-31."
          },
          "endPeriod": {
            "title": "To period",
            "type": "string",
            "description": "Latest report period to include, YYYY-MM-DD."
          },
          "changesOnly": {
            "title": "Changes only",
            "type": "boolean",
            "description": "Skip the full holdings list and return only what moved between quarters. Much smaller output when you are watching for activity rather than building a position table.",
            "default": false
          },
          "minPositionValue": {
            "title": "Minimum position value (USD)",
            "minimum": 0,
            "type": "integer",
            "description": "Drop positions and changes worth less than this. Large managers carry long tails of tiny positions that add noise."
          },
          "trimThresholdPercent": {
            "title": "Add / trim threshold",
            "minimum": 1,
            "maximum": 100,
            "type": "integer",
            "description": "How much the share count must move before a position counts as increased or reduced rather than held. Keeps rounding and small rebalancing out of the signal.",
            "default": 5
          },
          "includeAmendments": {
            "title": "Use amended filings",
            "type": "boolean",
            "description": "When a manager amends a quarter (13F-HR/A), use the amendment instead of the original. Turn off to read only originals.",
            "default": true
          },
          "includeHoldings": {
            "title": "Include holdings rows",
            "type": "boolean",
            "description": "One row per position per quarter, with value, shares, portfolio weight and rank.",
            "default": true
          },
          "includeChanges": {
            "title": "Include change rows",
            "type": "boolean",
            "description": "One row per position that moved, labelled NEW, EXITED, ADDED or TRIMMED, plus a per-quarter summary row.",
            "default": true
          },
          "includePortfolioSummary": {
            "title": "Include portfolio summary",
            "type": "boolean",
            "description": "One row per quarter: total value, position count, concentration, largest holding, and whether the filing's own totals reconcile.",
            "default": true
          },
          "contactEmail": {
            "title": "Contact email",
            "type": "string",
            "description": "SEC asks automated callers to identify themselves. Your email goes in the User-Agent header and nowhere else."
          },
          "proxyConfiguration": {
            "title": "Proxy",
            "type": "object",
            "description": "Optional. SEC allows 10 requests per second per IP and this Actor stays under that.",
            "default": {
              "useApifyProxy": false
            }
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}