{
  "openapi": "3.0.1",
  "info": {
    "title": "SEC EDGAR Scraper — Filings, Financials, Insider & Form D",
    "description": "SEC EDGAR via the official free SEC APIs (no login/key): company filings, full-text search, XBRL financials & raw XBRL facts, insider Form 4, 13F institutional holdings, 13D/13G activist stakes, Form D funding leads, and 8-K material events.",
    "version": "0.0",
    "x-build-id": "L6pLbWQlFQOojT8SH"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/brilliant_gum~sec-edgar-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-brilliant_gum-sec-edgar-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/brilliant_gum~sec-edgar-scraper/runs": {
      "post": {
        "operationId": "runs-sync-brilliant_gum-sec-edgar-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/brilliant_gum~sec-edgar-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-brilliant_gum-sec-edgar-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",
        "required": [
          "mode"
        ],
        "properties": {
          "mode": {
            "title": "Mode",
            "enum": [
              "company-filings",
              "search",
              "financials",
              "xbrl-facts",
              "form-4-insider",
              "form-13f",
              "activist",
              "form-d-funding-leads",
              "eight-k-events",
              "latest-filings-feed"
            ],
            "type": "string",
            "description": "What to scrape. company-filings = a company's filing history by ticker/CIK/name. search = EDGAR full-text search across all filers. financials = normalized XBRL financial statements by period. xbrl-facts = raw XBRL facts (one record per reported datapoint) from companyfacts. form-4-insider = insider (director/officer/10%) transactions. form-13f = institutional-manager 13F-HR holdings (one record per position). activist = Schedule 13D/13G beneficial-ownership stakes. form-d-funding-leads = private-placement Form D offerings (funding leads). eight-k-events = 8-K material events with parsed item codes/labels, body text, exhibits and event flags. latest-filings-feed = newest filings across EDGAR by form type.",
            "default": "company-filings"
          },
          "companies": {
            "title": "Companies (ticker / CIK / name)",
            "type": "array",
            "description": "Companies to pull. Accepts stock tickers (AAPL), CIK numbers (320193 or CIK0000320193), or company names (Apple). Used by company-filings, financials, xbrl-facts, form-4-insider, form-13f (the institutional manager, e.g. 0001067983 for Berkshire Hathaway), and activist (the subject issuer). In form-d-funding-leads, eight-k-events and activist you can scan every filer instead — switch on \"Scan all of EDGAR\" below and this list is ignored.",
            "default": [
              "AAPL"
            ],
            "items": {
              "type": "string"
            }
          },
          "marketWide": {
            "title": "Scan all of EDGAR (ignore the companies list)",
            "type": "boolean",
            "description": "Turn this on in form-d-funding-leads, eight-k-events or activist to sweep every filer in the date range instead of the companies listed above. The companies list is then ignored, so you do not have to empty it. Other modes are unaffected.",
            "default": false
          },
          "formTypes": {
            "title": "Form types",
            "type": "array",
            "description": "Filter to these EDGAR form types, e.g. 10-K, 10-Q, 8-K, 4, D, S-1, 13F-HR. Empty = all forms. Matching is prefix-based, so 10-K also matches 10-K/A when Include amendments is on. In latest-filings-feed mode each form type is fetched as its own feed. Leave empty to use each mode's natural forms (3/4/5 for insider, D for funding leads, 8-K for events, 13F-HR for holdings) — setting it overrides that for every mode.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "query": {
            "title": "Full-text search query",
            "type": "string",
            "description": "Search phrase for mode=search (EDGAR full-text search, covers filings from 2001 onward). Wrap in double quotes for an exact phrase, e.g. \"artificial intelligence\".",
            "default": ""
          },
          "entityFilter": {
            "title": "Entity filter (search mode)",
            "type": "string",
            "description": "Optional. Restrict full-text search to a single entity by company name, ticker, or CIK. To scope to several companies use the Companies field instead.",
            "default": ""
          },
          "queryMode": {
            "title": "Query mode (search)",
            "enum": [
              "asTyped",
              "exactPhrase",
              "allTerms"
            ],
            "type": "string",
            "description": "How to interpret the full-text query. asTyped = pass through as-is; exactPhrase = wrap in quotes for an exact phrase; allTerms = require every word.",
            "default": "asTyped"
          },
          "datePreset": {
            "title": "Date preset",
            "enum": [
              "",
              "last7Days",
              "last30Days",
              "last90Days",
              "lastQuarter",
              "lastYear",
              "yearToDate"
            ],
            "type": "string",
            "description": "Convenience date range that overrides Start/End date when set. Relative to today.",
            "default": ""
          },
          "transactionCodes": {
            "title": "Insider transaction codes (form-4)",
            "type": "array",
            "description": "Filter insider transactions to these SEC codes, e.g. P (purchase), S (sale), A (award), M (option exercise), F (tax), G (gift), D (disposition). Empty = all.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "minTransactionValue": {
            "title": "Min transaction value (form-4)",
            "minimum": 0,
            "type": "integer",
            "description": "Drop insider transactions whose shares x price is below this USD value. 0 = keep all (including $0 awards).",
            "default": 0
          },
          "formDIndustry": {
            "title": "Industry group (Form D)",
            "type": "string",
            "description": "Form D funding-leads: filter to one SEC industry group (e.g. Technology, Biotechnology, Commercial Real Estate). Empty = all industries.",
            "default": ""
          },
          "formDKeyword": {
            "title": "Issuer keyword (Form D)",
            "type": "string",
            "description": "Form D funding-leads: only keep issuers whose legal name contains this keyword (case-insensitive).",
            "default": ""
          },
          "eightKItemCodes": {
            "title": "8-K item codes",
            "type": "array",
            "description": "8-K events mode: keep only 8-K filings that report at least one of these item codes, e.g. 2.02, 5.02, 1.01. Empty = all items.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "eventCategories": {
            "title": "8-K event categories",
            "type": "array",
            "description": "8-K events mode: keep only these material-event categories (mapped to item codes).",
            "items": {
              "type": "string",
              "enum": [
                "earnings",
                "exec_change",
                "m_and_a",
                "bankruptcy",
                "delisting",
                "auditor_change",
                "material_agreement",
                "impairment",
                "cyber_incident",
                "restatement",
                "debt",
                "other"
              ],
              "enumTitles": [
                "Earnings (2.02)",
                "Exec change (5.02)",
                "M&A (2.01/5.01)",
                "Bankruptcy (1.03)",
                "Delisting (3.01)",
                "Auditor change (4.01)",
                "Material agreement (1.01/1.02)",
                "Impairment (2.06)",
                "Cyber incident (1.05)",
                "Restatement (4.02)",
                "Debt (2.03/2.04)",
                "Other"
              ]
            },
            "default": []
          },
          "eightKDeepParse": {
            "title": "Deep-parse 8-K documents",
            "type": "boolean",
            "description": "8-K events mode: fetch each filing's primary document and exhibits to populate per-item body text (itemBodies), the exhibit list, and the press-release text. On by default. Turn off for a faster, headline-only run (item codes/labels and event flags still populate).",
            "default": true
          },
          "statementTypes": {
            "title": "Statement types (financials)",
            "type": "array",
            "description": "Financials mode: which normalized statements to compute. Empty = all.",
            "items": {
              "type": "string",
              "enum": [
                "income_statement",
                "balance_sheet",
                "cash_flow"
              ],
              "enumTitles": [
                "Income statement",
                "Balance sheet",
                "Cash flow"
              ]
            },
            "default": []
          },
          "sinceAccessionNumber": {
            "title": "Since accession number (incremental)",
            "type": "string",
            "description": "Incremental company-filings/form-4/8-K: skip filings at or older than this accession number (e.g. 0000320193-25-000079). Useful for scheduled runs.",
            "default": ""
          },
          "startDate": {
            "title": "Start date (filed on/after)",
            "type": "string",
            "description": "Only include filings filed on or after this date. Format YYYY-MM-DD. Leave blank for no lower bound.",
            "default": ""
          },
          "endDate": {
            "title": "End date (filed on/before)",
            "type": "string",
            "description": "Only include filings filed on or before this date. Format YYYY-MM-DD. Leave blank for no upper bound.",
            "default": ""
          },
          "maxItems": {
            "title": "Max items",
            "minimum": 1,
            "maximum": 100000,
            "type": "integer",
            "description": "Maximum number of records to output across the whole run.",
            "default": 50
          },
          "includeAmendments": {
            "title": "Include amendments",
            "type": "boolean",
            "description": "Include amended forms (e.g. 10-K/A, 4/A, D/A) when filtering by form type.",
            "default": true
          },
          "includeDocumentText": {
            "title": "Attach document text excerpt",
            "type": "boolean",
            "description": "Fetch each filing's primary document and attach a plain-text excerpt (company-filings and search modes). Slower and uses more requests.",
            "default": false
          },
          "financialsFrequency": {
            "title": "Financials frequency",
            "enum": [
              "annual",
              "quarterly",
              "both"
            ],
            "type": "string",
            "description": "Which periods to return in financials mode: annual (FY), quarterly (Qn), or both. Periods follow the company's own fiscal calendar, so quarter numbering starts at the beginning of its fiscal year.",
            "default": "both"
          },
          "financialsConcepts": {
            "title": "Extra XBRL concepts",
            "type": "array",
            "description": "Optional additional XBRL tags to include in financials output beyond the built-in metric set, e.g. InventoryNet, LongTermDebtNoncurrent. Tags are matched in the company's own taxonomy.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "minOfferingAmount": {
            "title": "Min offering amount (Form D)",
            "minimum": 0,
            "type": "integer",
            "description": "Form D funding-leads only: drop offerings whose total offering amount is below this USD value. 0 = no minimum.",
            "default": 0
          },
          "maxFilingsPerCompany": {
            "title": "Max filings per company",
            "minimum": 1,
            "maximum": 100000,
            "type": "integer",
            "description": "Cap the number of filings pulled per company (company-filings and form-4-insider modes).",
            "default": 1000
          },
          "contactEmail": {
            "title": "Contact email (SEC User-Agent)",
            "type": "string",
            "description": "Your email address. The SEC requires a descriptive User-Agent with contact info for its APIs. If left blank a generic identifier is used, which the SEC may rate-limit more aggressively. Must be plain ASCII — HTTP headers cannot carry Cyrillic, umlauts or other non-Latin characters; anything else is stripped and reported in the log.",
            "default": ""
          },
          "proxyConfiguration": {
            "title": "Proxy configuration",
            "type": "object",
            "description": "You do not need this. The SEC APIs are public and the actor connects to them directly — nothing to configure, nothing to sign up for. It is here only as an escape hatch in case you ever hit a collective rate limit; if it is enabled and stops working, the run carries on directly rather than failing.",
            "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}