# Press Release Monitor (`darknezz/press-release-monitor`) Actor

Monitor press releases from PRWeb, Google News, and Dow Jones. Filter by keywords, extract full text, and track company announcements in real-time.

- **URL**: https://apify.com/darknezz/press-release-monitor.md
- **Developed by:** [Oaida Adrian](https://apify.com/darknezz) (community)
- **Categories:** News
- **Stats:** 1 total users, 0 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $5.00 / 1,000 press release extracteds

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

## Press Release Monitor — Real-Time PR & Company News Tracking

Monitor press releases and company announcements from multiple newswire and news feeds in one run. Filter by keyword, extract the full text of every release, and get clean, structured JSON ready for alerts, dashboards, or AI pipelines.

Ideal for **media monitoring, competitor tracking, PR agencies, investor research, and news-driven trading signals** — without paying for an enterprise media-monitoring suite.

### What it does

1. Pulls the latest items from up to 6 press-release and business-news feeds (PRWeb daily wire, Dow Jones Markets, and curated Google News searches for PR, technology, finance, and health announcements).
2. Optionally visits each release page and extracts the **complete article text** (not just the RSS summary).
3. Auto-detects the **company name** from the release title and tags each item with a **category** (Technology, Finance, Health, General).
4. Filters everything by your **keywords** (case-insensitive) so you only get releases that matter to you.
5. Deduplicates across feeds and writes structured items to the dataset.

### Input

```json
{
  "feeds": ["prweb_all", "google_news_tech", "dowjones_markets"],
  "keywords": ["acquisition", "funding", "series b"],
  "extractContent": true,
  "maxResults": 100
}
```

| Field | Type | Default | Description |
|-------|------|---------|-------------|
| `feeds` | array | all 6 | Which wires to monitor: `prweb_all`, `google_news_pr`, `dowjones_markets`, `google_news_tech`, `google_news_finance`, `google_news_health` |
| `keywords` | array | `[]` (no filter) | Only keep releases whose title/summary/text mentions any of these (case-insensitive) |
| `extractContent` | boolean | `true` | Visit each release page and extract full text |
| `maxResults` | integer | `100` | Maximum releases per run (1–500) |

All fields are optional — an empty input `{}` monitors every feed with no keyword filter.

### Output

One dataset item per press release:

```json
{
  "id": "a3f8c2…",
  "title": "Acme Robotics Announces $40M Series B to Scale Warehouse Automation",
  "summary": "Acme Robotics, the leader in autonomous picking…",
  "fullText": "SAN FRANCISCO — Acme Robotics today announced…",
  "url": "https://www.prweb.com/releases/acme-robotics-announces…",
  "source": "prweb_all",
  "company": "Acme Robotics",
  "category": "Technology",
  "publishedAt": "2026-07-15T08:30:00Z"
}
```

All fields are null-tolerant — if a page blocks full-text extraction you still get the title, summary, URL, and metadata.

### Use cases

- **Competitor & brand monitoring** — run on a schedule with your competitors' names as keywords; pipe new items to Slack/email via an Apify integration.
- **PR agency reporting** — track pickup of client announcements across wires.
- **Investor / market research** — watch for "acquisition", "merger", "funding", "FDA approval", "partnership" signals in near real time.
- **Lead generation** — companies announcing funding or expansion are active buyers; feed results to your CRM.
- **AI news pipelines** — `fullText` is clean extracted copy, ready for LLM summarisation or embedding.

### Scheduling & integrations

Run it on an Apify **Schedule** (e.g. every hour) and connect any integration — webhooks, Slack, Google Sheets, Make, Zapier, or the API:

```bash
curl "https://api.apify.com/v2/acts/darknezz~press-release-monitor/run-sync-get-dataset-items?token=YOUR_TOKEN" \
  -X POST -H 'Content-Type: application/json' \
  -d '{"keywords": ["your brand"], "maxResults": 50}'
```

### Pricing

Pay-per-event: **$0.01 per press release extracted** (plus a negligible per-run start fee). You only pay for releases that pass your keyword filter and land in the dataset — monitoring 100 matching releases costs about $1.

### FAQ

**Which sources are covered?**
PRWeb's daily wire, Dow Jones Markets news, and four curated Google News searches that surface releases syndicated from all major wires (PR Newswire, Business Wire, GlobeNewswire and others appear via the Google News feeds).

**How fresh are the results?**
Each run fetches the live feeds. Schedule the actor as often as every few minutes for near-real-time monitoring.

**Do I need a proxy?**
No — all sources are public feeds. The actor works out of the box.

**Can I monitor a specific company?**
Yes — put the company name in `keywords`. Matching is case-insensitive across title, summary, and full text.

**What happens when a release page can't be fetched?**
The item is kept with `fullText: null` so you never lose the event itself.

# Actor input Schema

## `feeds` (type: `array`):

PR wire feeds to monitor. Leave empty for all.

## `keywords` (type: `array`):

Filter releases by keywords (case-insensitive). Leave empty for all.

## `extractContent` (type: `boolean`):

Visit each release page and extract full text.

## `maxResults` (type: `integer`):

Maximum number of releases to return.

## Actor input object example

```json
{
  "feeds": [
    "prweb_all",
    "google_news_pr",
    "dowjones_markets",
    "google_news_tech",
    "google_news_finance",
    "google_news_health"
  ],
  "keywords": [],
  "extractContent": true,
  "maxResults": 100
}
```

# Actor output Schema

## `results` (type: `string`):

No description

## `id` (type: `string`):

No description

## `title` (type: `string`):

No description

## `summary` (type: `string`):

No description

## `url` (type: `string`):

No description

## `source` (type: `string`):

No description

## `company` (type: `string`):

No description

## `publishedAt` (type: `string`):

No description

## `category` (type: `string`):

No description

## `fullText` (type: `string`):

No description

## `scrapedAt` (type: `string`):

No description

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {};

// Run the Actor and wait for it to finish
const run = await client.actor("darknezz/press-release-monitor").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {}

# Run the Actor and wait for it to finish
run = client.actor("darknezz/press-release-monitor").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{}' |
apify call darknezz/press-release-monitor --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=darknezz/press-release-monitor",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/7PsbExczoYIizvUBA/builds/gmnfiNM2Ggco0BoUf/openapi.json
