{
  "openapi": "3.0.1",
  "info": {
    "title": "Company Signals API - Funding, M&A, Layoffs, Hiring Data",
    "description": "Pull company trigger events by date, company, industry, location and deal size: startup funding and venture rounds, mergers, acquisitions and divestments, layoffs and job cuts, business expansion and major hiring, C-suite changes, security breaches and company news. Bring your own API key.",
    "version": "0.1",
    "x-build-id": "quLpmuYLMcBlzO0qf"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/nabeelbaghoor~company-signals-funding-layoffs-api/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-nabeelbaghoor-company-signals-funding-layoffs-api",
        "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/nabeelbaghoor~company-signals-funding-layoffs-api/runs": {
      "post": {
        "operationId": "runs-sync-nabeelbaghoor-company-signals-funding-layoffs-api",
        "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/nabeelbaghoor~company-signals-funding-layoffs-api/run-sync": {
      "post": {
        "operationId": "run-sync-nabeelbaghoor-company-signals-funding-layoffs-api",
        "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": {
          "signalTypes": {
            "title": "Signals to collect",
            "type": "array",
            "description": "Which signal families to pull. Each one is a separate endpoint and a separate request, and all of them land in the same dataset with the same leading columns, so you can pull several at once and sort the lot by date and company. Your plan has to cover each signal you pick; one it does not cover is skipped with a warning rather than failing the run.",
            "items": {
              "type": "string",
              "enum": [
                "funding",
                "mergersAcquisitions",
                "layoffs",
                "businessExpansion",
                "executiveChanges",
                "dataBreaches",
                "companyNews"
              ],
              "enumTitles": [
                "Startup funding and venture capital deals",
                "Mergers, acquisitions and divestments",
                "Layoffs, downsizing and job cuts",
                "Business expansion and major hiring",
                "C-suite and executive changes",
                "Data and security breaches",
                "Company news signals"
              ]
            },
            "default": [
              "funding"
            ]
          },
          "startDate": {
            "title": "Start date",
            "type": "string",
            "description": "Earliest date to pull signals from, as YYYY-MM-DD. The datasets begin at 2020-01-01 and how far back your own plan reaches depends on your subscription."
          },
          "endDate": {
            "title": "End date",
            "type": "string",
            "description": "Latest date to pull signals up to, as YYYY-MM-DD."
          },
          "exactDate": {
            "title": "Exact date",
            "type": "string",
            "description": "Pull signals for one single date, as YYYY-MM-DD. Use this instead of a range when you are running the actor daily and only want what landed that day. Ignored by the company news signal."
          },
          "dateType": {
            "title": "Date to filter on",
            "enum": [
              "ANNOUNCED",
              "LAST-MODIFIED"
            ],
            "type": "string",
            "description": "Which date the range applies to. Announced filters on when the event was announced, which is what you want for analysis. Last modified filters on when the record was created or changed, which is what you want for a daily incremental pull, because it also catches records added late for an older event.",
            "default": "ANNOUNCED"
          },
          "windowDays": {
            "title": "Days per request",
            "minimum": 1,
            "maximum": 365,
            "type": "integer",
            "description": "Split the date range into windows of this many days and make one request per window. This API has no pagination: a single request returns at most the records-per-request limit for whatever filter it was given, so slicing the range is how you pull more than that. Leave empty to send the whole range as one request."
          },
          "companyName": {
            "title": "Company name",
            "type": "string",
            "description": "Company name to filter on. Partial matches work. On mergers this is applied to whichever side of the deal the role below selects."
          },
          "companyDomain": {
            "title": "Company domain",
            "type": "string",
            "description": "Company domain to filter on, for example stripe.com. A pasted URL is reduced to the bare hostname before the request. On mergers this is applied to whichever side of the deal the role below selects."
          },
          "companyIndustry": {
            "title": "Company industry",
            "enum": [
              "accounting, audit & tax",
              "advertising & communication",
              "agriculture, animal husbandry & forestry",
              "angels/ venture capital/ private equity",
              "automobile",
              "aviation",
              "banking",
              "bio-technology",
              "business services",
              "chemicals & fertilizers",
              "clean technology",
              "conglomerate",
              "consulting",
              "consumer products",
              "consumer services",
              "defence",
              "distribution",
              "e-commerce",
              "economic development",
              "education",
              "energy & utilities",
              "engineering, procurement & construction",
              "financial services",
              "gambling",
              "gaming",
              "government",
              "healthcare",
              "human resources",
              "insurance",
              "it services & outsourcing",
              "legal",
              "logistics & supply chain",
              "manufacturing",
              "media & entertainment",
              "medical device",
              "metals & mining",
              "not-for-profit/ ngo",
              "others",
              "pharmaceuticals",
              "publishing",
              "railways",
              "real estate",
              "regulatory",
              "restaurants & food services",
              "retail",
              "security",
              "shipping & ports",
              "spac/blank check",
              "sports",
              "technology",
              "telecommunication",
              "textiles",
              "tourism & hospitality",
              "trading",
              "transportation"
            ],
            "type": "string",
            "description": "Industry to filter on. This is an exact-match list, so a value outside it matches nothing rather than matching loosely."
          },
          "companyLocation": {
            "title": "Company location",
            "type": "string",
            "description": "Company headquarters location to filter on: a city, a state or a country."
          },
          "companyType": {
            "title": "Company type",
            "enum": [
              "Public",
              "Private",
              "Government/Regulator",
              "Not-for-profit",
              "Others"
            ],
            "type": "string",
            "description": "Whether the company is publicly listed, private, governmental, not-for-profit or something else."
          },
          "companyTicker": {
            "title": "Stock ticker",
            "type": "string",
            "description": "Stock ticker symbol to filter on, for public companies."
          },
          "mnaCompanyRole": {
            "title": "Merger filter applies to",
            "enum": [
              "acquiring",
              "acquired",
              "selling"
            ],
            "type": "string",
            "description": "Which side of a deal the company filters above are applied to when the mergers signal is selected. Acquiring finds deals a company made, acquired finds deals it was the target of, and selling finds divestments it sold out of.",
            "default": "acquiring"
          },
          "counterpartyCompanyName": {
            "title": "Counterparty company name",
            "type": "string",
            "description": "Name of the company on the other side of the deal, to pin both ends of a merger at once. Mergers signal only."
          },
          "counterpartyCompanyDomain": {
            "title": "Counterparty company domain",
            "type": "string",
            "description": "Domain of the company on the other side of the deal. Mergers signal only."
          },
          "mnaStatus": {
            "title": "Deal status",
            "enum": [
              "Announced",
              "Completed",
              "Terminated",
              "Rumours & Speculation",
              "Bid/Offer",
              "In Discussion/Negotiation",
              "Shareholder Approved",
              "Shareholder Rejected",
              "Board Rejected",
              "Regulator Review",
              "Regulator Approved",
              "Regulator Rejected",
              "Legal Dispute"
            ],
            "type": "string",
            "description": "Where the deal has reached: announced, completed, terminated, under regulatory review and so on. Mergers signal only."
          },
          "mnaType": {
            "title": "Deal type",
            "enum": [
              "Acquisition - Total",
              "Acquisition - Asset / Business Division Sale",
              "Acquisition - Financial Stake",
              "Acquisition - Joint Venture Stake",
              "Merger",
              "Merger - Business Operations",
              "Merger - Internal Operations/Subsidiaries",
              "Reverse Takeover",
              "Tender Offer",
              "Acqui-hire",
              "Other"
            ],
            "type": "string",
            "description": "The structure of the deal: a total acquisition, an asset sale, a financial stake, a merger, a tender offer and so on. Mergers signal only."
          },
          "fundingRound": {
            "title": "Funding round",
            "enum": [
              "Angel",
              "Crowdfunding",
              "Pre-Seed",
              "Seed",
              "Post-Seed / Pre-Series A",
              "Series A",
              "Series B",
              "Series C",
              "Series D",
              "Series E",
              "Series F",
              "Series G",
              "Series H",
              "Series I",
              "Series J",
              "Private Equity",
              "Secondary Offering",
              "Venture - Series Unknown",
              "Debt Financing",
              "Corporate Round",
              "Grant"
            ],
            "type": "string",
            "description": "Which round to filter on, from angel and pre-seed through the lettered series to private equity and debt financing. Funding signal only."
          },
          "investor": {
            "title": "Investor",
            "type": "string",
            "description": "Investor name to filter on. Funding signal only. Use it to track every deal a given fund took part in."
          },
          "valuation": {
            "title": "Valuation",
            "minimum": 0,
            "type": "integer",
            "description": "Company valuation to filter on, in the currency selected below. Funding signal only."
          },
          "dealAmount": {
            "title": "Deal amount",
            "minimum": 0,
            "type": "integer",
            "description": "Deal or round amount to filter on, in the currency selected below. Applies to the funding and mergers signals."
          },
          "investment": {
            "title": "Investment amount",
            "minimum": 0,
            "type": "integer",
            "description": "Investment amount announced with an expansion, in the currency selected below. Business expansion signal only."
          },
          "jobs": {
            "title": "Jobs created",
            "minimum": 0,
            "type": "integer",
            "description": "Number of jobs announced with an expansion. Business expansion signal only."
          },
          "currency": {
            "title": "Currency",
            "enum": [
              "USD",
              "CAD",
              "EUR",
              "GBP",
              "INR",
              "AUD",
              "CHF",
              "CNY",
              "JPY",
              "SEK"
            ],
            "type": "string",
            "description": "Currency the amount filters above are expressed in.",
            "default": "USD"
          },
          "layoffType": {
            "title": "Layoff type",
            "enum": [
              "Downsizing/Layoff",
              "Furlough/Temporary",
              "Hiring Freeze",
              "Voluntary Retirement",
              "Temporary Plant Closure",
              "Permanent Plant Closure",
              "Voluntary Separation Program",
              "Other"
            ],
            "type": "string",
            "description": "Whether the event was a permanent layoff, a furlough, a hiring freeze, a voluntary programme or a plant closure. Layoffs signal only."
          },
          "layoffReason": {
            "title": "Layoff reason",
            "enum": [
              "Economic Crisis",
              "Pandemic",
              "Restructuring",
              "Cost-cutting",
              "M&A",
              "Automation",
              "Outsourcing",
              "Privatization",
              "Trade Tariff/Treaty",
              "Business Closure",
              "Relocation",
              "Not Specified",
              "Divestment",
              "Contract Loss",
              "Loss of Funding",
              "Sales Decline",
              "Other",
              "Bankruptcy",
              "Financial Distress",
              "Production Cut",
              "Employee Strike",
              "IPO",
              "Staff Redundancies",
              "Voluntary Dismissal",
              "Employees Performance Metrics",
              "Strategic and Business Changes",
              "Annual Review Process",
              "AI Automation",
              "Natural Disaster"
            ],
            "type": "string",
            "description": "The reason given for the layoff, from restructuring and cost-cutting through to bankruptcy and automation. Layoffs signal only."
          },
          "expansionType": {
            "title": "Expansion type",
            "enum": [
              "Store",
              "Restaurant",
              "Data Centre",
              "Factory/Plant",
              "Country Expansion",
              "HQ",
              "Mine",
              "Branch/Office",
              "Oil/Gas Well",
              "Other",
              "Product/Service Availability",
              "Research/Lab/Innovation",
              "Renewables",
              "Fulfillment/Distribution Centre/Warehouse",
              "New Business",
              "Fleet",
              "Route",
              "Airport/Airline Hub/Cargo Facility",
              "Healthcare Facility",
              "Hotel/Resort",
              "Delivery/Pickup",
              "Education",
              "Lease/Land Purchase"
            ],
            "type": "string",
            "description": "What kind of expansion it was: a new store, factory, data centre, office, country entry, warehouse and so on. Business expansion signal only."
          },
          "eventLocation": {
            "title": "Event location",
            "type": "string",
            "description": "Where the event itself happened, as opposed to where the company is headquartered. Applies to the layoffs and business expansion signals."
          },
          "executiveName": {
            "title": "Executive name",
            "type": "string",
            "description": "Name of the executive to filter on. C-suite changes signal only."
          },
          "executiveTitle": {
            "title": "Executive title",
            "type": "string",
            "description": "Job title to filter on as free text, for when the category list below is too coarse. C-suite changes signal only."
          },
          "executiveTitleCategory": {
            "title": "Executive title category",
            "enum": [
              "Chief Executive Officer ( CEO)/President/Managing Director",
              "Chair/Vice-Chair",
              "Board of Director",
              "Chief Operating Officer ( COO)",
              "Chief Financial Officer ( CFO) / Head of Finance",
              "Chief Investment Officer ( CIO)",
              "Chief Information Officer ( CIO) / Head of IT",
              "Chief Technology Officer ( CTO)",
              "Chief Product Officer ( CPO) / Head of Product",
              "Chief Risk Officer ( CRO) / Head of Risk",
              "Chief Information Security Officer ( CISO)\"",
              "Chief Human Resource / People Officer\"",
              "Chief Marketing Officer ( CMO)",
              "Chief Revenue Officer ( CRO) / Head of Sales",
              "Head of Customer Success/Support",
              "Other"
            ],
            "type": "string",
            "description": "The seniority bucket the role falls into, from chief executive down through the functional chiefs. C-suite changes signal only."
          },
          "executiveChangeReason": {
            "title": "Reason for the change",
            "enum": [
              "New Appointment",
              "Promoted/Role Change",
              "Retired",
              "Terminated",
              "Health",
              "Resigned",
              "Demise",
              "Others"
            ],
            "type": "string",
            "description": "Why the change happened: a new appointment, a promotion, a retirement, a resignation, a termination and so on. C-suite changes signal only."
          },
          "incidentType": {
            "title": "Incident type",
            "enum": [
              "Data Breach/Theft/Leak",
              "Security Breach",
              "Ransomware",
              "Malware",
              "DDOS",
              "POS Attack",
              "Hack",
              "Others"
            ],
            "type": "string",
            "description": "What kind of security incident it was: a data breach, ransomware, malware, a denial of service attack and so on. Data breaches signal only."
          },
          "peopleImpacted": {
            "title": "People impacted",
            "minimum": 0,
            "type": "integer",
            "description": "Number of people affected by the incident. Data breaches signal only."
          },
          "newsCompanyDomains": {
            "title": "News company domains",
            "type": "array",
            "description": "Company domains to pull news signals for, one per line. The company news signal is domain-driven, so this is how you tell it which companies to watch. The single company domain above is added to this list.",
            "items": {
              "type": "string"
            }
          },
          "newsTriggerCodes": {
            "title": "News trigger codes",
            "type": "array",
            "description": "Trigger codes to restrict the news signal to, one per line, using the trigger code reference in the API documentation. Leave empty to get every trigger the plan covers.",
            "items": {
              "type": "string"
            }
          },
          "recordsPerRequest": {
            "title": "Records per request",
            "minimum": 1,
            "maximum": 1000,
            "type": "integer",
            "description": "How many records to ask for in one request. The provider defaults to 100. Combined with the days-per-request window above, this is what sets how much a run can pull in total.",
            "default": 100
          },
          "requestDelayMs": {
            "title": "Delay between requests (ms)",
            "minimum": 0,
            "maximum": 10000,
            "type": "integer",
            "description": "Pause between requests, in milliseconds. Raise it if you are sharing the key with other jobs and want this actor to take a smaller share of the throughput.",
            "default": 250
          },
          "maxResults": {
            "title": "Maximum results",
            "minimum": 1,
            "maximum": 50000,
            "type": "integer",
            "description": "Stop after this many rows. This is the cap on both spend and run time.",
            "default": 100
          },
          "apiKey": {
            "title": "API key",
            "type": "string",
            "description": "Your own API key for the company signals API, sent in the request header rather than a URL parameter, so it never appears in a log line or a redirect. Required for every request. Stored as a secret."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}