Google News Journalist & Media Lead Finder

Turn Google News searches into outreach-ready journalist and publication leads with article evidence, author metadata, and public contact signals.

Data fields

FieldTypeDescription
querystringOriginal Google News topic.
headlinestringNews article headline.
googleNewsUrlstringGoogle News result evidence URL.
articleUrlstring | nullResolved publisher article URL when available.
outletNamestring | nullPublication or outlet name reported by Google News.
outletUrlstring | nullPublication home URL reported by Google News.
publicationDomainstring | nullNormalized publisher domain.
journalistNamestring | nullPublic author name from article metadata when exposed.

Input preview

queriesGoogle News topics *
maxArticlesPerQueryMaximum articles per query
freshnessDaysFreshness window in days
countryCountry
languageLanguage
enrichPublisherPagesInspect public publisher pages

API and agents

This actor can be run through Apify API, datasets, webhooks, schedules, and the official Apify MCP server.

How this actor works

See example inputs, outputs, API usage, and practical limits before running this actor on Apify.

Open Apify page

Use this journalist email finder to turn Google News topics into outreach-ready journalist and publication leads. The Actor discovers recent coverage, resolves publisher articles through Google Search, extracts public author metadata, and returns any visibly published emails, social profiles, and exact evidence URLs.

Use it to find journalist contacts, build a current journalist database, or run a media contact finder workflow for digital PR prospecting, founder outreach, source research, media-list refreshes, link-building campaigns, and recurring coverage monitoring. Results are available as JSON, CSV, Excel, API output, scheduled datasets, and MCP tool calls.

What this Actor gives you

  • Recent Google News articles for each topic and locale.
  • Resolved publisher URLs instead of Google News wrapper links when search resolution succeeds.
  • Publication name, domain, article date, headline, and snippet.
  • Journalist name and author profile URL when the publisher exposes standard metadata.
  • Public emails and social links found on the article or a bounded author/contact page.
  • contactSourceUrls so every saved email has reviewable public evidence.
  • Honest no_public_contact and article_unavailable rows instead of silent omissions.

This is a lead-generation workflow, not a private-data broker. It only collects information visibly published on public pages.

Who is it for?

This Actor is for PR teams, founders, media researchers, digital-PR specialists, link builders, and marketing agencies that need current, article-backed journalist and publication leads.

Common use cases

  1. Build a current media list for a product category, funding round, or policy topic.
  2. Find outlets and reporters already covering a founder's market.
  3. Refresh PR outreach lists weekly with scheduled runs.
  4. Identify publication domains for newsroom or partnership research.
  5. Feed article-backed media leads into a CRM, spreadsheet, agent, or enrichment pipeline.
  6. Monitor competitor coverage and preserve the journalist/outlet evidence behind each lead.

Input

Paste 1–20 Google News topics. A practical first run is:

{
  "queries": [
    "artificial intelligence startups",
    "climate technology funding"
  ],
  "maxArticlesPerQuery": 10,
  "freshnessDays": 7,
  "country": "US",
  "language": "en",
  "enrichPublisherPages": true,
  "maxExtraPagesPerArticle": 1,
  "includeNoContact": true
}

Input settings

Setting JSON key Description
Google News topics queries Add 1–20 searches such as climate technology funding, fintech regulation, or artificial intelligence startups.
Maximum articles per query maxArticlesPerQuery Resolve and save up to this many recent article leads for each query.
Freshness window in days freshnessDays Ask Google News for articles published within this many days, from 1 to 365.
Country country Two-letter Google market code such as US, GB, PT, or DE.
Language language Google language code such as en, de, es, or pt.
Inspect public publisher pages enrichPublisherPages Resolve each article and inspect its public HTML for author metadata, emails, and social links.
Extra author or contact pages maxExtraPagesPerArticle Inspect up to this many linked author, press, newsroom, staff, or contact pages after the article. Set to 0 for article-only enrichment.
Save leads without a public email includeNoContact Keep one truthful status row for every resolved result, even when no public email is visible.
Run time limit in seconds runTimeSecs Stop admitting new articles before this shared deadline. Use 30–270 seconds.
Google proxy configuration proxyConfiguration The default GOOGLE_SERP proxy resolves publisher article URLs reliably. Change it only if your account requires a custom Apify proxy setup.

Start with 5–10 articles per query. Increase volume after confirming that the chosen publishers expose the fields your campaign needs.

Input recipes

  • Focused journalist list: one narrow topic, 5–10 articles, 14 days, and one extra author/contact page.
  • Weekly PR refresh: two or three campaign topics, 7 days, and includeNoContact: true for stable downstream deduplication.
  • Article-only research: set maxExtraPagesPerArticle to 0 to reduce requests while retaining news, outlet, and best-effort author fields.
  • Email-only export: set includeNoContact to false when downstream work only accepts rows with a public email.

Output

Each dataset item is one article-backed media lead:

