Browser

building-journalist-outreach-list-from-twitter

Try it

Builds targeted journalist and media contact lists from Twitter/X using apidojo's Twitter scrapers on Apify. Triggers when the user asks to: find journalists covering a specific beat or topic on Twitter, build a media outreach list from Twitter, identify reporters writing about an industry, find editors or writers at specific publications on X, create a PR contact list from Twitter, discover freelance journalists in a niche, or compile a list of media contacts for a press release or story pitch. Returns name, handle, publication affiliation from bio, follower count, and recent article topics. Ideal for PR agencies, startup communications teams, and founders doing press outreach.

What it does

Building a Journalist Outreach List from Twitter

The skill document

Building a Journalist Outreach List from Twitter

Finds journalists and media professionals on Twitter/X who cover a specific beat, industry, or topic. Journalists are the heaviest users of Twitter for professional networking — it's the best platform to build a media contact list.

Prerequisites

  • APIFY_TOKEN environment variable set
  • Optional: Apify MCP server installed

Inputs

ParameterTypeRequiredDefaultNotes
startUrlsarrayOptional[]Twitter profile or tweet URLs
twitterHandlesarrayOptional[]Twitter usernames (without @)
twitterUserIdsarrayOptional[]Twitter user IDs
getFollowersbooleanOptionalfalseExtract follower lists
getFollowingbooleanOptionalfalseExtract following lists
getRetweetersbooleanOptionalfalseExtract retweeters of a tweet URL
includeUnavailableUsersbooleanOptionalfalseInclude unavailable/suspended users
maxItemsnumberOptionalUnlimitedMaximum users to return
customMapFunctionstringOptional—JavaScript function to transform each output object

Workflow

Progress:
- [ ] Step 1: Define beat, industry, and target publications
- [ ] Step 2: Search for journalists tweeting about the beat
- [ ] Step 3: Enrich profiles to extract publication affiliation
- [ ] Step 4: Filter and verify journalist signals
- [ ] Step 5: Deliver press contact list

Step 1: Clarify Parameters

Ask the user for:

  • Beat/topic (e.g., "artificial intelligence", "climate tech", "fintech", "B2B SaaS")
  • Target publications (optional — e.g., "TechCrunch", "Forbes", "Wired", "any tier-1 tech media")
  • Type — staff writers, freelancers, or both
  • Geography (optional — US, UK, global)
  • List size (default: 30 contacts)

Step 2: Search for Beat-Relevant Tweets

Find journalists actively tweeting about the beat — recency of coverage matters for outreach.

Recommended — run_actor.js (handles waiting, output, and file saving automatically):

# Quick answer (prints table to chat)
node scripts/run_actor.js \
  --actor "apidojo~twitter-user-scraper" \
  --input '{"param": "value"}'

# Save as CSV
node scripts/run_actor.js \
  --actor "apidojo~twitter-user-scraper" \
  --input '{"param": "value"}' \
  --output YYYY-MM-DD_results.csv --format csv

# Save as JSON
node scripts/run_actor.js \
  --actor "apidojo~twitter-user-scraper" \
  --input '{"param": "value"}' \
  --output YYYY-MM-DD_results.json --format json

APIFY_TOKEN must be set in environment or .env file.

If Apify MCP is available:

Tool: apify:run-actor
Actor: "apidojo~tweet-scraper"
Input:
{
  "searchTerms": [
    "[TOPIC] journalist",
    "[TOPIC] reporter",
    "writing about [TOPIC]",
    "[TOPIC] story [current year]"
  ],
  "maxItems": 300,
  "tweetLanguage": "en"
}

Also run a second query for article link tweets (journalists tweet their published work):

Input:
{
  "searchTerms": ["[TOPIC] [publication_domain OR article link signal]"],
  "maxItems": 200
}

REST API fallback:

curl -X POST \
  "https://api.apify.com/v2/acts/apidojo~tweet-scraper/runs?token=$APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "searchTerms": ["[TOPIC] journalist", "[TOPIC] reporter", "writing about [TOPIC]"],
    "maxItems": 300
  }'

Collect unique author usernames from all results.

Step 3: Enrich Profiles

If Apify MCP is available:

Tool: apify:run-actor
Actor: "apidojo~twitter-user-scraper"
Input:
{
  "usernames": ["[username1]", "...", "up to 150 usernames"]
}

REST API fallback:

curl -X POST \
  "https://api.apify.com/v2/acts/apidojo~twitter-user-scraper/runs?token=$APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"usernames": ["[username1]", "[username2]"]}'

Step 4: Filter for Journalist Signals

Keep accounts where bio contains ANY of:

  • Publication names (e.g., "TechCrunch", "@Forbes", "Bloomberg", "@Wired")
  • Journalist titles: "reporter", "journalist", "editor", "correspondent", "writer at", "staff writer", "freelance writer", "contributing editor"
  • Byline signals: "bylines at", "writes for", "covering"
  • Press credentials: "press", "media"

