{
  "openapi": "3.0.1",
  "info": {
    "title": "SEC EDGAR AI Scraper - LLM-ready filings, RAG chunks & signals",
    "description": "SEC EDGAR as LLM-ready data: section-aware Markdown, RAG chunks with stable IDs + SHA-256, XBRL facts, Form 4/13F, section diff, scored signals. Multi-event PPE. Pairs with sec-edgar-mcp.",
    "version": "0.0",
    "x-build-id": "nrCGQTuSU9vhRzGfB"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/dominvo~sec-edgar-ai-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-dominvo-sec-edgar-ai-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/dominvo~sec-edgar-ai-scraper/runs": {
      "post": {
        "operationId": "runs-sync-dominvo-sec-edgar-ai-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/dominvo~sec-edgar-ai-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-dominvo-sec-edgar-ai-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": [
              "cik_ticker_map",
              "company_filings",
              "form_4_filings",
              "form_13d_filings",
              "form_13f_filings",
              "filing_markdown",
              "form_10q_filings",
              "form_d_filings",
              "form_8k_filings",
              "form_10k_filings",
              "xbrl_statements",
              "xbrl_facts",
              "xbrl_frames",
              "form_def14a_filings",
              "section_mda",
              "form_3_filings",
              "section_risk_factors",
              "form_5_filings",
              "form_13g_filings",
              "filing_text",
              "xbrl_metrics",
              "filings_index",
              "filings_feed",
              "filings_search",
              "section_icfr",
              "form_20f_filings",
              "form_s1_filings",
              "form_424b_prospectus",
              "form_s3_filings",
              "form_144_filings",
              "form_nport_filings",
              "form_6k_filings",
              "def14a_audit_fees",
              "def14a_exec_comp",
              "def14a_pay_vs_performance",
              "def14a_directors",
              "section_legal_proceedings",
              "section_business",
              "form_40f_filings",
              "form_atsn_filings",
              "section_subsidiaries",
              "form_ncsr_filings",
              "form_ncen_filings",
              "def14a_beneficial_owners",
              "form_npx_filings",
              "form_c_filings",
              "filing_chunks",
              "ai_importance",
              "section_diff",
              "ai_summary",
              "disclosure_compare",
              "peer_benchmark",
              "signal_pack",
              "insider_cluster",
              "lockup_expiration",
              "discrete_signals",
              "activist_clustering",
              "form_sd_disclosures",
              "form_25_notifications",
              "form_15_terminations",
              "form_8a_registrations",
              "form_reg_a_family",
              "form_14d9_recommendation",
              "form_to_tender",
              "form_s4_filings",
              "aaer_releases",
              "comment_letters",
              "administrative_proceedings",
              "litigation_releases",
              "form_adv_filings"
            ],
            "type": "string",
            "description": "Which mode to run. Catalog grows as new modes ship.",
            "default": "cik_ticker_map"
          },
          "tickers": {
            "title": "Tickers",
            "type": "array",
            "description": "Stock tickers to look up (e.g. MDB, NET). Auto-resolved to CIK.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "ciks": {
            "title": "CIKs",
            "type": "array",
            "description": "Raw 10-digit CIKs (zero-padded or bare).",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "companies": {
            "title": "Company names",
            "type": "array",
            "description": "Fuzzy company-name lookups. Only used by cik_ticker_map.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "domains": {
            "title": "Domains",
            "type": "array",
            "description": "Website domains (TLD stripped, treated as name hint). Only used by cik_ticker_map.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "date_from": {
            "title": "From date",
            "type": "string",
            "description": "Earliest filing date (YYYY-MM-DD). Optional. Used by filings modes."
          },
          "date_to": {
            "title": "To date",
            "type": "string",
            "description": "Latest filing date (YYYY-MM-DD). Optional. Used by filings modes."
          },
          "since_accession": {
            "title": "Resume since accession",
            "type": "string",
            "description": "Skip filings with accession number ≤ this value. For incremental resume."
          },
          "forms": {
            "title": "Form types",
            "type": "array",
            "description": "Optional list of SEC form types to filter by (e.g. ['10-K', '8-K']). Used by ai_importance; if omitted, all forms are scored.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "output_format": {
            "title": "Output format",
            "enum": [
              "json",
              "ndjson",
              "csv",
              "xlsx",
              "markdown"
            ],
            "type": "string",
            "description": "json streams to the default dataset. ndjson/csv/xlsx/markdown flush to the key-value store at end of run.",
            "default": "json"
          },
          "form": {
            "title": "Form type",
            "type": "string",
            "description": "SEC form type to scope filing fetches (e.g. 10-K, 10-Q, S-1). Used by Tier 2 RAG/composite modes such as filing_chunks.",
            "default": "10-K"
          },
          "sections": {
            "title": "Sections",
            "type": "array",
            "description": "Section keys to extract from each filing. Used by filing_chunks and similar Tier 2 modes. Common keys: risk_factors, mda, business, legal_proceedings, icfr.",
            "default": [
              "risk_factors",
              "mda",
              "business"
            ],
            "items": {
              "type": "string"
            }
          },
          "window_tokens": {
            "title": "Window tokens",
            "minimum": 1,
            "type": "integer",
            "description": "Token-window size for chunking section text. Used by filing_chunks.",
            "default": 1024
          },
          "overlap_tokens": {
            "title": "Overlap tokens",
            "minimum": 0,
            "type": "integer",
            "description": "Token overlap between adjacent chunks. Must be < window_tokens. Used by filing_chunks.",
            "default": 256
          },
          "section": {
            "title": "Section",
            "enum": [
              "risk_factors",
              "mda",
              "business",
              "legal_proceedings",
              "icfr"
            ],
            "type": "string",
            "description": "Single section key to diff. Used by section_diff.",
            "default": "risk_factors"
          },
          "mode_shape": {
            "title": "Output shape (section_diff)",
            "enum": [
              "per_op",
              "per_section"
            ],
            "type": "string",
            "description": "section_diff: emit one record per diff op (per_op, default) or one bundle per filing pair (per_section).",
            "default": "per_op"
          },
          "max_pairs": {
            "title": "Max filing pairs (section_diff)",
            "minimum": 1,
            "type": "integer",
            "description": "Cap on the number of adjacent (old, new) filing pairs diffed per issuer, newest first. Used by section_diff.",
            "default": 3
          },
          "model": {
            "title": "LLM model (ai_summary)",
            "type": "string",
            "description": "OpenRouter model slug for primary summarization. Used by ai_summary.",
            "default": "google/gemini-2.5-flash"
          },
          "fallback_model": {
            "title": "Fallback LLM model (ai_summary)",
            "type": "string",
            "description": "OpenRouter model slug used as a fallback if the primary call fails. Used by ai_summary.",
            "default": "groq/llama-3.1-8b-instant"
          },
          "openrouter_api_key": {
            "title": "OpenRouter API key (ai_summary)",
            "type": "string",
            "description": "OpenRouter API key. If omitted, the actor reads OPENROUTER_API_KEY from env. Required by ai_summary."
          },
          "max_input_chars": {
            "title": "Max input characters (ai_summary)",
            "minimum": 1,
            "type": "integer",
            "description": "Maximum character length of the combined section text passed to the LLM. Used by ai_summary.",
            "default": 80000
          },
          "timeout": {
            "title": "LLM request timeout seconds (ai_summary)",
            "minimum": 1,
            "type": "integer",
            "description": "Timeout in seconds for each OpenRouter HTTP call. Used by ai_summary.",
            "default": 60
          },
          "lookback_quarters": {
            "title": "Lookback quarters (disclosure_compare / signal_pack)",
            "minimum": 1,
            "type": "integer",
            "description": "Trailing window in quarters (90 days each). Used by disclosure_compare (default 4 when date_from omitted) and signal_pack (default 8).",
            "default": 4
          },
          "signals": {
            "title": "Signal filter (signal_pack)",
            "type": "array",
            "description": "Subset of signal names to score. Omit to score all 12. Used by signal_pack.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "metrics": {
            "title": "Metrics (disclosure_compare / peer_benchmark)",
            "type": "array",
            "description": "Which side-by-side metrics to compute. Used by disclosure_compare (filing_cadence, insider_activity, eight_k_severity, activist_flag) and peer_benchmark (gross_margin, operating_margin, revenue_growth_yoy, roe, fcf_margin).",
            "default": [
              "filing_cadence",
              "insider_activity",
              "eight_k_severity",
              "activist_flag"
            ],
            "items": {
              "type": "string"
            }
          },
          "fiscal_year": {
            "title": "Fiscal year (xbrl_facts)",
            "type": "integer",
            "description": "Filter facts to a single fiscal year (e.g. 2024). Used by xbrl_facts."
          },
          "window_days": {
            "title": "Window days (insider_cluster / activist_clustering)",
            "minimum": 1,
            "type": "integer",
            "description": "Rolling window (in days). Used by insider_cluster (default 60) and activist_clustering (default 90).",
            "default": 60
          },
          "min_filers": {
            "title": "Min filers per cluster (activist_clustering)",
            "minimum": 2,
            "type": "integer",
            "description": "Minimum number of unique 13D filers within the rolling window to qualify as a wolf-pack cluster. Used by activist_clustering.",
            "default": 2
          },
          "min_insiders": {
            "title": "Min insiders (insider_cluster)",
            "minimum": 2,
            "type": "integer",
            "description": "Minimum distinct insiders required to declare a cluster. Used by insider_cluster.",
            "default": 3
          },
          "direction": {
            "title": "Direction (insider_cluster)",
            "enum": [
              "buy",
              "sell",
              "any"
            ],
            "type": "string",
            "description": "Restrict clusters by trade side: buy = non-sell codes only, sell = sell-side codes only, any = either (homogeneous per cluster). Used by insider_cluster.",
            "default": "any"
          },
          "lookahead_days": {
            "title": "Lookahead days (lockup_expiration)",
            "minimum": 1,
            "type": "integer",
            "description": "Optional cap on how far in the future a projected lockup expiration date may fall. Records with expiration_date > today + lookahead_days are skipped. Used by lockup_expiration."
          },
          "signal_types": {
            "title": "Signal type filter (discrete_signals)",
            "type": "array",
            "description": "Subset of discrete signal sub-types to emit. Omit (or leave empty) for all 7. Allowed values: late_filing, going_concern, material_weakness, restatement, auditor_change, cfo_change, ceo_change. Used by discrete_signals.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "variant": {
            "title": "Reg A+ variant (form_reg_a_family)",
            "enum": [
              "1-A",
              "1-K",
              "1-SA",
              "1-U",
              "any"
            ],
            "type": "string",
            "description": "Which Reg A+ form variant to fetch. 'any' fetches all four. Used by form_reg_a_family.",
            "default": "any"
          },
          "subtype": {
            "title": "SC TO subtype (form_to_tender)",
            "enum": [
              "TO-I",
              "TO-T",
              "any"
            ],
            "type": "string",
            "description": "Which SC TO sub-type to fetch. 'any' fetches both. Used by form_to_tender.",
            "default": "any"
          },
          "include_amendments": {
            "title": "Include amendments (form_s4_filings)",
            "type": "boolean",
            "description": "When true, also fetch S-4/A amendment filings alongside S-4 originals. Used by form_s4_filings.",
            "default": true
          },
          "release_ids": {
            "title": "Release IDs (aaer_releases / litigation_releases)",
            "type": "array",
            "description": "Specific release IDs to fetch (e.g. 'AAER-4520' for aaer_releases, 'lr-25700' for litigation_releases). When omitted, all index rows matching the other filters are fetched.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "respondent_name": {
            "title": "Respondent name (aaer_releases / litigation_releases)",
            "type": "string",
            "description": "Case-insensitive substring match against the release index title. Used by aaer_releases and litigation_releases."
          },
          "year": {
            "title": "Year (litigation_releases / administrative_proceedings)",
            "minimum": 1995,
            "type": "integer",
            "description": "Calendar year for the enforcement yearly archive. Defaults to current year when omitted. Used by litigation_releases and administrative_proceedings."
          },
          "pair_window_days": {
            "title": "Pair window days (comment_letters)",
            "minimum": 1,
            "type": "integer",
            "description": "Maximum number of days after an UPLOAD (staff letter) within which a CORRESP (registrant response) is paired. Used by comment_letters.",
            "default": 90
          },
          "firm_names": {
            "title": "IAPD firm names (form_adv_filings)",
            "type": "array",
            "description": "Investment-adviser firm names to look up in IAPD. Each name resolves to one or more CRD numbers via IAPD firm search. Used by form_adv_filings.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "crd_numbers": {
            "title": "IAPD CRD numbers (form_adv_filings)",
            "type": "array",
            "description": "Direct IAPD CRD numbers to fetch firm reports for. Bypasses firm-name search. Used by form_adv_filings.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "include_disciplinary_only": {
            "title": "Disciplinary events only (form_adv_filings)",
            "type": "boolean",
            "description": "When true, emit one record per disclosure event instead of one summary record per firm. Used by form_adv_filings.",
            "default": false
          },
          "file_numbers": {
            "title": "File numbers (administrative_proceedings)",
            "type": "array",
            "description": "Specific administrative-proceeding file numbers to fetch directly (e.g. '3-21800'). When set, the index is skipped. Used by administrative_proceedings.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "concepts": {
            "title": "XBRL concepts",
            "type": "array",
            "description": "XBRL concept names or patterns (e.g. ['Revenues', 'NetIncomeLoss']). Used by xbrl_facts (filter) and xbrl_frames (axis — at least one required). Empty = no filter on xbrl_facts.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "periods": {
            "title": "Periods (xbrl_frames)",
            "type": "array",
            "description": "XBRL Frames period codes — instant ('CY2024Q1I') or duration ('CY2024Q1', 'CY2024'). At least one required by xbrl_frames.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "units": {
            "title": "Units (xbrl_frames)",
            "type": "array",
            "description": "XBRL units of measure ('USD', 'shares', 'USD/shares'). Used by xbrl_frames.",
            "default": [
              "USD"
            ],
            "items": {
              "type": "string"
            }
          },
          "taxonomy": {
            "title": "Taxonomy (xbrl_frames)",
            "enum": [
              "us-gaap",
              "ifrs-full",
              "dei",
              "srt"
            ],
            "type": "string",
            "description": "XBRL taxonomy ('us-gaap', 'ifrs-full', 'dei', 'srt'). Used by xbrl_frames.",
            "default": "us-gaap"
          },
          "max_rows_per_frame": {
            "title": "Max rows per frame (xbrl_frames)",
            "minimum": 1,
            "type": "integer",
            "description": "Cap rows emitted per (concept, period, unit) frame. Used by xbrl_frames.",
            "default": 5000
          },
          "fiscal_periods": {
            "title": "Fiscal periods (xbrl_facts)",
            "type": "array",
            "description": "Filter facts to specific fiscal periods (['FY', 'Q1', 'Q2', 'Q3']). Empty = all periods. Used by xbrl_facts.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "statement_types": {
            "title": "Statement types (xbrl_facts)",
            "type": "array",
            "description": "Filter facts to specific statement types (['IncomeStatement', 'BalanceSheet', 'CashFlowStatement']). Empty = all. Used by xbrl_facts.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "max_facts": {
            "title": "Max facts per filing (xbrl_facts)",
            "minimum": 1,
            "type": "integer",
            "description": "Cap facts emitted per filing. Used by xbrl_facts.",
            "default": 5000
          },
          "transaction_codes": {
            "title": "Transaction codes (form_4_filings)",
            "type": "array",
            "description": "Form 4 transaction codes to keep (P=buy, S=sell, A=grant, M=exercise, F=tax withhold, G=gift, D=disposition, plus long-tail X/C/J/V/I/U). Empty = all codes. Used by form_4_filings.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "item_codes": {
            "title": "8-K item codes (form_8k_filings)",
            "type": "array",
            "description": "8-K Item numbers to keep (e.g. '2.02' earnings, '4.01' auditor change, '4.02' restatement, '5.02' exec change). Empty = all items. Used by form_8k_filings.",
            "default": [],
            "items": {
              "type": "string"
            }
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}