{
  "query": "artificial intelligence startups",
  "headline": "Startup launches new AI research platform - Example News",
  "googleNewsUrl": "https://news.google.com/rss/articles/...",
  "articleUrl": "https://example.com/technology/ai-research-platform",
  "outletName": "Example News",
  "outletUrl": "https://example.com/",
  "publicationDomain": "example.com",
  "journalistName": "Alex Rivera",
  "authorProfileUrl": "https://example.com/authors/alex-rivera",
  "publishedAt": "2026-08-11T10:00:00.000Z",
  "publicEmails": ["newsroom@example.com"],
  "primaryEmail": "newsroom@example.com",
  "socialLinks": ["https://www.linkedin.com/company/example-news"],
  "contactSourceUrls": ["https://example.com/contact"],
  "contactConfidence": "author_or_contact_page",
  "status": "found",
  "error": null,
  "collectedAt": "2026-08-11T21:30:00.000Z"
}

The output schema also includes the Google News snippet and explicit diagnostics for article-specific failures. The RUN_SUMMARY key-value-store record reports query coverage, saved rows, contacts found, no-contact rows, unavailable pages, and bounded errors.

Status and contact semantics

  • found: at least one public email was found on an inspected page.
  • no_public_contact: the article or outlet was accessible, but no public email was visible.
  • article_unavailable: the publisher article could not be resolved or fetched within the bounded attempt.
  • article_page: the email appeared directly on the resolved article page.
  • author_or_contact_page: the email appeared on a linked author, press, newsroom, staff, or contact page.
  • none: no public email was found.

A missing email is not a failed run. Many publishers intentionally expose a contact form or social profile instead of an address.

API usage

cURL

curl -X POST "https://api.apify.com/v2/acts/fetch_cat~google-news-journalist-lead-finder/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"queries":["cybersecurity startups"],"maxArticlesPerQuery":5,"freshnessDays":14}'

JavaScript

import { ApifyClient } from 'apify-client';

const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('fetch_cat/google-news-journalist-lead-finder').call({
  queries: ['cybersecurity startups'],
  maxArticlesPerQuery: 10,
  freshnessDays: 14,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

Python

from apify_client import ApifyClient
import os

client = ApifyClient(os.environ["APIFY_TOKEN"])
run = client.actor("fetch_cat/google-news-journalist-lead-finder").call(run_input={
    "queries": ["cybersecurity startups"],
    "maxArticlesPerQuery": 10,
    "freshnessDays": 14,
})
items = client.dataset(run["defaultDatasetId"]).list_items().items
print(items)

MCP and agent use

The Actor exposes input, output, and dataset schemas, so agents can discover its fields and call it through the official Apify MCP server. For example, add the server to Claude Code:

claude mcp add --transport http apify "https://mcp.apify.com?tools=fetch_cat/google-news-journalist-lead-finder"

Then ask your MCP client to run the Actor and inspect its dataset. Example configuration for clients that use JSON:

{
  "mcpServers": {
    "apify": {
      "url": "https://mcp.apify.com?tools=fetch_cat/google-news-journalist-lead-finder",
      "headers": {
        "Authorization": "Bearer YOUR_APIFY_TOKEN"
      }
    }
  }
}

Example prompts:

  • "Find media leads covering European climate-tech funding in the last 14 days and group them by publication."
  • "Run the Google News Journalist Lead Finder for AI security, keep rows with a journalist name or public email, and prepare a review sheet."
  • "Schedule a weekly media-list refresh for warehouse robotics and summarize newly found outlets."

Practical limit and data availability

  • Google News RSS and publisher pages can change independently.
  • Some publishers block automation, require consent, render author data only in JavaScript, or expose contact forms instead of emails.
  • Search resolution is best effort and bounded by the shared deadline.
  • The Actor does not guess private addresses, bypass paywalls, or claim that a public newsroom email belongs to a specific journalist.
  • Review source URLs before outreach, follow applicable laws and site terms, and honor opt-outs.
  • For recurring monitoring, schedule moderate runs and deduplicate downstream by articleUrl or googleNewsUrl.

Support

Open an issue from the Actor page and include the run ID or run URL, full input JSON, expected output, actual output, and one reproducible public URL. Do not post tokens, private CRM data, or personal credentials.

Common questions

Questions and answers reused from the canonical actor README.

What data can I export with this journalist email finder?

You can export headlines, publication dates, outlet names and domains, journalist names, public emails, social profiles, article URLs, and exact contact-evidence URLs as JSON, CSV, Excel, or API output.

Can I run Google News Journalist & Media Lead Finder through an API, schedule, or MCP client?

Yes. Run it through the Apify API, save recurring schedules, or call it as an MCP tool; each method accepts the same Actor input and returns the same dataset fields.

How much does it cost to use Google News Journalist & Media Lead Finder?

The Actor charges one start event per run and one result event per saved row. See the Pricing and limits section above for current event prices and example totals.

Does every row contain a journalist email?

No. The Actor returns public evidence only. It may find a journalist name without an email, an outlet newsroom address without a named journalist, social links only, or no public contact at all.

Why keep no-contact rows?

They preserve coverage, prevent repeated work, and still provide useful article, outlet, author, and publication-domain fields. Disable includeNoContact if you only want rows containing a public email.