{
  "openapi": "3.0.1",
  "info": {
    "title": "Company News Scraper — Press, Funding & Announcements Feed",
    "description": "Company news and press releases for your accounts: give names or domains (or a topic) and get one deduplicated, typed row per story — funding, M&A, launches, partnerships, hires, layoffs — merged across every outlet, with the company newsroom, source URLs and a new-since-last-run delta.",
    "version": "0.1",
    "x-build-id": "LLE33h6rm9Opws73S"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/inovaflow~company-news-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-inovaflow-company-news-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/inovaflow~company-news-scraper/runs": {
      "post": {
        "operationId": "runs-sync-inovaflow-company-news-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/inovaflow~company-news-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-inovaflow-company-news-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",
        "properties": {
          "companies": {
            "title": "Companies (names or domains)",
            "maxItems": 500,
            "type": "array",
            "description": "The accounts to watch, one per line: a name (`Datadog`), a domain (`hubspot.com`) or both (`Gong (gong.io)`). A domain gives the most precise matching and adds the company's own newsroom and press releases. Leave empty to search by topic, or to get the latest company announcements worldwide.",
            "items": {
              "type": "string"
            }
          },
          "topics": {
            "title": "Topics or keywords (optional)",
            "maxItems": 20,
            "type": "array",
            "description": "With companies: only their news that mentions one of these (`stablecoin`, `AI agents`). Without companies: news about the topic itself (`SOC 2`, `data center`, `layoffs in fintech`). Quotes and OR work like in a search box.",
            "items": {
              "type": "string"
            }
          },
          "daysBack": {
            "title": "Published within (days)",
            "minimum": 1,
            "maximum": 90,
            "type": "integer",
            "description": "How far back to look. 7 days suits a weekly sweep; use 1–2 for a daily schedule together with the new-since-last-run option.",
            "default": 7
          },
          "eventTypes": {
            "title": "Event types",
            "uniqueItems": true,
            "type": "array",
            "description": "Only deliver these kinds of news. Empty = everything. Share-price chatter, analyst ratings and insider trades are \"Stock & analyst chatter\" — leave it out to keep only business events.",
            "items": {
              "type": "string",
              "enum": [
                "funding",
                "acquisition",
                "product",
                "partnership",
                "expansion",
                "leadership",
                "layoffs",
                "earnings",
                "legal",
                "security",
                "award",
                "stock",
                "other"
              ],
              "enumTitles": [
                "Funding & IPO",
                "Acquisitions & mergers",
                "Product launches",
                "Partnerships & customers",
                "Expansion (new markets, offices)",
                "Leadership changes",
                "Layoffs & restructuring",
                "Earnings & results",
                "Legal & regulatory",
                "Security incidents & outages",
                "Awards & rankings",
                "Stock & analyst chatter",
                "Other news"
              ]
            },
            "default": []
          },
          "includeNewsroom": {
            "title": "Company newsroom & press releases",
            "type": "boolean",
            "description": "Reads the company's own newsroom, press feed or announcement blog (found from its domain) — the first-party version of its news, merged with the press coverage of the same story.",
            "default": true
          },
          "useSecondNewsIndex": {
            "title": "Second news index (broader outlet coverage)",
            "type": "boolean",
            "description": "Adds a second news search. It finds outlets the first one misses and ships each article's own lead text, which is often the only snippet a paywalled article has.",
            "default": true
          },
          "useGlobalNewsIndex": {
            "title": "Global news database (slower, international outlets)",
            "type": "boolean",
            "description": "Adds a global event database that covers many regional and international outlets. It is slow (about 10–15 seconds per company) and rate-limited, so it is off by default.",
            "default": false
          },
          "readArticles": {
            "title": "Open articles for the publisher URL and lead text",
            "type": "boolean",
            "description": "Opens the lead article of every delivered story to record its real publisher URL, its own description or first paragraph (copied as-is) and its language, and to confirm stories about companies whose name is also an everyday word. Turn off for the fastest possible run.",
            "default": true
          },
          "onlyNewSinceLastRun": {
            "title": "Only stories that are new since my last run",
            "type": "boolean",
            "description": "Deliver only stories this watch has not reported before — ideal for a schedule. A story that gets picked up by more outlets later is not new again. The first run of a watch returns everything as the baseline.",
            "default": false
          },
          "watchId": {
            "title": "Watch ID",
            "type": "string",
            "description": "Optional name for this watch, e.g. `top-accounts`. Runs sharing a Watch ID share the memory of what was already reported. Leave empty to derive it from the companies and topics."
          },
          "maxEventsPerCompany": {
            "title": "Maximum stories per company",
            "minimum": 1,
            "maximum": 200,
            "type": "integer",
            "description": "Cap per company (or per topic). When it bites, business events and the company's own posts are kept ahead of share-price chatter; the rows come out newest first.",
            "default": 20
          },
          "maxItems": {
            "title": "Maximum stories in total",
            "minimum": 1,
            "maximum": 5000,
            "type": "integer",
            "description": "Cap on delivered rows for the whole run. Also caps what you pay.",
            "default": 300
          },
          "maxCompanies": {
            "title": "Maximum companies",
            "minimum": 1,
            "maximum": 500,
            "type": "integer",
            "description": "Only the first N companies of the list are covered.",
            "default": 100
          },
          "includeUnconfirmedMatches": {
            "title": "Include unconfirmed matches",
            "type": "boolean",
            "description": "For a company whose name is also an everyday word (Stripe, Gong, Ramp), a headline needs extra evidence that it is about the company. Turn on to also receive the headlines that name it without that evidence, flagged `attribution: \"unconfirmed\"`.",
            "default": false
          },
          "newsLanguage": {
            "title": "News language",
            "type": "string",
            "description": "Language edition of the news search, e.g. `en-US`, `de-DE`, `fr-FR`. Articles in other languages are dropped from the second index.",
            "default": "en-US"
          },
          "newsCountry": {
            "title": "News country edition",
            "type": "string",
            "description": "Two-letter country edition, e.g. `US`, `GB`, `DE`. Pair it with the matching language for strong local coverage.",
            "default": "US"
          },
          "resolveDomainsWithCompanyEnrichment": {
            "title": "Resolve missing domains with Company Enrichment (extra cost)",
            "type": "boolean",
            "description": "For companies given by name whose domain cannot be confirmed from their homepage or their news, run our Company Enrichment Actor once to find it (billed separately by that Actor). Off by default — most runs never need it.",
            "default": false
          },
          "maxConcurrency": {
            "title": "Parallel requests",
            "minimum": 1,
            "maximum": 20,
            "type": "integer",
            "description": "Concurrent requests to news sources and article pages. Lower it if a source starts rate-limiting.",
            "default": 6
          },
          "secondIndexPages": {
            "title": "Second-index pages per company",
            "minimum": 1,
            "maximum": 5,
            "type": "integer",
            "description": "Each page adds about ten articles from the second news index.",
            "default": 2
          },
          "proxyConfiguration": {
            "title": "Proxy",
            "type": "object",
            "description": "Optional. Every source is public; the Actor already falls back to Apify Proxy if a source rate-limits the run. Set one only to route every request through a specific proxy.",
            "default": {
              "useApifyProxy": false
            }
          }
        }
      },
      "runsResponseSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "actId": {
                "type": "string"
              },
              "userId": {
                "type": "string"
              },
              "startedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "finishedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "status": {
                "type": "string",
                "example": "READY"
              },
              "meta": {
                "type": "object",
                "properties": {
                  "origin": {
                    "type": "string",
                    "example": "API"
                  },
                  "userAgent": {
                    "type": "string"
                  }
                }
              },
              "stats": {
                "type": "object",
                "properties": {
                  "inputBodyLen": {
                    "type": "integer",
                    "example": 2000
                  },
                  "rebootCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "restartCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "resurrectCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "computeUnits": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "options": {
                "type": "object",
                "properties": {
                  "build": {
                    "type": "string",
                    "example": "latest"
                  },
                  "timeoutSecs": {
                    "type": "integer",
                    "example": 300
                  },
                  "memoryMbytes": {
                    "type": "integer",
                    "example": 1024
                  },
                  "diskMbytes": {
                    "type": "integer",
                    "example": 2048
                  }
                }
              },
              "buildId": {
                "type": "string"
              },
              "defaultKeyValueStoreId": {
                "type": "string"
              },
              "defaultDatasetId": {
                "type": "string"
              },
              "defaultRequestQueueId": {
                "type": "string"
              },
              "buildNumber": {
                "type": "string",
                "example": "1.0.0"
              },
              "containerUrl": {
                "type": "string"
              },
              "usage": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "integer",
                    "example": 1
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  },
                  "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}