{
  "openapi": "3.0.1",
  "info": {
    "title": "Company News Triggers: Funding, Layoffs, M&A and More",
    "description": "Watch a list of companies for buying-signal news from open GDELT data: funding, acquisitions, layoffs, expansions, leadership changes, lawsuits, launches. Readable rules, no AI guesses, each event cites its article. Schedule daily with only-new. USD 3 per 1,000 events.",
    "version": "1.0",
    "x-build-id": "p9EBc73firi9Yu7OK"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/jtpalms~company-news-triggers/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-jtpalms-company-news-triggers",
        "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/jtpalms~company-news-triggers/runs": {
      "post": {
        "operationId": "runs-sync-jtpalms-company-news-triggers",
        "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/jtpalms~company-news-triggers/run-sync": {
      "post": {
        "operationId": "run-sync-jtpalms-company-news-triggers",
        "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": [
          "companies"
        ],
        "properties": {
          "companies": {
            "title": "Companies",
            "type": "array",
            "description": "One company per line, written as it is usually written (Snap, not snap). Legal endings such as Inc, Corp., Ltd or GmbH are ignored, so Acme Corp. also matches Acme and Acme Corporation. Optional extras on the same line, separated by |: other names (Block | Square | Cash App), the company's own domain (block.xyz), -word to drop headlines containing that word (Ford | -doug ford), +word to keep only headlines (or GDELT organization names) that also contain one of the + words (Visa | +payments | +card).",
            "items": {
              "type": "string"
            }
          },
          "triggerTypes": {
            "title": "Trigger types",
            "type": "array",
            "description": "Which kinds of events to return. Empty = all except earnings. Each type is a published keyword rule on the headline; measured precision per type is in the README.",
            "items": {
              "type": "string",
              "enum": [
                "funding",
                "acquisition",
                "layoffs",
                "expansion",
                "leadership-change",
                "product-launch",
                "partnership",
                "legal-regulatory",
                "earnings",
                "bankruptcy",
                "security-incident"
              ],
              "enumTitles": [
                "Funding round",
                "Acquisition or merger",
                "Layoffs",
                "Expansion (new sites, markets, capacity, hiring)",
                "Leadership change",
                "Product launch",
                "Partnership or deal",
                "Legal or regulatory (lawsuits, fines, probes, recalls)",
                "Earnings",
                "Bankruptcy or insolvency",
                "Security incident"
              ]
            },
            "default": [
              "funding",
              "acquisition",
              "layoffs",
              "expansion",
              "leadership-change",
              "product-launch",
              "partnership",
              "legal-regulatory",
              "bankruptcy",
              "security-incident"
            ]
          },
          "minConfidence": {
            "title": "Minimum confidence",
            "enum": [
              "high",
              "medium",
              "low"
            ],
            "type": "string",
            "description": "High: the headline names the company and GDELT also tagged it as an organization. Medium (default): the headline names the company (or the article is on the company's own domain). Low: also articles where only GDELT's organization list names the company, or where only a GDELT theme code (bankruptcy, cyber attack) suggests the trigger.",
            "default": "medium"
          },
          "lookbackHours": {
            "title": "Look back (hours)",
            "minimum": 1,
            "maximum": 72,
            "type": "integer",
            "description": "Window ending now. GDELT publishes one file every 15 minutes, so 24 hours = 96 files (about 450 MB read, about 10 seconds). One scan serves every company in the list.",
            "default": 24
          },
          "languages": {
            "title": "Source languages",
            "type": "array",
            "description": "Two-letter codes. en (default) reads GDELT's main files (English-language sources). Other codes (fr, de, es...) also read GDELT's translation files, which arrive 1 to 3 hours late; their headlines stay in the original language, so the English trigger rules rarely fire on them (use Minimum confidence: Low to see theme-based events). Empty = all.",
            "default": [
              "en"
            ],
            "items": {
              "type": "string"
            }
          },
          "onlyNew": {
            "title": "Only new events",
            "type": "boolean",
            "description": "Remember which events earlier runs output and output only new ones. Schedule daily: runs with nothing new output nothing and cost only the start. The memory is kept per company list and settings in your company-news-triggers-state key-value store for 14 days.",
            "default": false
          },
          "firstRunOutput": {
            "title": "First run with Only new",
            "enum": [
              "all",
              "none"
            ],
            "type": "string",
            "description": "All: the first run outputs the current events. None: the first run outputs nothing and only records what is there, so alerts start with the next run.",
            "default": "all"
          },
          "maxEventsPerCompany": {
            "title": "Maximum events per company",
            "minimum": 1,
            "maximum": 20000,
            "type": "integer",
            "description": "Cap per company per run, newest first, so one big story cannot fill the whole run.",
            "default": 20
          },
          "maxResults": {
            "title": "Maximum events",
            "minimum": 1,
            "maximum": 20000,
            "type": "integer",
            "description": "Hard cap per run across all companies. Files are read newest first and reading stops once the cap is reached.",
            "default": 1000
          },
          "companyDetails": {
            "title": "Company details (JSON, optional)",
            "type": "array",
            "description": "Advanced: companies as objects, added to the list above. Fields: name (required), aliases (list), domain, excludeWords (list), mustInclude (list), matchCase (true: the headline must use the same capitals, so Block never matches BLOCK or block), requireOrganization (true: only articles where GDELT also tagged the company as an organization). Example: [{\"name\": \"Block\", \"aliases\": [\"Block Inc\", \"Square\", \"Cash App\"], \"domain\": \"block.xyz\", \"requireOrganization\": true}]"
          }
        }
      },
      "runsResponseSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "actId": {
                "type": "string"
              },
              "userId": {
                "type": "string"
              },
              "startedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "finishedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "status": {
                "type": "string",
                "example": "READY"
              },
              "meta": {
                "type": "object",
                "properties": {
                  "origin": {
                    "type": "string",
                    "example": "API"
                  },
                  "userAgent": {
                    "type": "string"
                  }
                }
              },
              "stats": {
                "type": "object",
                "properties": {
                  "inputBodyLen": {
                    "type": "integer",
                    "example": 2000
                  },
                  "rebootCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "restartCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "resurrectCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "computeUnits": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "options": {
                "type": "object",
                "properties": {
                  "build": {
                    "type": "string",
                    "example": "latest"
                  },
                  "timeoutSecs": {
                    "type": "integer",
                    "example": 300
                  },
                  "memoryMbytes": {
                    "type": "integer",
                    "example": 1024
                  },
                  "diskMbytes": {
                    "type": "integer",
                    "example": 2048
                  }
                }
              },
              "buildId": {
                "type": "string"
              },
              "defaultKeyValueStoreId": {
                "type": "string"
              },
              "defaultDatasetId": {
                "type": "string"
              },
              "defaultRequestQueueId": {
                "type": "string"
              },
              "buildNumber": {
                "type": "string",
                "example": "1.0.0"
              },
              "containerUrl": {
                "type": "string"
              },
              "usage": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "integer",
                    "example": 1
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "usageTotalUsd": {
                "type": "number",
                "example": 0.00005
              },
              "usageUsd": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "number",
                    "example": 0.00005
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}