Company News Signals: GDELT Headlines, Funding & Risk Alerts avatar

Company News Signals: GDELT Headlines, Funding & Risk Alerts

Pricing

from $4.00 / 1,000 company profiles

Go to Apify Store
Company News Signals: GDELT Headlines, Funding & Risk Alerts

Company News Signals: GDELT Headlines, Funding & Risk Alerts

Track global press mentions of any company from GDELT: recent headlines, funding/MA/hiring/legal signal types, match confidence and what is new since the last run. No API key, 65+ languages.

Pricing

from $4.00 / 1,000 company profiles

Rating

0.0

(0)

Developer

Dennis

Dennis

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

2

Monthly active users

13 days ago

Last modified

Share

Company News Signals — GDELT headlines, funding and risk alerts for any company

What the world press wrote about your companies, classified and compared with the previous run.

Most "news monitor" actors on Apify scrape Google News, which depends on a search results page that Google does not license for automated extraction. This actor reads GDELT, the open global news index that universities, journalists and researchers query every day. No API key, no login, no scraping of a commercial search engine, and coverage of roughly 65 languages and more than 100 countries — including local and business press that an English-language news scraper never sees.

For every company you list, the actor returns the recent headlines, labels each one with a signal type (funding, acquisition, hiring, layoff, leadership, product, partnership, expansion, legal, regulation, earnings), grades how reliable the match is, and — when you schedule the actor — reports what is new since the previous run.

What it does

  • Headlines per company from GDELT, with title, URL, source domain, language, source country and an ISO-8601 timestamp of the moment GDELT first saw the article (seendate, plus the untouched seendateRaw).
  • Signal classification per headline, using a deterministic keyword table. No LLM, no external classifier: the same headline always yields the same label, so results are stable across runs and free of per-run cost. Headlines that fit no signal type are counted separately (unclassifiedCount) instead of polluting the breakdown.
  • Precision first: GDELT matches on article text, so a query for "Stripe" also returns headlines about a zebra crossing or a road marking. This actor only keeps a headline when it actually names the company — or, for a distinctive multi-word name such as "Acme Corp", marks it explicitly as a text-only match. Every headline carries a match confidence and, where relevant, a matchNote.
  • Change tracking between runs: new headlines per company, a changed signal mix, and readable summaries such as "3 new headline(s) about Stripe since 2026-10-02 (last 7d)". Already-known headlines stay known even when you change a filter between runs.
  • Where the coverage comes from: the source domains that published the most (topDomains), plus every language and country the coverage spans.
  • Honest statuses: ok, no_articles (looked up, nothing found), skipped (over the per-run cap or the charge limit) and error (GDELT refused or timed out). Nothing disappears silently, and nothing found is free.

Input

FieldTypeDefaultDescription
companiesstring[]4 examplesRequired. One company per line, as a name (Shopify) or a website address (stripe.com). A website address also raises match confidence. A single comma-separated string works too, which is what most agents send.
timespanstring1dHow far back to look: 1d, 7d, 30d, 90d. Use 1d on a schedule, 30d or 90d for research.
batchSizeinteger1Companies per request. 1 (default) keeps attribution exact. A higher value is faster for long lists but shares one 250-headline budget and requires the company name to appear in the headline.
languagesstring[][]Optional source-language filter, e.g. English, Dutch, German. Empty means all languages.
signalTypesstring[][]Optional filter on the classified signal type, e.g. ["funding", "acquisition", "legal"].
maxArticlesPerCompanyinteger50Keeps at most this many headlines per company, newest first (GDELT maximum is 250).
maxCompaniesinteger20Deliberate cap: GDELT allows about one request per 20 seconds. Companies above the cap are reported as skipped with an explanation, never dropped silently.
classifySignalsbooleantrueTurn signal classification on or off.
trackChangesbooleantrueStore the headlines seen per company so the next run reports what is new.
onlyChangesbooleanfalseOnly return companies that changed since the previous run.

Domain names are convenient for match confidence, but they cannot restore a brand's exact spelling: openai.com becomes Openai in the company field (the domain field stays openai.com, and the input field keeps exactly what you passed). Pass the proper name — OpenAI — when branding matters.

Output example

