# Reddit Brand Monitoring - Keyword Alerts for Posts & Comments (`tenfoldfleet/reddit-brand-monitoring`) Actor

Monitor Reddit for new posts and comments that mention your brand, competitors or keywords. Scheduled runs return only new mentions: keyword, post or comment, title, text, author, subreddit, link, date. $1.50 per 1,000 mentions plus $0.003 per keyword or subreddit per run; failed scans are free.

- **URL**: https://apify.com/tenfoldfleet/reddit-brand-monitoring.md
- **Developed by:** [Tenfold Fleet](https://apify.com/tenfoldfleet) (community)
- **Categories:** Social media, Agents, MCP servers
- **Stats:** 1 total users, 0 monthly users, 0.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.50 / 1,000 mentions

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/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
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.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## 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.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

Not affiliated with Reddit. This Actor reads only Reddit's public RSS feeds, which anyone can open without an account.

### What does Reddit Brand Monitoring do?

**Reddit Brand Monitoring** watches Reddit for **new posts and comments that mention your brand, product, competitors or any keyword**, and hands you only what is new since its last run. Put it on a schedule (hourly or daily) and every run returns a short, clean list of fresh mentions instead of the same results again and again. It works like a **Reddit keyword monitoring API**: send a list of keywords, get back one row per mention with the keyword that matched, the post title, a text snippet, the full text, author, subreddit, link and post time.

Each keyword is searched in post titles and texts across **all of Reddit** (or only in the subreddits you pick), and the **newest comments of the subreddits you list** are scanned too, because Reddit's own search never returns comments. Every hit is checked in the text before it is returned: Reddit's search stems words and splits names ("ClickUp" becomes "click up"), so a post that does not really contain your keyword is dropped and never charged.

### Why use it?

- **Brand monitoring**: see every new thread that names your company or product, so support, PR or community teams can reply while the thread is still active.
- **Competitor tracking**: follow competitor names and catch complaints, switching stories and feature requests.
- **Keyword alerts for marketers**: watch phrases like "best CRM for startups" or "alternative to X" to find buying-intent posts and content ideas.
- **Launch and campaign tracking**: count new mentions per day after a launch, an outage or a press story.
- **Community management**: scan the comment streams of your own subreddit or your niche's subreddits for your brand.

### What data can it extract?

| Field | What it is |
|---|---|
| `type` | `post` or `comment` (error rows have `error`) |
| `keyword`, `matchedKeywords` | the keyword this mention is filed under, and every keyword it contains |
| `title` | post title (for a comment: the title of the post it was written under) |
| `snippet` | about 280 characters around the first keyword hit |
| `text` | full text of the post or comment |
| `author`, `authorUrl` | Reddit username and profile link |
| `subreddit`, `subredditUrl` | where it was posted |
| `url`, `id` | permalink and Reddit id (`t3_...` post, `t1_...` comment) |
| `postId`, `postUrl` | the post a comment belongs to |
| `linkUrl`, `thumbnailUrl` | outbound link or image of a link post, and its preview image |
| `createdAt` | when it was posted (UTC) |
| `matchedAt`, `monitorName`, `foundBy` | when this run found it, the monitor's name, and how (`search`, `subreddit-search`, `comments`) |

**What the public feed does not include:** upvotes, scores, comment counts and awards. Reddit's RSS feeds don't carry them, so this Actor doesn't return them.

### How to monitor Reddit for brand mentions

1. Add your **keywords**: brand names, product names, competitor names or phrases, one per line (up to 100 per run).
2. Choose how a keyword must appear: **Exact phrase** (default), **All words** or **Any word**. Add **exclude words** to skip noise (for example "hiring" or "the notion").
3. Optional: list **subreddits**. Their newest comments are scanned for your keywords; switch off **Search posts on all of Reddit** to search posts only in those subreddits.
4. Pick how far the first run looks back (**past hour** to **all time**; default past week). Later runs always cover the whole time since the previous run, whatever the window.
5. Click **Start**. The first run returns the backlog; save the input as a task and add a **schedule** (for example every hour or every morning) in Apify Console. From then on each run returns only new mentions.
6. To get alerts, connect the task to Slack, email, Google Sheets, Make, Zapier or a webhook with [Apify integrations](https://apify.com/integrations). Download results any time as JSON, CSV, Excel or HTML, or read them through the Apify API.

### How much does it cost to monitor Reddit?

Pay-per-event pricing: you pay for the new mentions you get and for what each run checks, nothing else.

| Event | Price |
|---|---|
| Mention (one new post or comment that contains your keyword) | **$1.50 per 1,000** ($0.0015 each) |
| Keyword scan (one keyword searched for new posts in one run) | **$0.003 per keyword per run** |
| Subreddit scan (one listed subreddit's newest comments read and checked in one run) | **$0.003 per subreddit per run** |
| Run start | $0.00005 per run |

A keyword scan is the post search for that keyword (all of Reddit, or only your subreddits). A subreddit scan reads that subreddit's newest comments once and checks them against all your keywords, so adding keywords does not multiply it. Subreddits are only charged when comment scanning is on.

**Examples:** 5 keywords checked once a day for a month cost 5 x 30 x $0.003 = **$0.45** in keyword scans, plus $0.0015 per new mention (300 new mentions = $0.45). Add the comments of 3 subreddits and it is 3 x 30 x $0.003 = $0.27 more. The same 5 keywords checked every hour cost 5 x 720 x $0.003 = **$10.80** a month in scans, so choose a daily schedule unless you need fast replies.

**Free:** mentions already returned by earlier runs of the same monitor, posts with an exclude word, search hits that don't really contain the keyword, and error rows (unknown or private subreddit, failed search). A keyword or subreddit that could not be read is not charged. Proxy traffic and compute are included.

**First run:** it returns at most `maxMentionsPerKeyword` mentions per keyword from the look-back window (default 100 from the past week), so at most $0.15 per keyword in mentions with the defaults. Later runs return only what is new.

**Free Apify plan:** up to **50 mentions per run**; the rest are kept and come with the next run (keyword and subreddit scans are charged as usual). Any paid Apify plan removes the limit. Set a maximum cost per run in Apify Console for a hard cap; when it is reached, the mentions that were not returned are kept for the next run.

### Input

```json
{
    "keywords": ["Acme CRM", "AcmeCRM", "Globex"],
    "monitorName": "acme-brand",
    "onlyNewMentions": true,
    "timeWindow": "week",
    "matchMode": "phrase",
    "excludeWords": ["hiring"],
    "subreddits": ["smallbusiness", "r/sales", "r/CRM"],
    "searchAllReddit": true,
    "includeComments": true,
    "commentsPerSubreddit": 300,
    "maxMentionsPerKeyword": 100
}
```

- `keywords` (required): what to watch for. Case doesn't matter; matches are whole words.
- `monitorName`: runs with the same name share one memory of what was returned. Left empty, a saved task keeps its own memory (editing its keywords keeps it), and a run outside a task ties the memory to its keyword list.
- `onlyNewMentions`: `true` (default) returns only mentions this monitor has not returned before; `false` returns everything in the time window on every run.
- `timeWindow`: `hour`, `day`, `week`, `month`, `year` or `all`: the first run's backlog. Later runs reach back to the previous run on their own.
- `matchMode`: `phrase`, `allWords` or `anyWord`.
- `subreddits`, `searchAllReddit`, `includeComments`, `commentsPerSubreddit`: where to look (up to 100 subreddits per run) and how many recent comments to read per subreddit (100 to 1,000).
- `maxMentionsPerKeyword`: limit per keyword per run (newest first). Mentions over the limit are skipped for good and not charged.

### Output

One row per mention, oldest first:

```json
{
    "type": "comment",
    "keyword": "Acme CRM",
    "matchedKeywords": ["Acme CRM"],
    "title": "Which CRM do small agencies actually stick with?",
    "snippet": "we tried two others before Acme CRM and the pipeline view is the only one my team kept using...",
    "text": "we tried two others before Acme CRM and the pipeline view is the only one my team kept using. Pricing went up last month though.",
    "author": "example_user",
    "authorUrl": "https://www.reddit.com/user/example_user/",
    "subreddit": "smallbusiness",
    "subredditUrl": "https://www.reddit.com/r/smallbusiness/",
    "url": "https://www.reddit.com/r/smallbusiness/comments/1abcd23/which_crm_do_small_agencies_actually_stick_with/19rkexample/",
    "id": "t1_19rkexample",
    "postId": "t3_1abcd23",
    "postUrl": "https://www.reddit.com/r/smallbusiness/comments/1abcd23/which_crm_do_small_agencies_actually_stick_with/",
    "linkUrl": null,
    "thumbnailUrl": null,
    "createdAt": "2026-10-24T07:28:05+00:00",
    "matchedAt": "2026-10-24T10:16:50.941Z",
    "monitorName": "acme-brand",
    "foundBy": ["comments"]
}
```

Error rows have `"type": "error"`, the failed `input` (a keyword or subreddit) and the reason in `error`; they are never charged. Each run also saves a **SUMMARY** record in its key-value store with per-keyword counts, per-subreddit comment coverage and request statistics. You can download the dataset as JSON, CSV, Excel, XML or HTML.

### Tips

- **Name each monitor.** One task per brand or client, each with its own `monitorName`, keeps their memories apart.
- **Brand names that are common words** ("Notion", "Square", "Apple"): add exclude words, list the subreddits where your customers talk, or use a longer phrase such as "Notion template".
- **Spellings:** add variants as separate keywords (`AcmeCRM`, `Acme CRM`). A post that contains several of your keywords is returned and charged once.
- **Busy subreddits:** big communities get thousands of comments a day and Reddit lists only about the newest 1,000. Schedule those monitors hourly, or raise `commentsPerSubreddit`. The SUMMARY record flags a subreddit when a run could not reach back to the previous run.
- **Backfill:** set `timeWindow` to `month` or `year` on the first run to collect older mentions, then schedule it.

### What it cannot see (honest limits)

- **No scores or comment counts:** the public RSS feeds don't include upvotes, scores, comment counts or awards.
- **Comments only in listed subreddits:** Reddit search finds posts, not comments, so comment mentions are found only in the subreddits you list.
- **Search depth:** each keyword search reads at most 10 pages (1,000 posts) per run, newest first, so very old backlog for a very busy keyword is not reachable.
- **Run size:** one run checks up to 100 keywords and 100 subreddits and returns up to 25,000 mentions. Extra keywords or subreddits get a free error row; split big lists over several tasks.
- **Symbols:** Reddit's search drops most symbols, so keywords like "C++" or "C#" find few posts. Names with dots or ampersands ("monday.com", "AT\&T") work.
- **Public content only:** no logins, private or quarantined subreddits, deleted posts or removed comments. A private subreddit gives a free error row.
- **Speed:** Reddit allows few logged-out feed requests per IP, so runs wait between requests when they are large. In our tests a monitor with 2 keywords and 1 subreddit finished in about 7 seconds, and one with 34 keywords and 6 subreddits in 70 to 105 seconds.

### Use it with AI agents (MCP)

Give Claude, ChatGPT, Cursor or any MCP client this Actor as a tool through Apify's MCP server: add `https://mcp.apify.com?tools=tenfoldfleet/reddit-brand-monitoring` as a remote MCP server and sign in with your Apify account. The agent fills in the input, runs the Actor and reads the mentions itself; it pays the same prices as a normal run. For one-off research from an agent, set `onlyNewMentions` to `false` so repeated questions return results again.

### FAQ

#### How does it know which mentions are new?

Every returned post and comment id is remembered in a key-value store in your own Apify account (`reddit-brand-monitoring-state`), one record per monitor. The next run looks back to just before the previous run started, skips those ids and stops searching once it reaches mentions it already returned. Deleting the record starts the monitor fresh.

#### Can I get alerts in Slack or by email?

Yes. Schedule the task and add an [Apify integration](https://apify.com/integrations) (Slack, email, webhook, Make, Zapier, n8n). Because each run returns only new mentions, every alert is about something new.

#### Why did a run return 0 mentions but charge scans?

Nothing new was posted since the last run, or every match was already returned. The keyword and subreddit scans are the cost of checking. The run's status message says how many matches were skipped as already returned.

#### Do I need a Reddit account or API key?

No. The Actor reads public RSS feeds without logging in and needs no cookies or API keys.

#### Can two runs of the same monitor run at the same time?

It is handled: just before returning anything, a run re-reads the monitor's memory and skips (free) what an overlapping run already returned. Only two runs that return the same mention at the same moment (within a few seconds) could both charge it, so keep schedules from overlapping when you can.

#### Does it work for any language?

Yes. Keywords are matched as whole words in any script, case-insensitively.

### Disclaimer

This Actor collects public data only. Posts and comments can contain personal data such as usernames; you are responsible for processing it lawfully (for example under the GDPR) and for respecting the rights of the people in it. Reddit is a trademark of Reddit, Inc.

### More tools from Tenfold Fleet

| Actor | Output |
|---|---|
| [ALDI Australia Scraper - AU Products, Unit Prices & Catalogue](https://apify.com/tenfoldfleet/aldi-australia-scraper) | product |
| [Alibaba Image Search - Reverse Lookup of Suppliers by Photo](https://apify.com/tenfoldfleet/alibaba-image-search) | matched product |
| [Alibaba Products Scraper: Wholesale Suppliers, MOQ, Price Tiers](https://apify.com/tenfoldfleet/alibaba-products-scraper) | product |
| [AliExpress Keyword Scraper - Exact Sold Counts by Search Term](https://apify.com/tenfoldfleet/aliexpress-search-scraper) | product |
| [Amazon Product Scraper - Details, Prices & Search by ASIN](https://apify.com/tenfoldfleet/amazon-product-scraper) | product |
| [Applicant Tracking Jobs Scraper - Greenhouse, Lever & 6 More](https://apify.com/tenfoldfleet/ats-jobs-scraper) | job posting |
| [Backlinks Checker - Referring Domains, Anchors & Domain Rank](https://apify.com/tenfoldfleet/backlinks-checker) | backlink |
| [Bilibili Scraper - Videos, Comments, Danmaku & Search](https://apify.com/tenfoldfleet/bilibili-scraper) | video or comment |
| [Businesses Without Websites - Local Leads with Phone & Rating](https://apify.com/tenfoldfleet/businesses-without-websites) | lead |
| [Contact Details Scraper - One Lead Record per Company Website](https://apify.com/tenfoldfleet/company-contact-finder) | website with contacts |
| [Facebook Ads Library Scraper for Marketers](https://apify.com/tenfoldfleet/facebook-ads-library-scraper) | ad |
| [Facebook Page Contact Finder - Business Leads from Page Links](https://apify.com/tenfoldfleet/facebook-page-contact-finder) | page with contact details |
| [Google Ads Transparency Center Scraper - Competitor Ads by Site](https://apify.com/tenfoldfleet/google-ads-transparency-scraper) | ad |
| [Google AI Overviews Checker - Citations & Domain Tracker](https://apify.com/tenfoldfleet/google-ai-overviews-checker) | keyword checked |
| [Google Flights Scraper - All Fares per Route & Date (API)](https://apify.com/tenfoldfleet/google-flights-scraper) | route search |
| [Google Hotels Scraper - Nightly Prices, Stars & Booking Sites](https://apify.com/tenfoldfleet/google-hotels-scraper) | hotel |
| [Google for Jobs Scraper - Openings by City, Pay & Job Board](https://apify.com/tenfoldfleet/google-jobs-scraper) | job listing |
| [Google Keyword Planner Alternative - Ideas, Bids & Volume](https://apify.com/tenfoldfleet/google-keyword-planner) | keyword idea |
| [Google Maps Extractor - Business Leads, Phones & Websites](https://apify.com/tenfoldfleet/google-maps-extractor) | place |
| [Google News Scraper - Articles, Real URLs & Full Text](https://apify.com/tenfoldfleet/google-news-scraper) | article |
| [Google Travel Hotel Rate Tracker - OTA Prices for Every Night](https://apify.com/tenfoldfleet/google-travel-hotel-rate-tracker) | offer |
| [Search Trends by Region & Time - Google Trends Data Scraper](https://apify.com/tenfoldfleet/google-trends-scraper) | keyword |
| [Instagram Reels Search - Keyword to Top Reels, Plays & Creators](https://apify.com/tenfoldfleet/instagram-reels-search) | reel |
| [Instagram Reels Transcript - Speech to Text for Public Reels](https://apify.com/tenfoldfleet/instagram-reels-transcript) | reel transcript |
| [Keyword Ideas & Related Keywords - Difficulty, Volume & CPC](https://apify.com/tenfoldfleet/keyword-ideas) | keyword idea |
| [Keyword Search Volume, CPC & Difficulty Checker (Bulk)](https://apify.com/tenfoldfleet/keyword-search-volume) | keyword with data |
| [Likee Scraper - Creators by Country, Video Views & Likes](https://apify.com/tenfoldfleet/likee-scraper) | video |
| [LinkedIn Ads Library Scraper - Competitor Ad Copy & Targeting](https://apify.com/tenfoldfleet/linkedin-ad-library-scraper) | ad |
| [Remote Job Board Scraper - Remote Jobs Aggregator, 7 Sites](https://apify.com/tenfoldfleet/remote-jobs-aggregator) | unique remote job |
| [SEEK Jobs Scraper - Salaries & Hiring Across 8 APAC Job Boards](https://apify.com/tenfoldfleet/seek-job-scraper) | job listing |
| [SEO Agent - AI Keyword Research & Competitor Reports](https://apify.com/tenfoldfleet/seo-agent) | research report |
| [SEO Crawler - Technical SEO Audit Tool & On-Page Checker](https://apify.com/tenfoldfleet/seo-audit-tool) | page audit |
| [SEO Competitor Keywords - Domain Ranked Keywords & Keyword Gap](https://apify.com/tenfoldfleet/seo-competitor-keywords) | keyword |
| [Shopify Inventory Scraper - SKUs, Variants & In-Stock Status](https://apify.com/tenfoldfleet/shopify-products-scraper) | product |
| [Shopify App & Theme Detector - Store Analyzer & Contacts](https://apify.com/tenfoldfleet/shopify-store-analyzer) | shopify store |
| [Sitemap URL Extractor - All URLs from sitemap.xml & robots.txt](https://apify.com/tenfoldfleet/sitemap-url-extractor) | url |
| [Website Built With Checker - Find Any Site's CMS & Tech Stack](https://apify.com/tenfoldfleet/tech-stack-detector) | website |
| [Threads Search - Keyword & Profile Posts Scraper (No Login)](https://apify.com/tenfoldfleet/threads-search) | post |
| [TikTok Transcripts - Captions or Speech to Text for Any Video](https://apify.com/tenfoldfleet/tiktok-transcripts) | video transcript |
| [HTML to Text & URL to Markdown - LLM Ready Web Content](https://apify.com/tenfoldfleet/url-to-markdown) | page |
| [Website Traffic Checker - Bulk Domain Traffic Estimate](https://apify.com/tenfoldfleet/website-traffic-checker) | domain with traffic data |
| [WeChat Official Account Articles - Keyword Search to Markdown](https://apify.com/tenfoldfleet/wechat-official-account-articles) | article found |
| [Weibo Scraper - Comment Threads, Hot Search Ranks & User Stats](https://apify.com/tenfoldfleet/weibo-scraper) | comment |
| [Woolworths Product Scraper - AU Shelf Prices, Specials & GTINs](https://apify.com/tenfoldfleet/woolworths-product-scraper) | product |
| [Workday Jobs Scraper - myworkdayjobs.com API with Salary](https://apify.com/tenfoldfleet/workday-jobs-scraper) | job posting |
| [YouTube Channel Email Scraper - Creator Contact Extractor](https://apify.com/tenfoldfleet/youtube-channel-email-scraper) | channel with email |
| [YouTube Livestream & Channel Scraper - Videos, Likes & Stats](https://apify.com/tenfoldfleet/youtube-channel-scraper) | video |
| [YouTube Comments Scraper - Replies, Likes & Sort by Newest](https://apify.com/tenfoldfleet/youtube-comments-scraper) | comment |
| [YouTube Shorts Analytics Scraper - Views, Likes & Hashtags](https://apify.com/tenfoldfleet/youtube-shorts-scraper) | short |
| [YouTube Captions Downloader - Transcript & Subtitles Scraper](https://apify.com/tenfoldfleet/youtube-transcript-scraper) | transcript |

# Actor input Schema

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

Brand names, product names, competitor names or phrases to watch for on Reddit, one per line, up to 100 per run. Each keyword is searched separately and every match is checked in the post or comment text before it is returned.

## `monitorName` (type: `string`):

Runs with the same monitor name share a memory of the mentions already returned, so each scheduled run returns only what is new. Leave it empty and a saved task keeps its own memory (editing the task's keywords keeps it); a run outside a task ties the memory to its exact keyword list. Give it a name, such as "acme-brand", to share one memory between tasks or API calls. Use a different name for each brand or client.

## `onlyNewMentions` (type: `boolean`):

On: skip mentions this monitor returned in earlier runs (the first run returns everything in the time window). Off: return every match in the time window on every run; each returned mention is charged.

## `timeWindow` (type: `string`):

How far back the first run of a monitor searches: this is the backlog you get, up to the per-keyword limit. Later runs return what is new since the previous run, even when that run was longer ago than this window, and stop as soon as they reach mentions already returned.

## `matchMode` (type: `string`):

"Exact phrase": the keyword's words must appear together in this order (case doesn't matter, whole words only). "All words": every word of the keyword appears somewhere in the post or comment. "Any word": at least one of the keyword's words appears.

## `excludeWords` (type: `array`):

Skip a post or comment when its title or text contains any of these words or phrases (whole words, case doesn't matter). Skipped items are never charged. Example: for the brand "Notion" exclude "the notion".

## `subreddits` (type: `array`):

Optional. Subreddit names ("shopify", "r/ecommerce" or a subreddit link), up to 100 per run. Their latest comments are scanned for your keywords, and when "Search all of Reddit" is off, posts are searched only in these subreddits. Comment mentions are found only in the subreddits listed here.

## `searchAllReddit` (type: `boolean`):

On: search posts in every public subreddit. Off: search posts only in the subreddits listed above.

## `includeComments` (type: `boolean`):

Read the newest comments of each listed subreddit and return the ones that mention a keyword. Reddit's search does not return comments, so this is how comment mentions are found. Each subreddit read costs one subreddit scan ($0.003) per run.

## `commentsPerSubreddit` (type: `integer`):

How many of the newest comments to read in each listed subreddit per run (100 per page). Reddit lists at most about 1,000. Busy subreddits get thousands of comments a day, so schedule busy ones more often. Later runs stop early when they reach comments already scanned.

## `maxMentionsPerKeyword` (type: `integer`):

Upper limit of mentions returned for each keyword in one run. Free Apify plan: at most 50 mentions per run in total.

## `proxyConfiguration` (type: `object`):

The Apify datacenter proxy is used by default and is included in the price. Residential proxy groups are ignored.

## Actor input object example

```json
{
  "keywords": [
    "Shopify",
    "WooCommerce"
  ],
  "onlyNewMentions": true,
  "timeWindow": "week",
  "matchMode": "phrase",
  "searchAllReddit": true,
  "includeComments": true,
  "commentsPerSubreddit": 300,
  "maxMentionsPerKeyword": 100,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}
```

# Actor output Schema

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

No description

## `summary` (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 = {
    "keywords": [
        "Shopify",
        "WooCommerce"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("tenfoldfleet/reddit-brand-monitoring").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 = { "keywords": [
        "Shopify",
        "WooCommerce",
    ] }

# Run the Actor and wait for it to finish
run = client.actor("tenfoldfleet/reddit-brand-monitoring").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 '{
  "keywords": [
    "Shopify",
    "WooCommerce"
  ]
}' |
apify call tenfoldfleet/reddit-brand-monitoring --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,tenfoldfleet/reddit-brand-monitoring"
        }
    }
}
```

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/8egfgLm8hTlpWNqRe/builds/d0ONEWvEUJo9PYeDK/openapi.json
