Journalist Request Monitor: #JournoRequest Alerts avatar

Journalist Request Monitor: #JournoRequest Alerts

Pricing

from $0.90 / 1,000 request matcheds

Go to Apify Store
Journalist Request Monitor: #JournoRequest Alerts

Journalist Request Monitor: #JournoRequest Alerts

New #JournoRequest and #PRrequest source requests from public Bluesky and Mastodon posts by topic, with outlet and deadline where the post states them, and a monitoring mode that only returns and bills for requests new since your last run.

Pricing

from $0.90 / 1,000 request matcheds

Rating

0.0

(0)

Developer

Adriana Voss

Adriana Voss

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Share

Get new #JournoRequest and #PRrequest source requests from public Bluesky and Mastodon posts, with the outlet and deadline when the post names them. One row per request, newest first, filtered to your beat. Turn on monitoring mode and run it on a schedule to get only the requests that are new since your last run, charged per request and free on a quiet day.

Who uses it: PR and comms teams and freelance experts who answer journalist source requests, agencies tracking a client's beat, and newsletter or lead-gen builders who want a feed of live media opportunities.

What it does not do: it reads public posts only. It does not log in, does not read direct messages, and returns the public handle of the poster, never a bio or display name. Outlet and deadline are read from the post text, so they are empty when the post does not state them (many requests name neither). Deadline times carry no time zone, because the posts carry none.

How to use

  1. In the Apify Console. Open the actor page and click Start — the hashtags field is already pre-filled with a working example. Results land in the run's dataset as soon as each item is found.
  2. Via the API. Call it directly with a POST request — no Console needed once you have an API token:
    curl "https://api.apify.com/v2/acts/accountable_eel~journalist-request-monitor/run-sync-get-dataset-items?token=<YOUR_TOKEN>" \
    -X POST \
    -H "Content-Type: application/json" \
    -d '{"hashtags":["journorequest","prrequest"]}'
  3. On a schedule. Save this actor as an Apify Task with the input you want, then add a Schedule (hourly, daily, weekly) so it runs on its own — no server of your own required.

Input

{
"hashtags": [
"journorequest",
"prrequest"
]
}

One hashtag per line, without the #. Journalists post source requests under #JournoRequest and PR people under #PRrequest. Leave empty to watch both. Narrow by beat with the Topics field below. Accepted formats: journorequest, prrequest, journorequests.

One combined search runs per call: every hashtag on every network you pick is read, de-duplicated, then filtered. The Topics field keeps only requests whose text or outlet mentions one of your words (for example climate or fintech). Replies and reposts are ignored. Topic filters run before the monitoring memory is written, so widening a filter later still delivers what it had hidden. Bluesky carries most requests; Mastodon (mastodon.social) is quieter. The search run itself is free; you are billed per request actually returned.

Output

One row per request, for example:

queryfoundstatussearchSummaryrequestCounttruncatedincompleteSourcesmonitorStatusrequestssourcerequestTextoutletdeadlinedeadlineTimedeadlinePassedhashtagsbriefUrlpostUrlauthorHandlepostedAtisNewfirstSeenAtscrapedAt
journorequesttrueOK<all requests (full list)><deadline passed?><is this request new?>1970-01-01T00:00:00.000Z
{
"source": "bluesky",
"hashtags": ["journorequest"],
"requestText": "Wanted right now: UK readers' financial hopes and concerns ahead of October budget (The Guardian). Deadline 28 Oct, 12:00.\n\n#JournoRequest - the brief and how to reply",
"outlet": "The Guardian",
"deadline": "2026-10-28",
"deadlineTime": "12:00",
"deadlinePassed": false,
"briefUrl": "https://brief.example/r/abc123",
"postUrl": "https://bsky.app/profile/example.bsky.social/post/3mxhfjp27ke2l",
"authorHandle": "example.bsky.social",
"postedAt": "2026-10-09T16:30:54.505Z",
"isNew": null,
"firstSeenAt": null,
"scrapedAt": "2026-10-11T18:00:00.000Z"
}

outlet, deadline, deadlineTime and briefUrl are null when the post does not state them, never 0 or an empty string. A search that matches nothing comes back as a row with "found": false and is never charged. In monitoring mode a quiet run returns one found row with requestCount: 0 and monitorStatus: NO_NEW_REQUESTS, also never charged.

Pricing

  • Request matched: $1.80 per 1,000 requests

Plus a $0.00005 start fee per run. Each event above is billed independently, only when it actually returns data — misses (found:false) are never charged.

Example runs

Paste any of these into the Input tab and press Start. All three return rows with no key, no token and no account of your own beyond an Apify login.

Both hashtags, both networks, last 7 days. The default shape.

{
"hashtags": ["journorequest", "prrequest"],
"sources": "both",
"sinceDays": 7
}

One beat: money and economy requests, Bluesky only, last 14 days.

{
"hashtags": ["journorequest"],
"topics": ["money", "economy", "budget"],
"sources": "bluesky",
"sinceDays": 14
}

A daily alert: only requests new since the last run. Save as a Task and add a schedule.

{
"hashtags": ["journorequest"],
"topics": ["health", "wellbeing"],
"onlyNewSinceLastRun": true,
"deltaName": "health-requests"
}

The first run of a monitoring search returns everything in the window and remembers it; from the next run on you only get, and pay for, requests that are new.

Use it from Clay, n8n, Make, or an AI agent

This actor runs synchronously over plain HTTP — call it directly from a script, a workflow tool, or an AI agent, no Apify Console needed once you have an API token.

curl "https://api.apify.com/v2/acts/accountable_eel~journalist-request-monitor/run-sync-get-dataset-items?token=<YOUR_TOKEN>" \
-X POST \
-H "Content-Type: application/json" \
-d '{"hashtags":["journorequest","prrequest"]}'

n8n. Add an HTTP Request node: Method POST, URL https://api.apify.com/v2/acts/accountable_eel~journalist-request-monitor/run-sync-get-dataset-items?token=<YOUR_TOKEN>, Body Content Type JSON, JSON Body {"hashtags":["journorequest","prrequest"]} (swap in an expression from an earlier node for a real value).

Clay. Add an "HTTP API" column: Method POST, URL https://api.apify.com/v2/acts/accountable_eel~journalist-request-monitor/run-sync-get-dataset-items?token=<YOUR_TOKEN>, Body {"hashtags":["{{search}}"]}, mapping the row's search into the hashtags array.

MCP. In Claude, Cursor, or any MCP client with the Apify MCP server, ask for "journalist requests monitor" — the agent will find and run this actor.