{
"company": "Anthropic",
"input": "Anthropic",
"domain": null,
"status": "ok",
"matchConfidence": "medium",
"matchWarning": "\"Anthropic\" is a single word, so a headline mentioning it can still be about something else (matchConfidence=medium). Pass the company domain instead of the bare name (e.g. \"example.com\") to grade matches on the source domain.",
"articleCount": 6,
"newArticleCount": 2,
"newestSeendate": "2026-10-02T09:45:00Z",
"oldestSeendate": "2026-10-01T15:45:00Z",
"articles": [
{
"title": "Anthropic Targets Pre - Thanksgiving IPO at $2 Trillion Valuat ...",
"url": "https://pymnts.com/.../anthropic-ipo/",
"domain": "pymnts.com",
"language": "English",
"sourceCountry": "United States",
"seendate": "2026-10-02T09:45:00Z",
"seendateRaw": "20261002T094500Z",
"signalType": "funding",
"matchedKeyword": "ipo",
"matchedTerm": "Anthropic",
"matchedCompany": "Anthropic",
"matchConfidence": "medium",
"matchNote": null
}
],
"signalBreakdown": { "funding": 1, "legal": 1 },
"unclassifiedCount": 4,
"signals": [
"2 new headline(s) about Anthropic since 2026-10-02 (last 7d).",
"1 funding mention(s).",
"1 legal mention(s).",
"Most coverage: pymnts.com (1), insurancejournal.com (1).",
"Coverage in United States, Turkey, Ireland."
],
"topDomains": [
{ "domain": "insurancejournal.com", "count": 1 },
{ "domain": "pymnts.com", "count": 1 }
],
"domains": ["dunyanews.tv", "hurriyetdailynews.com", "insurancejournal.com", "pymnts.com"],
"languages": ["English"],
"sourceCountries": ["United States", "Turkey", "Ireland"],
"isNewCompany": false,
"changedSincePreviousRun": true,
"previousRunAt": "2026-10-02T07:00:00.000Z",
"truncated": true,
"truncationWarning": "Truncated: GDELT returns at most 250 headlines per query and offers no way to page further back, so this company may have more coverage than shown.",
"scrapedAt": "2026-10-03T12:00:00.000Z"
}

Statuses: ok (headlines found), no_articles (checked, nothing in the window — the message says which), skipped (over maxCompanies or the per-run charge limit) and error (GDELT refused or timed out). Only the first one with headlines is billed.

A free RUN_SUMMARY record (key-value store) reports how many companies were delivered, skipped or errored, how many GDELT requests were made, how many were rate-limited and retried, and the signal totals of the run.

Match confidence, explained

GDELT returns articles whose body contains your search term, but only the headline, URL and source domain are public. So attribution is graded instead of assumed, and text-only matches are not passed off as confirmed mentions:

GradeWhen
highThe article comes from the company's own domain (requires a domain in the input), or the input is a distinctive multi-word name such as "Acme Corp".
mediumA single-word name such as "Stripe" or "Anthropic": the headline does contain the name, but a headline mentioning one word can still be about something else. Or: a multi-word name matched only in the article text — those articles carry matchNote.
lowNot used for kept articles: too weak to attribute.

The rule that matters in practice: for a single-word company name, only headlines that actually name the company are returned. Measured on a live query for "Stripe", the text-only matches included a Zagreb tram announcement, a German car crash and Ukrainian bridge strikes — all correct matches for the word "stripe", all useless as company news.

In batched mode (batchSize > 1) an article is only attributed when its headline, URL or source domain literally names one of the batch's companies, so matchConfidence there reflects the name match rather than GDELT's full-text hit.

Use cases

  • Lead generation: a scheduled daily run over your prospect list surfaces companies that just raised money, were acquired, appointed a new CEO or got into legal trouble — before the news reaches your inbox.
  • Competitive intelligence: which competitors launched products, opened offices or changed leadership, per week, with the source domains to verify.
  • Recruiting and market research: hiring and layoff signals per company, optionally restricted to one source language (languages), from local press instead of only global outlets.
  • Sales-trigger alerts: signalTypes: ["funding", "acquisition"] plus trackChanges gives a clean feed of companies that recently moved.
  • AI agents: one call returns structured, already-classified news metadata per company, with no article bodies to parse and no keys to configure.

Pricing

Pay per event, charged only for results you receive:

EventPriceCharged when
company-profile$0.004Per company that returned at least one headline
signal-detected$0.003Per company with at least one headline new since the previous run

