{
  "openapi": "3.0.1",
  "info": {
    "title": "Company Deep Research — SEC, GitHub, DNS & Social",
    "description": "Generate comprehensive company research reports from 7+ sources: SEC filings, stock data, Wikipedia, GitHub, Trustpilot reviews, DNS records, and social media verification. One domain in, full intelligence report out.",
    "version": "1.0",
    "x-build-id": "Aqcu0EMAcErVrb4Va"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/ryanclinton~company-deep-research/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-ryanclinton-company-deep-research",
        "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/ryanclinton~company-deep-research/runs": {
      "post": {
        "operationId": "runs-sync-ryanclinton-company-deep-research",
        "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/ryanclinton~company-deep-research/run-sync": {
      "post": {
        "operationId": "run-sync-ryanclinton-company-deep-research",
        "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": [
          "domain"
        ],
        "properties": {
          "domain": {
            "title": "Company domain",
            "type": "string",
            "description": "Company website domain (e.g., stripe.com). https:// and trailing slashes are stripped automatically.",
            "default": "stripe.com"
          },
          "companyName": {
            "title": "Company name (override)",
            "type": "string",
            "description": "Override the auto-detected company name. Use this when the homepage title is a tagline (e.g., \"Build the Future\") rather than the company name — improves Wikipedia, SEC, GitHub, and Hacker News match accuracy."
          },
          "includeFinancials": {
            "title": "SEC EDGAR filings",
            "type": "boolean",
            "description": "Search SEC EDGAR for 10-K / 10-Q / 8-K filings, ticker, CIK, exchange, address, SIC code.",
            "default": true
          },
          "includeResearch": {
            "title": "Academic papers (OpenAlex)",
            "type": "boolean",
            "description": "Search OpenAlex for academic papers mentioning the company, sorted by citation count.",
            "default": true
          },
          "includeGithub": {
            "title": "GitHub (+ npm scope + Docker Hub)",
            "type": "boolean",
            "description": "Find the company's GitHub org, top repositories by stars, language breakdown, and adjacent npm + Docker Hub footprint when an org is found.",
            "default": true
          },
          "includeTechStack": {
            "title": "Tech stack detection",
            "type": "boolean",
            "description": "Detect CMS, framework, analytics, CDN, e-commerce, payment processors, ad pixels, fonts, and security headers from the homepage HTML + response headers (in-actor signatures, no external API).",
            "default": true
          },
          "includeSubdomains": {
            "title": "Subdomain enumeration (crt.sh)",
            "type": "boolean",
            "description": "Enumerate subdomains via Certificate Transparency logs (crt.sh). Reveals internal tools, staging environments, and acquisitions.",
            "default": true
          },
          "includeInfrastructure": {
            "title": "Well-known files & infra probes",
            "type": "boolean",
            "description": "Detect security.txt, ai.txt, llms.txt, robots.txt, sitemap.xml, RSS feed, status page, changelog, pricing page, careers page, and Wayback Machine first-seen date.",
            "default": true
          },
          "includeCommunity": {
            "title": "Hacker News mentions",
            "type": "boolean",
            "description": "Search Hacker News (Algolia API) for the company name — total mention count + top stories with points and comment counts.",
            "default": true
          },
          "includePatents": {
            "title": "USPTO patents (off — needs API key)",
            "type": "boolean",
            "description": "Currently a no-op. The USPTO PatentsView API was retired in August 2024 and the replacement requires an API key, which would break the no-key promise of this actor. Leave off.",
            "default": false
          },
          "enableMonitoring": {
            "title": "Monitoring diff + trends (since last run)",
            "type": "boolean",
            "description": "On repeat runs for the same domain, return a `diff` field showing raw changes, an `events` array classifying them as typed events (PRODUCT_SIGNAL, INFRA_EXPANSION, POSSIBLE_ACQUISITION, etc.), a `trends` block computing 30d / 90d deltas from the last 10 snapshots, an `anomalies` array flagging statistical outliers (z-score > 2), and a `correlations` array detecting compound patterns (product-launch / infra-migration / acquisition / pivot / wind-down). Justifies daily / weekly scheduling.",
            "default": true
          },
          "outputProfile": {
            "title": "Output profile",
            "enum": [
              "analyst",
              "executive",
              "raw",
              "minimal",
              "standard",
              "full",
              "llm"
            ],
            "type": "string",
            "description": "Filter the dataset record by audience: `analyst` (default — full intelligence + raw modules), `executive` (decision layer + thin module pointers — for Slack alerts and dashboards), or `raw` (raw modules only, no decision layer — backward-compatible mode for users who only want the source data). The full SUMMARY KV record is always emitted regardless of profile. **Suite-aligned aliases:** also accepts the canonical lead-enrichment-pipeline-suite vocabulary `minimal` / `standard` / `full` / `llm` — `minimal`/`llm` → executive, `standard`/`full` → analyst.",
            "default": "analyst"
          },
          "compareTo": {
            "title": "Compare against peer domains",
            "maxItems": 3,
            "uniqueItems": true,
            "type": "array",
            "description": "Up to 3 peer domains to benchmark against. Each peer triggers a separate recursive run of this actor — IMPORTANT: each peer = +1 PPE event ($1.00 per peer). The result is a separate `peer-comparison` record in the dataset with rank + summary across 8 metrics (technical maturity, security posture, infra complexity, OSS strength, operational maturity, subdomain count, GitHub stars, Hacker News mentions). Leave empty to skip.",
            "items": {
              "type": "string"
            }
          },
          "portfolioId": {
            "title": "Portfolio ID (cross-company tracking)",
            "type": "string",
            "description": "Opt-in label for tracking multiple companies as a portfolio. When set, the run writes a lightweight entry to a per-user named key-value store (`cdr-portfolio-<id>`), then computes (1) `portfolioContext` — your rank + percentile + outlier flag across the portfolio, (2) `feed` — rolling alerts + topMovers + newEntrants from your other portfolio runs, (3) `normalized` — percentile scores vs your portfolio (needs 4+ entries), (4) `cluster` — companies in the portfolio sharing your tech-stack / infrastructure fingerprint, (5) `portfolioPressure` — attention share + displacement vs other portfolio entries, (6) `decisionMemory` — outcome inference for prior actions you took (when paired with `lastAction`). Each user's portfolios are isolated by Apify's per-user named-store sandboxing. Leave blank to skip."
          },
          "monitorStateKey": {
            "title": "Monitor state key (alias for portfolioId)",
            "type": "string",
            "description": "Suite-aligned alias for `portfolioId`. Either input works; if both are set, `portfolioId` wins (legacy field). Use this when you want one consistent field name across `company-deep-research`, `waterfall-contact-enrichment`, `bulk-email-verifier`, and `lead-enrichment-pipeline`."
          },
          "lastAction": {
            "title": "Last action taken (for outcome tracking)",
            "type": "object",
            "description": "Optional. Tells the actor what action you took since the last run on this entity. The actor stores it in the portfolio (requires `portfolioId`), then on subsequent runs compares the current state vs the snapshot at action time to infer the outcome (`engaged` / `escalated` / `no-response` / `no-change` / `resolved` / `too-soon-to-tell`) and emits `decisionMemory` with `effectivenessScore` + `pattern`. Outcome inference is honest: it can only observe signal changes — it can't see direct replies, deals, or off-platform engagement. Shape: `{ \"type\": \"trigger-outreach\", \"takenAt\": \"2026-04-15T09:00:00Z\", \"note\": \"optional\" }`."
          },
          "githubToken": {
            "title": "GitHub token (optional)",
            "type": "string",
            "description": "GitHub personal access token. Without it, GitHub allows 60 requests/hour unauthenticated. With it, 5,000/hour."
          },
          "maxResults": {
            "title": "Max results per source",
            "minimum": 1,
            "maximum": 200,
            "type": "integer",
            "description": "Maximum items returned per data source (papers, repos, filings, subdomains, etc.).",
            "default": 50
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}