Journalist and Media List Builder avatar

Journalist and Media List Builder

Pricing

from $6.80 / 1,000 journalist returneds

Go to Apify Store
Journalist and Media List Builder

Journalist and Media List Builder

Build a media list from the news. Enter your beats or topics and get the journalists who wrote about them recently: name, outlet, author page, matching article count, latest article, and the article links as proof. Press release wires left out. No key needed. Clay ready.

Pricing

from $6.80 / 1,000 journalist returneds

Rating

0.0

(0)

Developer

Mamba Labs

Mamba Labs

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

5 hours ago

Last modified

Share

Build a media list from what journalists actually wrote. Enter the beats or topics you want press for, such as "sales automation" or fintech funding, and get one row per journalist and outlet: the name from the byline, the outlet, their author page, how many matching articles they wrote, their latest one, and the article links as proof.

Bought by PR agencies, founders, and comms teams who want reporters who covered the topic in the last weeks, not a stale database export.

Rows are flat and snake_case, so they load straight into a spreadsheet, a CRM, or a Clay table.

✨ Features

  • Topics in, journalists out. Up to 20 topics per run. Google News search words work, such as quotes for an exact phrase and OR.
  • Read from the byline. Each article page is read for its author: the article's structured data first, then the author meta tag, then author links. A name is kept only when it reads as a person.
  • Proof on every row. The matching article count, the newest article with its date, and up to 10 article links.
  • Author page and X handle when the article page links them.
  • Press release wires left out by default, because their author is the company issuing the release.
  • Outlet filters. Keep only the outlets you pitch, or leave out ones you never pitch.
  • No key, no login.

🔧 How it works

  1. This actor starts the Mamba Labs News and Media Mention Monitor (Actor ID gol1PPUKrsIk4QLBd) on your Apify account with your topics. It returns the newest articles for each topic with the publisher's own URL.
  2. Each article page is read once, with robots.txt honored, and its byline is extracted.
  3. Bylines are grouped by journalist and outlet, counted, and sorted: most matching articles first, then the newest.

📥 Input

FieldTypeDescription
topicslist1 to 20 topics or beats. Required
since_daysstringDays back, 1 to 90. Default 30
countrystringGoogle News country edition, two letters. Default US
languagestringLanguage code. Default en
outlets_includelistOnly these outlet domains
outlets_excludelistNever these outlet domains
include_press_releasesstringfalse (default) or true
min_articlesstringLeast matching articles per journalist, 1 to 20. Default 1
max_articles_per_topicstringNewest articles read per topic, 1 to 100. Default 30
max_journalistsstringMost journalist rows, 1 to 500. Default 50
max_charge_usdstringOptional cap on the whole run, the news run included

Example:

{ "topics": ["\"sales automation\"", "\"revenue operations\""], "since_days": "30", "min_articles": "1" }

📤 Output

One row per journalist and outlet. Every row carries every field; a field that does not apply is null.

FieldExampleNotes
journalist_nameRamin SkibbaFrom the article byline
outlet, outlet_domainThe Guardian, theguardian.comThe same name at two outlets is two rows
author_page_urlhttps://www.theguardian.com/profile/ramin-skibbaWhen the article links it
x_handle@dannyvenaWhen the article page names it for this author
article_count2Matching articles with this byline at this outlet
latest_article_title, latest_article_url, latest_published_atTheir newest matching article
topics_matched["\"sales automation\""]Which of your topics found them
article_urlsUp to 10 matching articles, newest first
byline_sourcejsonldjsonld, meta, or rel_author
news_run_idThe news run this actor started, for audit
row_type, row_statusjournalist, ok
billable_events_json{"journalist-row":1}What the row was billed as; {} is free
since_days, country, language, source, checked_at

When a run returns no journalist, it returns one free summary row instead, with the article, page, and byline counts and the reason.

Emails are not returned. To find a journalist's work email, pass journalist_name and outlet_domain to an email finder on your own key.

📏 Measured results

Measured on the private build on 2026-10-28, before launch:

RunTopicsArticles foundArticle pages readNamed a journalistJournalist rows
Three topics ("sales automation", "revenue operations", fintech funding), 30 days, 30 articles each362492116
Five company and topic terms, 14 days (byline check on the article list)587653133

On the three topic run that is about 3.9 articles read per journalist row, so the run cost at the free plan prices was 16 journalist rows plus 62 articles from the news run plus the two start fees. Press release wires were left out of both (4 and 5 articles).

💵 Pricing

Pay per event. You pay for each journalist returned and a small start fee per run. The articles come from the News and Media Mention Monitor run this actor starts on your Apify account, which charges its own price per article read.

