# Subreddit Announcement Monitor: Matched Posts (`getascraper/reddit-community-announcement-keyword-monitor`) Actor

Monitor a public subreddit for posts matching announcement, policy, rule, moderation, release, or community keywords. Get exact titles, excerpts, source links, matched terms, and repeat-run status for Slack, Discord, Google Sheets, or n8n.

- **URL**: https://apify.com/getascraper/reddit-community-announcement-keyword-monitor.md
- **Developed by:** [GetAScraper](https://apify.com/getascraper) (community)
- **Categories:** Social media, News, Automation
- **Stats:** 2 total users, 1 monthly users, 85.7% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $0.66 / 1,000 matched posts

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

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

## 📣 Subreddit Announcement Monitor: Matched Posts

<table width="100%" style="display:table;width:100%;min-width:100%;border-collapse:collapse;table-layout:fixed">
<tbody style="display:table;width:100%;min-width:100%;border-collapse:collapse;table-layout:fixed">
<tr>
<td colspan="5" style="padding:10px 14px;background:#FF4500;border:1px solid #FFB49A;border-radius:8px 8px 0 0">
<span style="color:#1C1917;font-size:14px;font-weight:800;letter-spacing:0.5px">REDDIT MARKET SIGNALS SUITE</span><br>
<span style="color:#1C1917;font-size:12px">Five focused monitors for feedback, pricing evidence, switch signals, activity cadence, and announcements.</span>
</td>
</tr>
<tr>
<td style="padding:11px 10px;width:20%;background:#FFFFFF;border:1px solid #FFB49A;border-top:none;border-radius:0 0 0 8px;vertical-align:top">
<a href="https://apify.com/getascraper/reddit-feature-request-regression-feed" style="color:#1C1917;text-decoration:none;font-weight:800;font-size:12px">Feedback clusters</a><br>
<span style="color:#57534E;font-size:12px">Recurring product-request themes</span>
</td>
<td style="padding:11px 10px;width:20%;background:#FFFFFF;border:1px solid #FFB49A;border-top:none;border-left:none;vertical-align:top">
<a href="https://apify.com/getascraper/reddit-willingness-to-pay-evidence-miner" style="color:#1C1917;text-decoration:none;font-weight:800;font-size:12px">Pricing evidence</a><br>
<span style="color:#57534E;font-size:12px">Prices, budgets, and paid workarounds</span>
</td>
<td style="padding:11px 10px;width:20%;background:#FFFFFF;border:1px solid #FFB49A;border-top:none;border-left:none;vertical-align:top">
<a href="https://apify.com/getascraper/reddit-competitor-switch-migration-feed" style="color:#1C1917;text-decoration:none;font-weight:800;font-size:12px">Switch signals</a><br>
<span style="color:#57534E;font-size:12px">Product migration evidence</span>
</td>
<td style="padding:11px 10px;width:20%;background:#FFFFFF;border:1px solid #FFB49A;border-top:none;border-left:none;vertical-align:top">
<a href="https://apify.com/getascraper/reddit-subreddit-posting-cadence-monitor" style="color:#1C1917;text-decoration:none;font-weight:800;font-size:12px">Activity cadence</a><br>
<span style="color:#57534E;font-size:12px">Recent posting-gap snapshots</span>
</td>
<td style="padding:11px 10px;width:20%;background:#FFF4F0;border:1px solid #FFB49A;border-top:none;border-left:none;border-radius:0 0 8px 0;vertical-align:top">
<a href="https://apify.com/getascraper/reddit-community-announcement-keyword-monitor" style="color:#B83200;text-decoration:none;font-weight:800;font-size:12px">Announcements</a><br>
<span style="color:#B83200;font-size:12px;font-weight:700">&#10148; You are here</span>
</td>
</tr>
</tbody>
</table>

<table width="100%">
<tr>
<td style="padding:24px 28px;background:#FFF4F0;border:1px solid #FFB49A;border-top:4px solid #FF4500;border-radius:12px">
<span style="font-size:23px;font-weight:800;color:#1C1917;line-height:1.3">Find recent community posts that match the announcement terms you care about.</span><br>
<span style="font-size:15px;color:#57534E;line-height:1.6">Monitor one public subreddit for policy, rule, moderation, release, event, or community keywords with exact source evidence.</span>
</td>
</tr>
</table>

<table width="100%">
<tr>
<td style="padding:14px 12px;width:25%;background:#FFFFFF;border:1px solid #FFB49A;border-radius:10px 0 0 10px;vertical-align:top">
<span style="font-size:15px;font-weight:800;color:#B83200">🔤 Your keywords</span><br>
<span style="font-size:12px;color:#57534E">Match only the words and phrases you provide</span>
</td>
<td style="padding:14px 12px;width:25%;background:#FFFFFF;border:1px solid #FFB49A;border-left:none;vertical-align:top">
<span style="font-size:15px;font-weight:800;color:#B83200">📝 Exact excerpts</span><br>
<span style="font-size:12px;color:#57534E">Review the source text behind every match</span>
</td>
<td style="padding:14px 12px;width:25%;background:#FFFFFF;border:1px solid #FFB49A;border-left:none;vertical-align:top">
<span style="font-size:15px;font-weight:800;color:#B83200">🔗 Public sources</span><br>
<span style="font-size:12px;color:#57534E">Open the matching post for full context</span>
</td>
<td style="padding:14px 12px;width:25%;background:#FFFFFF;border:1px solid #FFB49A;border-left:none;border-radius:0 10px 10px 0;vertical-align:top">
<span style="font-size:15px;font-weight:800;color:#B83200">🔔 New-only review</span><br>
<span style="font-size:12px;color:#57534E">Separate newly found posts from known matches</span>
</td>
</tr>
</table>

Use this Reddit keyword monitoring Actor for community updates that matter to your team. It preserves exact titles, excerpts, matched terms, and source links.

### 🔍 What this Actor does

Enter one public subreddit and up to twenty literal keywords or phrases. The Actor checks a bounded recent window and returns matching posts.

Useful keywords include announcement, policy, rule, moderation, maintenance, release, event, roadmap, migration, or another term specific to your workflow.

Each result includes all matched keywords. Repeat runs label a first discovery as `NEW` and later observations as `KNOWN`.

<table width="100%"><tr>
<td style="padding:12px 18px;background:#FFF4F0;border-left:4px solid #FF4500">
<span style="font-size:15px;color:#1C1917">&#9889; <b>Build focused Reddit keyword alerts without scanning every post yourself.</b> Exact matches and source links keep review fast and transparent.</span>
</td>
</tr></table>

### 👥 Who uses it

- Community operations teams watching product or policy updates
- Moderators tracking posts that mention rules or moderation
- Developer relations teams following releases and ecosystem notices
- Researchers monitoring specific announcement themes
- Teams routing new matches to Slack, Discord, email, or Google Sheets

### 🚀 How to use it

<table width="100%">
<tr>
<td style="padding:16px 14px;width:33%;background:#FFF4F0;border:1px solid #FFB49A;border-radius:10px 0 0 10px;vertical-align:top">
<span style="font-size:12px;font-weight:800;color:#B83200;letter-spacing:1px">STEP 1</span><br>
<span style="font-size:14px;font-weight:700;color:#1C1917">Choose a subreddit</span><br>
<span style="font-size:12px;color:#57534E">Enter the public community name without r/.</span>
</td>
<td style="padding:16px 14px;width:33%;background:#FFF4F0;border:1px solid #FFB49A;border-left:none;vertical-align:top">
<span style="font-size:12px;font-weight:800;color:#B83200;letter-spacing:1px">STEP 2</span><br>
<span style="font-size:14px;font-weight:700;color:#1C1917">Add keywords</span><br>
<span style="font-size:12px;color:#57534E">Provide the exact words or phrases your team needs.</span>
</td>
<td style="padding:16px 14px;width:33%;background:#FFF4F0;border:1px solid #FFB49A;border-left:none;border-radius:0 10px 10px 0;vertical-align:top">
<span style="font-size:12px;font-weight:800;color:#B83200;letter-spacing:1px">STEP 3</span><br>
<span style="font-size:14px;font-weight:700;color:#1C1917">Review and alert</span><br>
<span style="font-size:12px;color:#57534E">Export matches or schedule repeat runs for new-post review.</span>
</td>
</tr>
</table>

### 📥 Input

| Field       | Type    | Required | Description                                                       |
| ----------- | ------- | -------- | ----------------------------------------------------------------- |
| `subreddit` | String  | Yes      | One public subreddit name without `r/`. The default is `modnews`. |
| `keywords`  | Array   | Yes      | Provide 1 to 20 literal words or phrases to match.                |
| `limit`     | Integer | No       | Inspect 1 to 25 recent entries. The default is 10.                |

The Actor needs no Reddit login, account token, proxy setting, or private source access.

### 📤 Data you receive

| Field             | Type   | Description                                                  |
| ----------------- | ------ | ------------------------------------------------------------ |
| `type`            | String | Record type, returned as `KEYWORD_ANNOUNCEMENT`.             |
| `status`          | String | `NEW` on first discovery or `KNOWN` on a later matching run. |
| `title`           | String | Exact title of the matching post.                            |
| `body`            | String | Available public body text from the matching post.           |
| `excerpt`         | String | Source text used for fast review.                            |
| `matchedKeywords` | Array  | Every configured word or phrase found in the post.           |
| `sourceUrl`       | String | Public link to the matching Reddit post.                     |
| `sourceKind`      | String | Record source, returned as `POST`.                           |
| `publishedAt`     | String | Publication time when available.                             |
| `subreddit`       | String | Source community name.                                       |

This compact example comes from a verified cloud run:

```json
{
    "status": "KNOWN",
    "title": "What’s Next for Mod Tools",
    "matchedKeywords": ["rule", "rules", "moderation", "community"],
    "sourceUrl": "https://www.reddit.com/r/modnews/comments/1vgbt2j/whats_next_for_mod_tools/",
    "sourceKind": "POST",
    "publishedAt": "2026-08-05T16:12:25.000Z",
    "subreddit": "modnews"
}
```

Download results as JSON, CSV, Excel, XML, or HTML from the Apify dataset.

### 🔄 Repeat runs and scheduling

Run the same subreddit and keyword list again to distinguish `NEW` matches from `KNOWN` matches. This keeps recurring alerts focused.

Use Apify schedules for Reddit keyword alerts. A five-minute or longer interval is recommended because Reddit may temporarily limit frequent requests.

### ⚠️ Coverage and responsible use

- Results represent a bounded recent source window, not complete Reddit history.
- Matching is literal and case-insensitive. The Actor does not infer topics or intent.
- A matching post is a candidate update, not proof of an official announcement or rule change.
- Moderator identity, community settings, rules pages, and deleted content are not verified.
- A valid empty result means no configured keyword matched the observed window.
- Failed or incomplete runs do not advance the saved comparison baseline.
- Commercial use requires the permissions and policy review applicable to your use case.

### 💰 Pricing

Your cost follows the Apify platform usage shown for each run. Each batch checks one bounded source window to keep resource use predictable.

Review the current run estimate in Apify before starting. The Actor has no external subscription or credential requirement.

### ⭐ Enjoying Subreddit Announcement Monitor: Matched Posts?

<table width="100%" style="display:table;width:100%;min-width:100%;border-collapse:collapse">
<tr>
<td style="padding:20px 24px 14px;background:#FFF4F0;border:1px solid #FFB49A;border-left:5px solid #FF4500;border-radius:10px 10px 0 0">
<span style="font-size:20px;letter-spacing:4px">⭐ ⭐ ⭐ ⭐ ⭐</span><br>
<span style="font-size:17px;font-weight:800;color:#1C1917">Help more community teams find focused Reddit announcement alerts.</span><br>
<span style="font-size:14px;color:#57534E">A 5-star rating takes 10 seconds and helps community operators find this Actor. Your feedback guides future improvements.</span>
</td>
</tr>
<tr>
<td style="padding:0;background:#B83200;border:1px solid #FFB49A;border-top:none;border-radius:0 0 10px 10px;text-align:center">
<a href="https://apify.com/getascraper/reddit-community-announcement-keyword-monitor/reviews" style="display:block;padding:13px 16px;color:#FFFFFF;text-decoration:none;font-weight:800;font-size:15px;letter-spacing:0.3px">★&nbsp;&nbsp;Rate this Actor on Apify</a>
</td>
</tr>
</table>

### 🔌 Integrations

Send matches to Slack, Discord, Gmail, Google Sheets, Airtable, n8n, Make, Zapier, webhooks, or another Apify integration.

Common workflows include release alerts, policy-post review, moderation-update tracking, and a source-linked community update archive.

### ❓ FAQ

**Does this Actor confirm that a post is an official announcement?**

No. It returns keyword-matched public posts. Review the author and source context yourself.

**Does it monitor actual subreddit rules or settings?**

No. It checks recent public posts and does not claim rules-page coverage.

**Can I use phrases as keywords?**

Yes. Add one or more literal words or phrases to the keyword list.

**Is it a real-time alert service?**

No. It is a batch Actor. Use an Apify schedule for recurring checks.

**What happens when Reddit limits a request?**

The run reports the problem and protects the previous comparison baseline.

### 🔗 Other actors

- [Hacker News Job Scraper: Who is Hiring Posts](https://apify.com/getascraper/hn-hiring-scraper) ↗ - Collect structured hiring posts for market and talent research.
- [Serchen Scraper: B2B Software Reviews & Directory Leads](https://apify.com/getascraper/serchen-scraper) ↗ - Extract B2B software reviews and vendor listings.
- [Quora Q\&A Change Monitor](https://apify.com/getascraper/quora-qna-change-monitor) ↗ - Track changes to public questions and answers.
- [Threads Monitor: Public Post Changes](https://apify.com/getascraper/threads-mention-delta-monitor) ↗ - Monitor public post changes and mention evidence.

# Actor input Schema

## `subreddit` (type: `string`):

Name of the public subreddit to check, without r/.

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

Words or phrases to match exactly in public post titles and text.

## `limit` (type: `integer`):

Number of recent feed entries to check, from 1 to 25.

## Actor input object example

```json
{
  "subreddit": "modnews",
  "keywords": [
    "rule",
    "rules",
    "policy",
    "moderation",
    "moderator",
    "community"
  ],
  "limit": 10
}
```

# Actor output Schema

## `dataset` (type: `string`):

No description

## `runSummary` (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 = {
    "subreddit": "modnews",
    "keywords": [
        "rule",
        "rules",
        "policy",
        "moderation",
        "moderator",
        "community"
    ],
    "limit": 10
};

// Run the Actor and wait for it to finish
const run = await client.actor("getascraper/reddit-community-announcement-keyword-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 = {
    "subreddit": "modnews",
    "keywords": [
        "rule",
        "rules",
        "policy",
        "moderation",
        "moderator",
        "community",
    ],
    "limit": 10,
}

# Run the Actor and wait for it to finish
run = client.actor("getascraper/reddit-community-announcement-keyword-monitor").call(run_input=run_input)

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

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

```

## CLI example

```bash
echo '{
  "subreddit": "modnews",
  "keywords": [
    "rule",
    "rules",
    "policy",
    "moderation",
    "moderator",
    "community"
  ],
  "limit": 10
}' |
apify call getascraper/reddit-community-announcement-keyword-monitor --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,getascraper/reddit-community-announcement-keyword-monitor"
        }
    }
}

```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/Ith9yDsRKlq7sBTJW/builds/qk1L3KNhhv5fIhu5T/openapi.json
