{
  "openapi": "3.0.1",
  "info": {
    "title": "SEC Form 4 Scraper: Insider Buys, Sells & Cluster Signals",
    "description": "Every insider transaction from SEC Form 4 filings, market-wide or for a ticker watchlist: insider name and role, buy or sell code, shares, price, value, holdings after, 10b5-1 flag, footnotes, links. Free per-company cluster signals: distinct buyers, sellers and net value over 7 and 30 days.",
    "version": "0.1",
    "x-build-id": "aCnpyJVg1BACh20EV"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/upward_enterprises~sec-form-4-insider-radar/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-upward_enterprises-sec-form-4-insider-radar",
        "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/upward_enterprises~sec-form-4-insider-radar/runs": {
      "post": {
        "operationId": "runs-sync-upward_enterprises-sec-form-4-insider-radar",
        "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/upward_enterprises~sec-form-4-insider-radar/run-sync": {
      "post": {
        "operationId": "run-sync-upward_enterprises-sec-form-4-insider-radar",
        "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": {
          "transactionCodes": {
            "title": "Transaction codes",
            "type": "array",
            "description": "Which Form 4 transaction codes count. P and S (the default) are the open-market or private purchases and sales that matter for signals. Empty means every code, including grants, tax withholding, option exercises and gifts.",
            "items": {
              "type": "string",
              "enum": [
                "P",
                "S",
                "A",
                "D",
                "F",
                "M",
                "C",
                "X",
                "G",
                "J",
                "K",
                "L",
                "W",
                "Z",
                "I",
                "U",
                "E",
                "H",
                "O",
                "V"
              ],
              "enumTitles": [
                "P: Open market or private purchase",
                "S: Open market or private sale",
                "A: Grant, award or other acquisition from the issuer",
                "D: Sale or disposition back to the issuer",
                "F: Shares withheld to pay tax or exercise price",
                "M: Exercise or conversion of a derivative",
                "C: Conversion of a derivative",
                "X: Exercise of in-the-money or at-the-money derivative",
                "G: Gift",
                "J: Other acquisition or disposition (see footnotes)",
                "K: Equity swap or similar",
                "L: Small acquisition under Rule 16a-6",
                "W: Acquisition or disposition by will or laws of descent",
                "Z: Deposit into or withdrawal from a voting trust",
                "I: Discretionary transaction under Rule 16b-3(f)",
                "U: Tender of shares in a change of control",
                "E: Expiration of a short derivative position",
                "H: Expiration or cancellation of a long derivative",
                "O: Exercise of out-of-the-money derivative",
                "V: Transaction voluntarily reported earlier than required"
              ]
            }
          },
          "filedWithinDays": {
            "title": "Filed within (days)",
            "minimum": 0,
            "maximum": 30,
            "type": "integer",
            "description": "How far back to look by filing date, in calendar days before today (US Eastern), plus today. Default 1: yesterday's filings from EDGAR's complete daily index plus today's from the live feed. Insiders have two business days to file, so a daily run on this setting sees every trade.",
            "default": 1
          },
          "tickers": {
            "title": "Watchlist: tickers",
            "type": "array",
            "description": "Only filings by insiders of these companies, by stock ticker (e.g. AAPL, NVDA). Resolved to SEC CIK numbers through the SEC's public ticker file. Leave empty for the whole market.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "ciks": {
            "title": "Watchlist: issuer CIK numbers",
            "type": "array",
            "description": "Only filings for these issuer CIK numbers. Combined with any tickers above. Leave empty for the whole market.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "roles": {
            "title": "Insider roles",
            "type": "array",
            "description": "Only transactions by insiders with at least one of these relationships to the issuer. Empty means any.",
            "items": {
              "type": "string",
              "enum": [
                "officer",
                "director",
                "tenPercentOwner",
                "other"
              ],
              "enumTitles": [
                "Officer",
                "Director",
                "10% owner",
                "Other (see otherText)"
              ]
            },
            "default": []
          },
          "minValue": {
            "title": "Minimum transaction value (USD)",
            "minimum": 0,
            "type": "integer",
            "description": "Only transactions worth at least this much (shares times price). Transactions with no price, such as grants, always pass when their code is selected. 0 keeps everything.",
            "default": 0
          },
          "includeDerivatives": {
            "title": "Include derivative transactions",
            "type": "boolean",
            "description": "Off (default): only the non-derivative table (common stock and similar). On: also options, RSUs, warrants and convertibles from the derivative table, with exercise price, dates and underlying shares.",
            "default": false
          },
          "excludePlanTrades": {
            "title": "Exclude Rule 10b5-1 plan trades",
            "type": "boolean",
            "description": "Off (default): pre-arranged plan trades are delivered and flagged plan10b5_1. On: they are skipped, leaving discretionary trades only.",
            "default": false
          },
          "includeAmendments": {
            "title": "Include amendments (4/A)",
            "type": "boolean",
            "description": "Off (default): original Form 4 filings only. On: also amended filings, marked isAmendment.",
            "default": false
          },
          "onlyNew": {
            "title": "Only new since last run",
            "type": "boolean",
            "description": "On (default): remember which transactions each snapshot name has delivered (90 days) and skip them next time, so a schedule never bills the same trade twice. Also keeps the 30-day trade history behind the cluster signals. Off: deliver everything in the window every run.",
            "default": true
          },
          "snapshotName": {
            "title": "Snapshot name",
            "type": "string",
            "description": "Which memory \"only new\" uses. Kept on your account as a key-value store named sec-form-4-insider-radar-<name>. Give each schedule its own name.",
            "default": "default"
          },
          "maxItems": {
            "title": "Max transactions per run",
            "minimum": 1,
            "maximum": 50000,
            "type": "integer",
            "description": "Upper limit on delivered transaction rows, newest filings first. The summary row says whether the limit cut the results.",
            "default": 2000
          },
          "proxyConfiguration": {
            "title": "Proxy (optional)",
            "type": "object",
            "description": "Normally not needed: EDGAR is a public API that asks only for a declared User-Agent and at most 10 requests a second. Turn a proxy on if the summary row reports SEC rate limiting from the platform's shared address.",
            "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
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "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
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}