EventFree planBronzeSilverGold
Journalist returned (journalist-row), per journalist and outlet$0.008 ($8.00 per 1,000)$0.0076 ($7.60 per 1,000)$0.0072 ($7.20 per 1,000)$0.0068 ($6.80 per 1,000)
Actor start (apify-actor-start), per run$0.0025$0.0025$0.0025$0.0025
Article from the news run (article-row), per article read$0.0023$0.002185$0.00207$0.001955
News run start (apify-actor-start), per run$0.0015$0.0015$0.0015$0.0015
  • About half of news article pages name a journalist in their markup, so expect roughly 2 to 3 articles per journalist row. See the measured numbers above. max_articles_per_topic sets how many articles are read, and so the news run's cost.
  • A summary row is free, and so is the row for a refused input; the start fee is charged on every run that starts.
  • max_charge_usd covers both actors: up to 60 percent goes to the news run, always leaving room for one journalist row, and the run stops before the total would pass it. A cap too small for one article and one journalist row starts no news run and returns one free summary row. A run also stops at the maximum cost per run you set in Apify.
  • Free Apify plan: 1.50 USD of evaluation a month for this actor, which is 188 journalists at the free plan price. Any paid Apify plan removes the cap.
  • The events above are all you pay. Mamba Labs pays the platform costs of your run, Apify proxy traffic included.

🚀 Usage examples

Reporters on your beat this month.

{ "topics": ["\"sales automation\"", "\"sales tech\" startup"], "since_days": "30", "max_journalists": "40" }

Only repeat writers at the outlets you pitch.

{ "topics": ["fintech funding"], "outlets_include": ["techcrunch.com", "fintechfutures.com", "finextra.com"], "min_articles": "2" }

Clay. Call the actor from a Clay column with a topic column mapped to topics. Clay sends every field as a string, which this actor accepts.

API. POST https://api.apify.com/v2/acts/mambalabs~journalist-media-list-builder/runs with the input above, then read the default dataset.

MCP. The @mambalabsdev/mcp-journalist-media-list-builder server exposes the tool find_journalists to AI agents.

⚠️ Error handling

SituationWhat you get
Input with no usable topic, or a value of the wrong kindOne free row, row_status error, error_reason starting with input_invalid:. The run succeeds and no news run starts. No journalist is charged; the run start fee applies, because Apify charges it when the run starts. A missing or empty topics list gets the same row
No article matchedOne free summary row, no_results
Google News did not answerOne free summary row, blocked
Articles were read but none named a journalistOne free summary row, no_results, with the counts
The news run did not succeed, or refused its inputOne free summary row, error, starting with stage_failed: and naming the run
An article page refuses or does not answerThat article is skipped; the run goes on

⚠️ Limitations

  • About half of news pages carry a byline in their markup. Paywalled pages, pages that block automated reads, and pages that print the byline only as plain text are skipped.
  • A journalist who wrote about your topic outside Google News's newest 100 articles per topic is missed.
  • Emails and phone numbers are not returned.
  • Agency and wire bylines (Reuters, Associated Press, staff and desk labels) are left out on purpose.
  • The same person at two outlets is two rows, because you pitch a person at an outlet.

🧩 Want other GTM data?

Mamba Labs builds custom actors for B2B go-to-market teams. The public versions of that work live here on the Store.

