{
  "openapi": "3.0.1",
  "info": {
    "title": "SEC 13F Holdings Diff — Quarterly Fund Position Changes Monitor",
    "description": "Quarter-over-quarter position changes for any institutional fund, straight from SEC 13F-HR information tables: new positions, exits, buys and sells with share counts and USD values before and after.",
    "version": "0.1",
    "x-build-id": "qmwhHlSmhbeFJih7S"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/datadeltas~sec-13f-diff/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-datadeltas-sec-13f-diff",
        "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/datadeltas~sec-13f-diff/runs": {
      "post": {
        "operationId": "runs-sync-datadeltas-sec-13f-diff",
        "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/datadeltas~sec-13f-diff/run-sync": {
      "post": {
        "operationId": "run-sync-datadeltas-sec-13f-diff",
        "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": {
          "ciks": {
            "title": "Fund CIKs to watch",
            "type": "array",
            "description": "SEC CIK numbers of the managers you want, any zero-padding (e.g. 0001067983 for Berkshire Hathaway, 1350694 for Bridgewater). This is the exact, unambiguous way to name a fund. Combine with fundNames if you like.",
            "items": {
              "type": "string"
            }
          },
          "fundNames": {
            "title": "Fund names to watch",
            "type": "array",
            "description": "Manager names, resolved against EDGAR's company search (e.g. 'Bridgewater Associates'). A name that matches several 13F filers is ambiguous — every match is logged with its CIK and real name, and ALL of them are processed, because fund families genuinely file under more than one CIK. Prefer ciks when you know them.",
            "items": {
              "type": "string"
            }
          },
          "changeTypes": {
            "title": "Change types to emit",
            "type": "array",
            "description": "Which portfolio actions count. Default: all four. A position whose value moved but whose share count did not is a price move, not a portfolio action, and is never emitted.",
            "items": {
              "type": "string",
              "enum": [
                "new-position",
                "exited",
                "increased",
                "decreased"
              ],
              "enumTitles": [
                "new-position — the fund did not hold it last quarter",
                "exited — the fund held it last quarter and no longer does",
                "increased — share count went up",
                "decreased — share count went down"
              ]
            },
            "default": [
              "new-position",
              "exited",
              "increased",
              "decreased"
            ]
          },
          "minPositionValue": {
            "title": "Minimum position value (USD)",
            "minimum": 0,
            "type": "integer",
            "description": "Optional floor applied to the larger of the position's before/after USD value — use it to cut a fund's long tail and keep only meaningful moves. 0 = no floor.",
            "default": 0
          },
          "maxItems": {
            "title": "Max position changes per run",
            "minimum": 1,
            "type": "integer",
            "description": "Cap on changes emitted in a single run (cost control). Biggest positions come first; anything over the cap carries over to the next run.",
            "default": 1000
          },
          "resolveTickers": {
            "title": "Resolve CUSIP to ticker",
            "type": "boolean",
            "description": "Adds a ticker to each row using SEC's own public fails-to-deliver data (~98% coverage on listed US equities, no API key). Costs one small download per run. Turn off for the fastest possible run; unresolved CUSIPs are always null, never guessed.",
            "default": true
          },
          "emitInitialSnapshot": {
            "title": "Emit an opening snapshot for a fund's first-ever 13F",
            "type": "boolean",
            "description": "Only applies when a fund has exactly ONE 13F-HR on file and there is nothing to diff against. Off (default): the filing is recorded and nothing is emitted. On: every holding is emitted as new-position with null before-values. Funds with two or more filings always produce a real quarter-over-quarter diff on the first run.",
            "default": false
          },
          "userAgent": {
            "title": "SEC User-Agent (identify yourself)",
            "type": "string",
            "description": "SEC's fair-access policy requires a User-Agent identifying who you are, e.g. 'my-company research you@example.com'. Please set your own contact here.",
            "default": "apify-actor-sec-13f-diff daniel@apexwebstudio.co.nz"
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}