Follower range: 1,000–500,000 (removes complete unknowns and major TV anchors who don't respond to pitches)

Remove: PR/comms people (bio says "PR", "communications", "agency"), brand accounts, academics without journalist credentials.

Step 5: Format Output

Output Format

# Journalist Outreach List: [BEAT/TOPIC]
Contacts found: [N] | Publication filter: [if any] | Date: [DATE]

## Contact List

| # | Name | @Handle | Publication | Beat | Followers | Recent Coverage |
|---|------|---------|-------------|------|-----------|-----------------|
| 1 | [name] | @[handle] | [pub] | [beat] | [N] | [recent tweet/article topic] |

## By Publication

### [Publication Name] ([N] contacts)
1. **[Name]** (@[handle]) — [title from bio] | [N] followers
   Recent tweet: "[excerpt showing beat relevance]"

2. **[Name]** (@[handle]) — [title] | [N] followers

### Freelancers / Independent ([N] contacts)
1. **[Name]** (@[handle]) — writes for [pubs mentioned in bio] | [N] followers

## Pitch Angle Notes
Based on recent tweets, the top 5 contacts are actively covering:
1. @[handle]: recently tweeted about [specific topic] — pitch angle: [suggestion]
2. @[handle]: covering [topic] — pitch angle: [suggestion]

Personalization Tip

Before pitching, read the journalist's last 3 tweets and their most recent published article. Reference something specific. Generic pitches fail. The recent tweet data in this output enables that personalization without additional research.

Troubleshooting

Too many non-journalists in results: Strengthen bio filter — require "reporter" OR "journalist" OR "editor" as exact words, not just a publication name. Can't find journalists for obscure beats: Widen the search to adjacent beats or try the publication name directly as a search term. Follower counts seem stale: For final outreach list, spot-check the top 10 contacts directly on Twitter.

Related skills

Fetch raw ad creative, app, ranking, and revenue data from AdMapix as structured JSON.

by fly0pants4.3k installs296 stars

Generate and edit Draw.io, Mermaid, and Excalidraw diagrams from natural language using a structured JSON spec.

by nssa.io1.0k installs47 stars

Join a video meeting as an AI bot with voice, avatar, and screenshare across four operating modes.

by johnpatternai22 installs8 stars

Stores durable facts in a categorized, plain-markdown vault on disk, alongside your agent's built-in memory.

by Iván559 installs18 stars

Find why your productivity system keeps failing, then apply the smallest fix — capacity math, bottleneck routing, durable local notes.

by Iván855 installs69 stars

More from apidojo-io

Browse all skills

Identifies and tracks thought leaders and key voices in any industry on Twitter/X using apidojo's scrapers. Triggers when the user asks to: find the top voices in an industry on Twitter, identify thought leaders in a niche, discover who has the most influence in a topic area on X, find experts tweeting about a subject, build a list of influencers to engage with on Twitter, track who is gaining followers fastest in a category, or identify key opinion leaders in a field for PR or partnership outreach. Returns name, handle, follower count, engagement rate, bio keywords, and recent top tweets. Ideal for PR teams, community managers, and B2B content marketers.

by apidojo-io1 installs

Builds targeted B2B prospect lists from Twitter/X profiles and posts using apidojo's Twitter scrapers on Apify. Triggers when the user asks to: find Twitter users with a specific job title or keyword in bio, build a list of founders or executives on Twitter, find people tweeting about a topic for outreach, identify potential customers on X, scrape Twitter profiles matching an ICP description, find decision-makers in a specific industry on Twitter, or export a list of leads from Twitter bios. Returns name, username, bio, follower count, location, and recent tweet samples per prospect. Ideal for B2B SDRs, growth hackers, founder-led sales teams, and partnership managers.

by apidojo-io1 installs

Extracts and analyzes TikTok comments from any video or creator using apidojo's TikTok Comments scraper on Apify. Triggers when the user asks to: scrape TikTok comments from a video, analyze what viewers say about a TikTok post, extract comment data for sentiment analysis, find top comments on a viral TikTok video, collect TikTok user feedback from comments, build a dataset of TikTok community reactions, study audience sentiment on TikTok content, or research what a target audience cares about from TikTok comments. Returns commenter username, comment text, likes on comment, reply count, and timestamp. Ideal for market researchers, brand managers, content creators, and academic researchers.

by apidojo-io1 installs

Finds trending Twitter topics and conversations for content ideation using apidojo's Twitter scrapers on Apify. Triggers when the user asks to: find trending topics on Twitter for content, discover what is being discussed in a niche on X right now, identify Twitter conversations to join with content, find trending hashtags in an industry on Twitter, research what topics are generating engagement in a space on X, discover viral tweet themes for blog or video content, or find what your target audience is talking about on Twitter this week. Returns trending topics, tweet volume signals, top engagement posts, and content angle suggestions. Ideal for content marketers, social media managers, newsletter writers, and real-time content teams.

by apidojo-io1 installs

Finds YouTube micro-influencers and niche creators using apidojo's YouTube scraper on Apify. Triggers when the user asks to: find YouTube channels under 100k subscribers in a niche, discover emerging YouTube creators for sponsorship deals, find YouTubers covering a specific topic, identify high-engagement YouTube channels with smaller audiences, build a YouTube influencer outreach list, compare YouTube channel growth rates in a category, or find YouTube channels for affiliate or brand partnership programs. Returns channel name, subscriber count, total views, average views per video, and contact info. Ideal for brand sponsors, podcast networks, and affiliate marketing teams.

by apidojo-io1 installs

Finds YouTube channels suitable for brand sponsorships using apidojo's YouTube scraper on Apify. Triggers when the user asks to: find YouTube channels to sponsor, discover YouTubers who accept brand deals in a niche, identify YouTube influencers for mid-roll or integration sponsorships, find channels that already run sponsors in a product category, research YouTube sponsorship opportunities for a brand, identify high-CPM YouTube audiences for B2B or SaaS sponsorships, or build a YouTube outreach list for a sponsorship campaign. Returns channel name, subscriber count, avg views, engagement rate, niche, and sponsorship history. Ideal for brand partnerships managers, SaaS marketing teams, and sponsorship agencies.

by apidojo-io1 installs