ActorActor ID
Account Hiring WatchgRAZA5WBi1r6L0gy7
Agent Accessibility AuditoranxbRv0lKrpQ1pnua
Agent to Brokerage ResolverePRRGLxOGyaVHO4dI
AI Tooling DetectorEwkHhmqiuJgRoVEbE
B2B Reddit Conversation MonitorSoDryzzsjmY3SsiyG
Bluesky Brand Presence MappereLpxzP4IuXznlFVND
Career Change Signal EnginevX2Yga1a6wGaXaP14
Company Change Event FeedoX44rS0fkEJ3rXLWe
Company Contact Details Extractor4mMncKaJykiq94grz
Company Discovery List Builderjch0HdaZnpbMqlcGS
Company Firmographic EnricherYlUtLWjfPpqykmB8g
Company Funding RecordOFS4Mt1gyYNtGfUbE
Company Headcount EstimatoraHC4GROnNt6kfZe5r
Company Identity Resolverlr8fTRAmZCBZmuwwh
Company Social Presence Mapper4k6CCemkgBDz18m2h
Competitor Price, Stock, and Changelog MonitoryxdgCbUQ4PYQWwRNU
Contact Classifier0lGSeYJmniXhGANnO
Contractor License LookupWBYK3CPI2kdeq4bP1
Cookie Consent AuditTrKyOS0KBoGC35nbr
Domain Deliverability Checker0tVgxI7A6o9jMlxmc
Domain to LinkedIn URL Resolver3HtnSaqPHOg1Qg5gx
Ecommerce Platform Profiler5G2NeYjBbQTjaTn9L
Ecommerce Store DiscoveryPeHu4sLyFvQHXUUrX
Event Presence IndexWLhMy8fMDgsxdYxv5
Expert Witness DirectoryLIpwlgfE3LaQBaXd4
Funding and Press Signal ScannerFS13X6dhQVgX3XOM6
GitHub Organization Signal ScannerahF8RRpv5mzPao5CN
Google Ads Transparency Monitor1eOwxhBVxzvOXAm4s
Government Contract Award MonitorzhEtllASykOcx9hJ8
GTM Hiring Signal ScraperD7O1SA2EqwHGsGr1P
GTM Signals AggregatorxKdRfnfFNkdMpFuNs
ICP Fit ScorerW161DT8W4kW55dMFh
Influencer Change Monitord2VVgahNL6UmcLkhg
Influencer FindertpkedmloIIWtXx6sg
Influencer Lead List BuilderKnmByszcv135yM30G
Influencer Profile ScraperEqEnklDVMIcB1V499
Influencer Talent Agency LookupzCuX4Mgyg6JvXgGzd
Instagram Facebook Brand Presence MapperHXh65I0JBjPsunbY8
Integration and Marketplace Presence MapperV0guNuvM85Q61f2gj
Job Board Keyword Signal Scanner4DvqpvhMR74NLcDDY
Job Change TrackerL8UbEmMJC1XYPSZOb
Job Posting MonitorQCfICD9kOPiOdj5iI
Legal Entity ResolverKHFyPCDIx7CyqULYm
Link in Bio Scraper and Newsletter DetectorOorucdheTIgu7RFzK
LinkedIn Company Page MapperzOPm6A9JEhUGcIdFW
LinkedIn Post TrackeroiGLNPuaf5BRaz9K5
Local Business Lead BuilderqMN97aoHhsAS5bznV
Local Rank and Map Pack Trackergv0kyHGDIg8XscclB
Lookalike Company Findere2O426WBAbLLQL4Z2
Manufacturer and Supplier FinderQcsdmd0lUfPzVkonh
Meta Ad Library MonitorJ1GWlSXfSGU3u8Wng
Mobile Phone Waterfall6OOgPktf7RIa5XCOP
New Company Registrations Feedg2WfZhWvCtc57g2Jo
New Hire FindercKuc38p4nYHNF3IW8
Newsletter Sponsor TrackerqSwpqxD1TiPZpLQHv
Open Tender and RFP FinderkPTGz6t6TFoUUyfaO
Outbound Stack Detectorv43UJC8r7qW7cBSTG
Page Finder and ExtractorTpurgcOZbVnknlaiC
Partner and Member Directory ExtractorZX0XJPPUvnFJxeC1a
People Finder & Email VerifierLEgloG7tWgQl4o6TD
Person LinkedIn URL ResolverssuyPV8LnEsL8qbnb
Person Social Footprint MapperjfQXa2zW9FHCJot9K
Personal Email to Company ResolverAefT5Ye6YNPFQwJBf
Pinterest Brand Presence Mapperd1HvjZfKhgvWsoEwn
Podcast Guest and Host Findero2MGSvgbSLeeXOsIo
Prospect Engineq9rT6v64nUJdPexOQ
Public Feature Board and Roadmap MonitorrcHF5gj5r2Vqnry35
Publishing Frequency TrackerTbLwaUUATdYb6wp4N
Reddit Brand Presence MapperpKQZmDaT70SEb54bZ
Reporting Window FinderuINxR7a1IW8qUTRUX
Sequencer Event PollerS6s8Rjd61tGdrMRk4
Sequencer Lead Push0Jv27VeWM5tSZQs9x
Team Page People Extractorj8a9zX0k4mNbvDbWK
Tech Stack Signal Detectorqyd7nNyqFPelQViBx
TikTok Brand Presence Mapperfco8FvoJcSafbeyd1
Trustpilot Reputation Enricher3lIqfCt61j4hqE1xz
VC and Accelerator Portfolio List BuilderchH8hrfuoqqolW06m
WCAG Accessibility AuditP3jBj3FRghKEhX52z
Website Phrase and Business Model ClassifierCBuZ9k7sRwBeiKiCS
Website Traffic Rank EstimatorGnOFUzlNVIoXgeJjH
Work Email WaterfallOT6xqTFThC0Rjf7Zj
Workplace Program DetectorLi6pPDhqbdzFz3h7G
X Brand Presence MapperoLOgadhHUkNAyDA3w
YouTube Channel Stats Extractor6hSpD3kd2s2IQ4VSs

Every actor in the suite takes a domain, a company, or a person and returns flat rows, so they stack in the same table without reshaping anything.

🛠️ Need something custom built? Talk to Mamba Labs.

🆘 Support

Found a bug? Open an issue on the Issues tab. Response time is typically within 48 hours.

ℹ️ Sourcing. Articles come from public Google News pages through the Mamba Labs News and Media Mention Monitor; bylines come from each article's own public page, read directly with robots.txt honored. No key, no login. You are responsible for how you use the output.

Built by Mamba Labs.