Companies without coverage, companies above maxCompanies, and failed requests are free.

When should an AI agent use this?

  • "What has the press written about Stripe, Shopify and Datadog in the last 24 hours?"
  • "Which of these 15 companies had new funding or acquisition news this week?"
  • "Give me the headlines about Anthropic in English only, classified by signal type."
  • "Which companies in my list had leadership changes in the past month?"
  • "Monitor these domains daily and give me only the ones that changed."
  • "Which of my competitors were in the news for legal or regulatory reasons this week?"
  • Source: GDELT Project — an open, free, academic news index with a public API designed for research and journalistic use. No API key, no account, no login, no anti-bot circumvention.
  • Metadata only: this actor retrieves headline, URL, source domain, language, country and timestamp. It never retrieves or redistributes article text, so it stays clear of reproduction rights in the articles themselves.
  • No personal profiles: headlines may name individuals, and they are returned exactly as published. The actor does not build profiles of natural persons, does not collect author lists or e-mail addresses, and its own derived fields describe companies and sectors only.
  • Attribution: every record carries the source domain and URL so results can be verified at the original publisher. Defamation risk from a false headline match is the caller's responsibility; matchConfidence and matchWarning exist to surface that risk.
  • Respect the source's limits: GDELT allows roughly one request every 5 seconds; this actor waits at least 20 seconds between requests, backs off on HTTP 429 and serialises all calls, so it stays well inside that envelope even on Apify's shared platform.
  • Strange News Monitor — the same GDELT source read from the other side: instead of "what happened to this company", it returns the strangest headlines of the week (from GDELT, Rechtspraak.nl and KNMI).
  • Tech Stack Detector — the same company, different layer: which technologies and internal SaaS tools a domain runs on, with change tracking. Combine both for a fuller company profile.
  • Career Sites ATS Job Feed — hiring signals from company career pages, with hiring profiles and momentum scores.
  • Shopify Price Monitor — product and price changes on stores, another way to detect that a company is moving.

Limitations

  • Coverage depends on GDELT, which indexes mostly English, Spanish, Portuguese, Arabic, Russian, Chinese and other major languages; very small markets and local-only press may be missing.
  • GDELT is a shared public service and enforces roughly one request per 5 seconds (in practice closer to 20). When it throttles a request despite retries, that company is reported with status: "error" and the reason; other companies in the run are unaffected. Check RUN_SUMMARY for rateLimitedResponses.
  • Only the last three months are searchable, and at most 250 headlines come back per company. That cap is absolute: GDELT's from offset parameter is ignored (measured: from=250 and from=500 return the same newest 250 articles), so older coverage cannot be paged in. Both limits are reported in the output (truncated, truncationWarning).
  • Name matching is textual, not entity resolution. Give the company domain (stripe.com instead of Stripe) for the highest match confidence.
  • No article bodies: if you need full text, use a dedicated article-extraction actor for the URLs this one returns.

Keywords

company news monitor, GDELT API, news signals for companies, funding round detection, merger and acquisition watch, business press tracker, competitive intelligence news, lead generation news signals, press watch, GDELT news scraper, bedrijfsnieuws monitor, nieuws signalen bedrijf, pressemonitor, ondernemingsnieuws, financieringsronde detectie, nieuws API.

Changelog

v0.1 — initial release

  • Company list input with name-or-domain parsing, duplicate removal and a documented per-run cap. A single comma-separated string is accepted too, which is the shape most agents and API clients send.
  • GDELT DOC 2.0 integration: keyless, rate-limit-aware (20 s minimum interval, exponential backoff with jitter on HTTP 429 and on network timeouts), serialized requests.
  • Deterministic signal classification into 12 signal types with the matched keyword as evidence; unclassified headlines are counted separately instead of blurring the breakdown.
  • Precision-first attribution: for a single-word company name only headlines that name the company are kept, with match confidence and per-article matchNote where a text-only match is retained for a multi-word name.
  • Optional source-language filter (languages).
  • Change tracking per company via a named key-value store, with onlyChanges for alert feeds. The stored key set grows monotonically, so changing a filter does not make known headlines "new" again.
  • Honest statuses (ok, no_articles, skipped, error), duplicate-headline removal, ISO-8601 timestamps, topDomains, truncation and coverage reporting, and a free RUN_SUMMARY.