Journalist Request Feed – #JournoRequest Source Call-outs avatar

Journalist Request Feed – #JournoRequest Source Call-outs

Pricing

from $3.00 / 1,000 journalist requests

Go to Apify Store
Journalist Request Feed – #JournoRequest Source Call-outs

Journalist Request Feed – #JournoRequest Source Call-outs

Get journalist source requests (#JournoRequest, #PRrequest) from Bluesky with deadline, outlet, requester, topic and how to respond. Keyword alerts, only-new mode for daily schedules, no login. $3 per 1,000 requests.

Pricing

from $3.00 / 1,000 journalist requests

Rating

0.0

(0)

Developer

Cemal Atakli

Cemal Atakli

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Categories

Share

Journalist Request Feed: #JournoRequest & #PRrequest source call-outs from Bluesky

Get journalist source requests (#JournoRequest, #PRrequest, #journorequests, #mediarequest, #seekingsources) from Bluesky as clean, structured rows. Each row has the topic, outlet, deadline, requester and how to respond. Schedule it daily with "Only new requests" and you get just the fresh call-outs, so it works as a free-standing HARO / Qwoted-style alert feed for PR people, founders and expert sources.

  • No login, no API key. It uses Bluesky's official public AppView API (app.bsky.feed.searchPosts).
  • Parsed fields: deadline text plus a resolved date, outlet (The Guardian, i Paper, Newsweek, Metro…), topic, category (expert / case study / product / recommendation), and respond method (link / email / DM / reply).
  • Keyword alerts: keep only requests that mention your niche (e.g. mortgage, nutritionist, Guardian).
  • Dedupe across runs: a key-value store remembers what you already received for 90 days. Duplicates, already-seen and filtered posts are never charged.
  • Junk filtered: round-up digests, press releases, "expert available" pitches and spam that use the hashtags are skipped.

Be aware: volume is honest, not huge

Bluesky is the only source. Most #JournoRequest traffic is still on X/Twitter and in paid platforms, which this Actor does not scrape. On Bluesky the hashtags carry about 4–8 genuine requests per day (roughly 120–200 a month), mostly UK national press, women's magazines and consumer/finance desks. Around half are re-posted by aggregators (The Source Radar, Media Matchmaker, Synapse) with a link to the full brief.

Anonymous Bluesky search returns the newest ~100 posts per hashtag. For #JournoRequest that is about 3 weeks, so a daily or hourly schedule never misses anything.

Use cases

  • PR agencies & freelancers: a morning digest of new media opportunities for your clients' topics.
  • Founders & experts: get press coverage by answering call-outs in your niche (keyword filter + daily schedule + email/Slack integration).
  • Newsrooms & researchers: track what journalists are asking for and which outlets are most active.
  • AI agents: feed new opportunities into an agent that drafts pitches (see the MCP section).

Input example

{
"hashtags": ["journorequest", "journorequests", "prrequest", "mediarequest", "seekingsources", "journalistrequest"],
"keywords": ["mortgage", "finance", "money"],
"lookbackDays": 7,
"onlyNew": true,
"stateName": "finance-alerts",
"skipExpired": true
}
FieldWhat it does
hashtagsTags to watch (default: the 6 with real volume on Bluesky)
keywords / excludeKeywordsKeep / drop requests by words in text, outlet or requester
lookbackDaysOnly posts from the last N days (1–60)
onlyNew + stateNameReturn only requests not seen in earlier runs with the same state name
includeAggregatorsInclude The Source Radar / Media Matchmaker / Synapse re-posts
skipNonRequestsSkip digests, press releases and self-promotion (default on)
skipExpiredSkip requests whose parsed deadline is already past
languagese.g. ["en"]
searchQueriesExtra free-text searches, e.g. "looking for case studies"
maxRequestsCap per run

Output example

{
"topic": "Expert comment on sim-swap fraud",
"outlet": "The Sun",
"deadline": "23 Oct, 18:00",
"deadlineDate": "2026-10-23",
"deadlinePassed": false,
"isUrgent": false,
"requestCategory": "expert",
"postType": "request",
"requesterHandle": "thesourceradar.bsky.social",
"requesterProfileUrl": "https://bsky.app/profile/thesourceradar.bsky.social",
"isAggregator": true,
"aggregatorName": "The Source Radar",
"respondMethod": "link",
"respondUrl": "https://www.thesourceradar.com/r/…",
"respondEmail": null,
"text": "Wanted right now: Expert comment on sim-swap fraud (The Sun). Deadline 23 Oct, 18:00. …",
"hashtags": ["journorequest"],
"matchedKeywords": [],
"postedAt": "2026-10-22T16:30:29+00:00",
"postUrl": "https://bsky.app/profile/thesourceradar.bsky.social/post/…"
}

Other fields: requesterName, requesterDid, requesterAvatar, respondDmUrl, links, matchedHashtags, foundBy, language, likeCount, repostCount, replyCount, postUri, scrapedAt. The OUTPUT record in the key-value store holds a run summary with counts of what was skipped and why.

Parsing is heuristic. Deadlines are found from phrases like "Deadline 31 Oct", "by Friday" or "12/23 8AM PT" and resolved relative to the post date. Outlet is detected from 200+ known titles and phrases like "for a national women's health mag". When nothing is found the field is null, and the full post text is always included.

Pricing

Pay per event: $0.003 per journalist request saved ($3 per 1,000). Duplicates, already-seen requests (with onlyNew) and filtered posts are free. A typical daily scheduled run returns 3–10 new requests, so it costs about $0.01–0.03 per day. The run stops cleanly at your maximum total charge.

ActorSourcesPrice
This ActorBluesky (public API)$0.003 / request
fayoussef/journalist-request-finderSourceBottle + others$0.002 / request

We deliberately do not use SourceBottle (its terms prohibit reproducing call-outs) or X/Twitter scraping.

Use with AI agents / Apify MCP

The Actor works as a tool in the Apify MCP server (Claude, Cursor, ChatGPT and other MCP clients). Example prompt: "Run journalist-request-feed with keywords ['cybersecurity'] and onlyNew true, then draft a two-line pitch for each request." The output is flat JSON with an explicit respondMethod, so agents can route each request to email, link or DM without further parsing.

FAQ

Why so few results? Bluesky carries only a few call-outs a day. Use a longer lookbackDays (up to ~21 days is reachable) or remove keyword filters. An empty run on a quiet day costs nothing beyond the platform's small compute.

How does "Only new" work? Each request saved is remembered (post URI + text fingerprint) in the named key-value store journalist-request-feed-state under SEEN-<stateName> for 90 days. Use a separate stateName per schedule.

Do I need a Bluesky account? No.

Is this allowed? It reads public posts through Bluesky's official API, follows the Bluesky developer guidelines (paced requests, descriptive User-Agent, back-off on rate limits), and skips accounts that opted out of logged-out visibility (!no-unauthenticated). It is read-only and never posts, likes or messages. Please reply to journalists only with relevant pitches.

Why is a post marked as a digest/promo? The classifier uses wording patterns (round-ups, "expert available", press releases). Set skipNonRequests to false to see everything with its postType.