{
  "openapi": "3.0.1",
  "info": {
    "title": "OpenInsider Trades Scraper",
    "description": "Scrape OpenInsider trade tables and return one item per transaction, with filing and trade dates, ticker, company, insider, transaction type, price, shares, and value. Scrape ticker, insider, screener, and preset pages; cluster pages can return grouped company trades.",
    "version": "0.1",
    "x-build-id": "Kc0ITHZ7n6fhnVi1n"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/axiomworks~openinsider-insider-trading-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-axiomworks-openinsider-insider-trading-scraper",
        "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/axiomworks~openinsider-insider-trading-scraper/runs": {
      "post": {
        "operationId": "runs-sync-axiomworks-openinsider-insider-trading-scraper",
        "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/axiomworks~openinsider-insider-trading-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-axiomworks-openinsider-insider-trading-scraper",
        "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": {
          "tickers": {
            "title": "Stock symbols or issuer CIKs",
            "type": "array",
            "description": "Stock symbols or issuer CIKs, e.g. [\"AAPL\"] or [\"320193\"]. Also accepts comma/space-separated strings and aliases ticker, symbols, searchTerms, query. Combined with insiders and startUrls; leave all targets empty for an all-market screener.",
            "items": {
              "type": "string"
            }
          },
          "ticker": {
            "title": "Ticker string",
            "type": "string",
            "description": "One stock symbol or comma/space-separated symbols, e.g. \"AAPL,MSFT\". Adds to tickers; default empty. Generated screener filters apply.",
            "default": ""
          },
          "insiders": {
            "title": "Insider names or CIKs",
            "type": "array",
            "description": "Insider names or CIKs, e.g. [\"Huang Jen Hsun\"] or [\"1197647\"]. Each creates a screener search with the selected filters. Default empty; shares maxItems with other targets.",
            "items": {
              "type": "string"
            },
            "default": []
          },
          "startUrls": {
            "title": "OpenInsider page URL list",
            "type": "array",
            "description": "OpenInsider URLs, e.g. [{\"url\":\"http://openinsider.com/latest-cluster-buys\"}]. Also accepts URL strings. Screener, preset, ticker, insider and homepage tables supported. HTTPS, www and missing schemes normalize to HTTP. URL filters are preserved; separate filter inputs do not apply. Other hosts are skipped.",
            "default": [],
            "items": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string",
                  "title": "URL of a web page",
                  "format": "uri"
                }
              }
            }
          },
          "startUrl": {
            "title": "Single OpenInsider page URL",
            "type": "string",
            "description": "One OpenInsider page URL, e.g. \"https://www.openinsider.com/AAPL\". Adds to startUrls; default empty. URL filters are preserved; separate filter inputs do not apply. Missing schemes accepted; other hosts skipped.",
            "default": ""
          },
          "transactionTypes": {
            "title": "Transaction names or codes",
            "type": "array",
            "description": "Transaction names or codes for generated screeners, e.g. [\"purchase\",\"sale\"] or [\"P\",\"S\"]. Default purchase and sale. Accepts purchase, sale, grant, saleToIssuer, gift, tax, optionExercise, optionExerciseOther, convertedDerivative, inherited, or P/S/A/D/G/F/M/X/C/W.",
            "items": {
              "type": "string"
            },
            "default": [
              "purchase",
              "sale"
            ]
          },
          "filingPeriod": {
            "title": "Filing lookback days",
            "enum": [
              "0",
              "1",
              "3",
              "7",
              "14",
              "30",
              "60",
              "90",
              "180",
              "365",
              "730",
              "1461"
            ],
            "type": "string",
            "description": "Filing lookback in days for generated screeners, e.g. \"730\"; \"0\" means all dates. When omitted: 730 for tickers/insiders, 30 for all-market searches. The form default is 730. filingDateFrom overrides it.",
            "default": "730"
          },
          "filingDateFrom": {
            "title": "Earliest filing date YYYY-MM-DD",
            "type": "string",
            "description": "Earliest filing date, e.g. \"2026-01-01\". Default empty. Overrides filingPeriod for generated screeners; filingDateTo defaults to today.",
            "default": ""
          },
          "filingDateTo": {
            "title": "Latest filing date YYYY-MM-DD",
            "type": "string",
            "description": "Latest filing date, e.g. \"2026-10-01\". Used with filingDateFrom; omitted or empty means today when From is set. Without From it does not filter.",
            "default": ""
          },
          "tradePeriod": {
            "title": "Trade lookback days",
            "enum": [
              "0",
              "1",
              "3",
              "7",
              "14",
              "30",
              "60",
              "90",
              "180",
              "365",
              "730",
              "1461"
            ],
            "type": "string",
            "description": "Trade-date lookback in days for generated screeners, e.g. \"30\". Default \"0\" means no trade-date filter. tradeDateFrom overrides it.",
            "default": "0"
          },
          "tradeDateFrom": {
            "title": "Earliest trade date YYYY-MM-DD",
            "type": "string",
            "description": "Earliest trade date, e.g. \"2026-01-01\". Default empty. Overrides tradePeriod for generated screeners; tradeDateTo defaults to today.",
            "default": ""
          },
          "tradeDateTo": {
            "title": "Latest trade date YYYY-MM-DD",
            "type": "string",
            "description": "Latest trade date, e.g. \"2026-10-01\". Requires tradeDateFrom; omitted or empty means today when From is set.",
            "default": ""
          },
          "minTradeValueK": {
            "title": "Minimum trade value thousands USD",
            "type": "number",
            "description": "Minimum absolute trade value in thousands of USD, e.g. 25 means 25000 USD. Omit for no minimum."
          },
          "maxTradeValueK": {
            "title": "Maximum trade value thousands USD",
            "type": "number",
            "description": "Maximum absolute trade value in thousands of USD, e.g. 100 means 100000 USD. Omit for no maximum."
          },
          "minPrice": {
            "title": "Minimum share price USD",
            "type": "number",
            "description": "Minimum share price in USD, e.g. 5. Omit for no minimum."
          },
          "maxPrice": {
            "title": "Maximum share price USD",
            "type": "number",
            "description": "Maximum share price in USD, e.g. 100. Omit for no maximum."
          },
          "insiderRoles": {
            "title": "Insider role names",
            "type": "array",
            "description": "Role names for generated screeners, e.g. [\"ceo\",\"cfo\"]. Default [] means no role filter. Accepts officer, ceo, cfo, coo, president, chairman, generalCounsel, vp, director, tenPercentOwner, other.",
            "items": {
              "type": "string"
            },
            "default": []
          },
          "sortBy": {
            "title": "Screener sort field",
            "enum": [
              "filingDate",
              "tradeDate",
              "ticker",
              "tradeValue"
            ],
            "type": "string",
            "description": "Sort field for generated screeners: filingDate, tradeDate, ticker or tradeValue; e.g. \"tradeValue\". Default filingDate.",
            "default": "filingDate"
          },
          "maxItems": {
            "title": "Maximum total trade rows",
            "minimum": 1,
            "maximum": 10000,
            "type": "integer",
            "description": "Maximum unique trade rows across all tickers, insiders and URLs combined, e.g. 20. Integer 1-10000, default 50. Stops at this shared cap; fewer rows may match. Duplicate ids count once. Valid empty or blocked targets return no error rows; broaden filters or retry with proxy.",
            "default": 50
          },
          "proxyConfiguration": {
            "title": "Apify Proxy settings",
            "type": "object",
            "description": "Proxy settings for OpenInsider requests, e.g. {\"useApifyProxy\":false} for direct access (default), or {\"useApifyProxy\":true}. Blocked requests retry with backoff and fresh configured proxy sessions; if still blocked, return zero rows for that target and guidance to retry.",
            "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}