# Reddit Brand Presence and Mention Monitor for Clay (`mambalabs/reddit-brand-presence-mapper`) Actor

Finds a company official subreddit from its domain and reports posting cadence, recency and brand mention samples when Reddit serves them. Every refusal is reported as blocked, never as zero. Flat, Clay ready, one row per company.

- **URL**: https://apify.com/mambalabs/reddit-brand-presence-mapper.md
- **Developed by:** [Mamba Labs](https://apify.com/mambalabs) (community)
- **Categories:** Lead generation, Automation, Social media
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $6.65 / 1,000 company checkeds

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

### 🔎 What can Reddit Brand Presence and Mention Monitor for Clay do?

Give it a company domain and it returns that company's subreddit, how alive that subreddit is, and how much the brand is being talked about across Reddit as a whole.

| 📦 What you get | ⚙️ Features and integrations |
|---|---|
| 👽 **Official or community subreddit** resolved from a domain<br>📈 **Posting cadence and recency**, when Reddit serves them<br>💬 **Site wide brand mention sample**, when Reddit serves it<br>🧾 **26 flat fields**, `snake_case`, one row per company | 🌐 **Domain first discovery**, no subreddit name required<br>🚦 **`blocked` is reported as blocked**, never as zero<br>🔑 **BYOK Reddit app credentials** unlock the subscriber count<br>⬇️ **Export** to JSON, CSV, Excel, HTML or XML |

Bought by community and developer relations teams, brand monitoring analysts, and product marketers tracking where a category is discussed.

> 🚫 **Read the Known limits before you buy this one.** Reddit refuses a share of requests no matter how you route them. Measured 2026-08-23 across nine companies on residential: the subreddit feed came back readable for four and was refused for five, and the mention feed came back for four and was refused for five. Every refusal is reported as `blocked`, never as a zero, so you can retry it. That is honest and it is still a coin flip per company, and you should know that before you plan a campaign around this actor.

### 💡 Why use Reddit Brand Presence and Mention Monitor for Clay?

**The cadence numbers are computed over the span actually sampled, not over an assumed window.** Reddit's public feeds cap at 25 items. A tool that reports "25 posts" tells you nothing, because 25 posts across two days and 25 across two years are opposite findings. This actor returns the span and the rate, and flags when the sample hit the cap so you know the real number is higher.

**The mention search defaults to your domain, in quotes, and that is a measured decision.** Searching Reddit for `stripe` returns r/Horses, r/MyHeroAcadamia and r/YmJersey, because Reddit is matching the English word. Searching for `"stripe.com"` returns developer subreddits. Brand names that are also common nouns are the normal case in B2B software, not the exception, so defaulting to the name would ship a mention volume that is mostly about horses.

**`top_subreddit` is often the most useful field on the row.** It tells you where the conversation about a company actually happens, which is frequently not the company's own subreddit.

#### 🧭 Why this uses RSS, and what that costs

Measured on 2026-08-22 from three different network exits: **every** Reddit `.json` route returns HTTP 403 with a block page. **Every** `.rss` route returns HTTP 200. So the public feeds are the only open door, and they are genuinely open.

The one thing they do not carry is the subscriber count, which lives only in `about.json`. Rather than scrape an approximation and present it as a measurement, this actor reports `not_extractable` and offers you the real thing through your own free Reddit app credentials.

### 📋 What data can Reddit Brand Presence and Mention Monitor for Clay extract?

Every row carries **26 flat fields**. These are the ones a buyer
actually filters and sorts on.

| Field | Type | Meaning |
|---|---|---|
| `degraded` | boolean | True when this row could not be produced normally, for example the company site was unreachable and no discovery could run. A degraded row is never charged. |
| `degradation_reason` | string | null | Why the row is degraded, in plain words. Null on a normal row. |
| `company_domain` | string | null | The company domain this row is about, normalized. Null when only a handle or a name was supplied. This is the join key across the whole Mamba Labs fleet. |
| `company_name` | string | null | The company name as supplied or derived. Improves search accuracy and is what the identity gate matches against. |
| `subreddit` | string | null | The official or most closely matching subreddit name, without the r/ prefix. |
| `subreddit_url` | string | null | Canonical subreddit URL. |
| `subreddit_title` | string | null | The subreddit display title. |
| `subreddit_description` | string | null | The public description. Worth reading: many company subreddits state that they are UNOFFICIAL community subreddits, which changes what the presence means. |
| `subreddit_subscribers` | integer | null | Subscriber count. Null unless you supplied Reddit app credentials, because Reddit serves this only over its authenticated API. Read subreddit\_subscribers\_status before concluding anything from a null. |
| `subreddit_subscribers_status` | string | ok when a count was returned, not\_extractable when no credentials were supplied and Reddit therefore refused, auth\_failed when the credentials you supplied were rejected. |
| `last_post_at` | string | null | Timestamp of the most recent post in the subreddit, ISO 8601. This is the activity recency signal. |
| `days_since_last_post` | number | null | How stale the subreddit is. A company subreddit last posted in two years ago is a different fact from one posted in this morning. |
| `recent_post_count` | integer | null | How many recent posts the public feed returned. Capped at 25 by Reddit, so this is a SAMPLE SIZE and never a total. |
| `posts_per_week` | number | null | Posting cadence computed over the span the sampled posts actually cover, not over an assumed period. A feed spanning two days and one spanning two years both return 25 posts and are not the same subreddit. |
| `distinct_recent_authors` | integer | null | How many different accounts posted in the sample. A high post count from one account is a bot or a mod, not a community. |
| `subreddit_status` | string | ok, not\_found, not\_extractable, blocked, identity\_mismatch, auth\_failed or skipped. |
| `mention_query_used` | string | null | Exactly what was searched. On the row so you can see what was asked before you trust what came back. |
| `mention_sample_size` | integer | null | How many mentions the public search feed returned. Capped at 25 by Reddit. This is a sample, never a census. |
| `mention_sample_capped` | boolean | null | True when the sample hit Reddit's 25 result cap, which means the true mention volume is unknown and HIGHER. This flag is what stops the sample size being read as a total. |
| `mention_span_days` | number | null | How many days the sampled mentions cover. Twenty five mentions across two days and twenty five across two years are very different levels of attention. |
| `mentions_per_week` | number | null | Mention rate over the sampled span. The comparable number across companies, where a raw count is not. |
| `distinct_subreddits` | integer | null | How many different subreddits the brand was mentioned in across the sample. Breadth of attention rather than volume. |
| `top_subreddit` | string | null | The subreddit carrying the most mentions in the sample. Frequently more useful than the official subreddit: it is where the conversation actually is. |
| `latest_mention_at` | string | null | Timestamp of the most recent sampled mention, ISO 8601. |
| `mentions_status` | string | null | ok, not\_found, blocked or skipped. blocked is common: Reddit rate limits its search feed aggressively and returns HTTP 429, which is a transient refusal rather than an absence of mentions. |
| `run_date` | string | ISO 8601 timestamp of this run. Social counts move, so a row without a date is a number with no shelf life. |

> ⚠️ **How to read these values.** Read `subreddit_description` before drawing conclusions. A large share of company subreddits describe themselves as **unofficial community subreddits**, which is a very different presence signal from a company run one.

### 🛠️ How to check a company's Reddit presence

1. Put a company domain in `company_domain`.
2. **For subscriber counts**, create a free Reddit app at reddit.com/prefs/apps and paste the client id and secret. Everything else works without them.
3. Override `mentionQuery` if your brand name is distinctive enough to search directly, or if you want to track a product name rather than the company.
4. Set `includeMentions` to `false` for the subreddit only, which halves the fetches.
5. For a list, pass an array of objects.

#### 🧪 Using it in Clay

Add an **Enrichment > Apify** column, map `company_domain`.

`mentions_per_week` and `days_since_last_post` are the two columns worth filtering on. A company with a stale subreddit and rising site wide mentions is being discussed somewhere other than its own community, and `top_subreddit` tells you where.

### 💵 How much does it cost?

Pay per event. You are charged for output, never for input.

| Event | Fires when | Price |
|---|---|---|
| `company-checked` | Once per company for which the discovery cascade completed and a non degraded row was produced, whether or not a subreddit was found. Does not fire on a degraded row. | $0.0095 |
| `profile-resolved` | Once per company whose candidate subreddit passed the identity gate and returned a readable public feed. Fires on the validation work, not on a populated subscriber cell. | $0.0065 |
| `mention-sample-collected` | Once per company for which the site wide mention feed returned at least one mention. A search that Reddit rate limited, or that returned nothing, does not charge. Never fires when mentions are turned off. | $0.0080 |

> 💳 **What you are billed for.** Prices went up on 2026-08-23 and here is exactly why. Reddit refuses datacenter connections outright, so every fetch this actor makes runs over residential connections that are billed by the gigabyte. Measured across nine companies on the platform: 729 KB of residential transfer per company, which is $0.005563 of proxy at the $8.00 per GB rate, $0.006437 per company once compute and storage are added. The old prices were set against a $0.00035 estimate that assumed datacenter routing, and datacenter routing does not work here.
>
> You still only pay for work that produced something. The mention event fires only when the search actually returned mentions, and the subreddit event only when a feed was actually read. Reddit refusing us costs us the bytes and costs you nothing, which is the right way round and matters more here than on any other actor in this family.

**What the same coverage costs bought a la carte:** No Apify Store actor resolves a company domain to its subreddit. Reddit scrapers on the Store take a subreddit name or a search term and return posts, in the $0.001 to $0.005 per item range. This actor sells a company level presence row rather than posts, which is a different product, so there is no like for like price to anchor against and the pricing follows this family's own three event shape instead.

### ⌨️ Input

| Field | Type | Required | Meaning |
|---|---|---|---|
| `company_domain` | string | no | Bare company domain, for example shopify.com. Supply this or a handle. With a domain the actor runs full discovery; with a handle it skips straight to the fetch. |
| `company_name` | string | no | Optional. Improves search accuracy and is what the identity gate checks a discovered profile against, so supplying it reduces wrong matches. |
| `handle` | string | no | Optional. The subreddit name with or without the r/ prefix, for example stripe. Supplying it skips discovery. |
| `mentionQuery` | string | no | What to search Reddit for when measuring brand mentions. Defaults to your domain in quotes, which is measured far more precise than the brand name: a bare search for "stripe" returns r/Horses and r/MyHeroAcadamia because Reddit matches the English word, while "stripe.com" returns developer subreddits. |
| `includeMentions` | string | no | When "true" (default) a site wide mention sample is pulled alongside the subreddit. Set "false" for the official subreddit only, which is one fetch instead of two. Sent as a string for Clay compatibility. |
| `includeFollowerCounts` | string | no | When "true" (default) the profile page is fetched and the counts are extracted. Set "false" to resolve the profile URL only, which is cheaper and needs no proxy. Sent as a string for Clay compatibility. |
| `skipCache` | string | no | When "false" (default) a successful lookup is cached for seven days and reused. Set "true" to force a fresh fetch. Sent as a string for Clay compatibility. |
| `redditClientId` | string | no | YOUR OWN Reddit app client id. Free to create at reddit.com/prefs/apps. This is the only route to a subscriber count: Reddit returns 403 on every unauthenticated JSON route. Leave empty and everything else still works. |
| `redditClientSecret` | string | no | YOUR OWN Reddit app client secret, paired with the client id above. Used for your run only and never stored. |

```json
{
  "company_domain": "notion.com",
  "company_name": "Notion",
  "includeMentions": "true"
}
```

### 📤 Output

Exports to **JSON, CSV, Excel, HTML or XML**. One flat, snake\_case row per
company. No nested objects, so it drops straight into Clay, a spreadsheet or a
warehouse table without a flattening step.

```json
{
  "degraded": false,
  "degradation_reason": null,
  "company_domain": "monzo.com",
  "company_name": "Monzo",
  "subreddit": "monzo",
  "subreddit_url": "https://www.reddit.com/r/monzo/",
  "subreddit_title": "Monzo Bank",
  "subreddit_description": "An unofficial forum to discuss Monzo Bank. Join the official community forum at community.monzo.com 😀",
  "subreddit_subscribers": null,
  "subreddit_subscribers_status": "not_extractable",
  "last_post_at": "2026-08-22T14:54:12+00:00",
  "days_since_last_post": 0.6,
  "recent_post_count": 25,
  "posts_per_week": 0.1,
  "distinct_recent_authors": 22,
  "subreddit_status": "ok",
  "mention_query_used": "\"monzo.com\"",
  "mention_sample_size": 25,
  "mention_sample_capped": true,
  "mention_span_days": 3649.4,
  "mentions_per_week": 0,
  "distinct_subreddits": 7,
  "top_subreddit": "UKfreeMoney",
  "latest_mention_at": "2026-08-23T05:24:31+00:00",
  "mentions_status": "ok",
  "run_date": "2026-08-23T06:15:29.084Z"
}
```

#### false versus null, and why the difference matters

`false` means we looked and the answer is no. `null` means we could not look,
or the platform withheld it. They are never interchangeable in this output. If
you filter for companies with no presence on this platform, filter on `false`,
because `null` rows are unknown rather than absent and including them will
overstate your list.

### 💡 Tips

- **Use the quoted domain as the query** unless your brand name is genuinely unambiguous.
- **`mention_sample_capped: true` means the real volume is higher than the sample.** Compare `mentions_per_week` across companies rather than raw counts.
- **A stale official subreddit is not the same as no Reddit presence.** Check `mentions_per_week` before concluding anything.
- **`distinct_recent_authors` catches fake activity.** Twenty five posts from two accounts is a bot, not a community.

### ⚠️ Known limits

- **Roughly half of all fetches are refused, and residential routing is already the best available.** Measured on the platform 2026-08-23 across nine companies: the subreddit feed was readable for four and refused for five, the mention feed readable for four and refused for five. There is no cheaper route to fall back to, because Reddit refuses datacenter connections outright. A `blocked` row is transient. Run it again.
- **Cadence is computed over a 25 item feed, and one old stickied post stretches it.** A subreddit posted in this morning can still show a low `posts_per_week` if a pinned post from years back sits inside the same 25 entries. Read `days_since_last_post` alongside it.
- **Subscriber counts need your own Reddit app credentials.** Reddit returns 403 on every unauthenticated JSON route, measured from three separate network exits. The credentials are free and take a couple of minutes to create.
- **Feeds cap at 25 items.** Every count from this actor is a SAMPLE. `mention_sample_capped` and `recent_post_count` say so explicitly, and the rate fields are what you should compare.
- **Reddit rate limits the search feed hard.** Two of three consecutive requests returned 429 during probing. That reports as `blocked`, which is transient and worth retrying, not an absence of mentions.
- **Many company subreddits are unofficial.** The actor finds the best matching subreddit and gives you its description; deciding whether it is company run is yours.
- **No post bodies, no comments, no sentiment.** This is presence and volume, not conversation analysis.

### ❓ FAQ

**Why do I need Reddit credentials for the subscriber count?**
Because Reddit serves that field only over its authenticated API now. Every public JSON route returns 403. The credentials are free.

**Why is the mention search using my domain instead of my company name?**
Because it is measurably more precise. A bare brand name search matches the English word: "stripe" returns horse and jersey subreddits. Override `mentionQuery` if your name is distinctive.

**Why is `mention_sample_size` always 25?**
That is Reddit's cap on the public feed. `mention_sample_capped` tells you when you hit it, and `mentions_per_week` is the number to compare across companies.

**What does `blocked` mean on mentions?**
Reddit rate limited the search. Transient. Retry later.

**Is the subreddit the company's official one?**
Sometimes. Read `subreddit_description`, which very often states outright that it is an unofficial community subreddit.

### 🧩 Want other GTM data?

Mamba Labs builds a fleet of GTM enrichment actors that share one flat,
Clay-ready output convention, so their rows join on `company_domain` with no
cleaning step:

| | |
|---|---|
| 🕵️ [Agent Accessibility Auditor](https://apify.com/mambalabs/agent-accessibility-auditor) | 🤖 [AI Tooling Detector](https://apify.com/mambalabs/ai-tooling-detector) |
| 📡 [B2B Buying Signals Aggregator](https://apify.com/mambalabs/b2b-buying-signals-hiring-tech-stack-intent-for-clay) | 🚀 [Prospect Engine](https://apify.com/mambalabs/b2b-prospect-engine) |
| 📝 [Publishing Frequency Tracker](https://apify.com/mambalabs/blog-publishing-frequency) | ⏩ [Sequencer Lead Push](https://apify.com/mambalabs/clay-to-instantly-smartlead-push) |
| 🔄 [Company Change-Event Feed](https://apify.com/mambalabs/company-change-event-feed) | 🧭 [Company Discovery List Builder](https://apify.com/mambalabs/company-discovery-list-builder) |
| 🏢 [Company Firmographic Enricher](https://apify.com/mambalabs/company-firmographic-enricher) | 🪪 [Company Identity Resolver](https://apify.com/mambalabs/company-identity-resolver) |
| 🌐 [Company Social Presence Mapper](https://apify.com/mambalabs/company-social-presence-mapper) | 🏷️ [Contact Classifier](https://apify.com/mambalabs/contact-classifier) |
| 📬 [Domain Deliverability Checker](https://apify.com/mambalabs/domain-deliverability-checker) | 🔗 [Domain to LinkedIn URL Resolver](https://apify.com/mambalabs/domain-to-linkedin-url-resolver) |
| ✉️ [Work Email Waterfall Finder](https://apify.com/mambalabs/email-waterfall-orchestrator) | 🎪 [Event Presence Index](https://apify.com/mambalabs/event-presence-index) |
| 💰 [Funding and Press Signal Scanner](https://apify.com/mambalabs/funding-press-signal-scanner) | 🧑‍💼 [GTM Hiring Signal Scraper](https://apify.com/mambalabs/gtm-hiring-signal-scraper) |
| 📋 [Job Posting Monitor](https://apify.com/mambalabs/gtm-job-discovery) | 🧱 [Tech Stack Detector](https://apify.com/mambalabs/gtm-tech-stack-signal-scraper) |
| 🎯 [ICP Fit Scorer](https://apify.com/mambalabs/icp-account-lead-scoring-fit-scorer-0-100-for-clay) | 🔑 [Job Board Keyword Scanner](https://apify.com/mambalabs/job-board-keyword-signal-scanner) |
| ⚖️ [Legal Entity Resolver](https://apify.com/mambalabs/legal-entity-resolver) | 💼 [LinkedIn Company Page Mapper](https://apify.com/mambalabs/linkedin-company-presence-mapper) |
| 💬 [LinkedIn Post Tracker and Comment Capture](https://apify.com/mambalabs/linkedin-post-engager-capture) | 📸 [Instagram and Facebook Brand Mapper](https://apify.com/mambalabs/meta-brand-presence-mapper) |
| 📮 [Outbound Stack Detector](https://apify.com/mambalabs/outbound-infrastructure-fingerprint) | 📄 [Page Finder and Extractor](https://apify.com/mambalabs/page-finder-extractor) |
| 👤 [People Finder and Email Verifier](https://apify.com/mambalabs/people-finder) | 📌 [Pinterest Brand Presence Mapper](https://apify.com/mambalabs/pinterest-brand-presence-mapper) |
| 🏛️ [Government Contract Award Monitor](https://apify.com/mambalabs/public-award-monitor) | 📅 [Public Company Reporting Window Finder](https://apify.com/mambalabs/public-company-reporting-window-finder) |
| 👥 [Team Page People Extractor](https://apify.com/mambalabs/team-page-people-extractor) | 🎵 [TikTok Brand Presence Mapper](https://apify.com/mambalabs/tiktok-brand-presence-mapper) |
| 🏅 [Workplace Program Detector](https://apify.com/mambalabs/workplace-program-detector) | ▶️ [YouTube Channel Stats Extractor](https://apify.com/mambalabs/youtube-channel-transcript-extractor) |

> Every actor in the suite takes a domain or a company and returns one flat row,
> so they stack in the same Clay table without reshaping anything.

> 🛠️ **Need something custom built for you or your team?** Tell us what you are
> trying to find and we will build it. [Talk to Mamba Labs](https://mambabuilt.com/contact).

### 🆘 Support

Issues, field requests and bug reports: open an issue on the actor's Issues tab.
Mamba Labs reads every one.

> ℹ️ **Sourcing and legal.** Fields come from Reddit's public RSS feeds and from search discovery. Subscriber counts live only behind Reddit's authenticated JSON routes and are reported as `not_extractable` rather than estimated. Mention samples are a sample, not a census. You are responsible for how you use the output.

Built by [Mamba Labs](https://apify.com/mambalabs).

# Actor input Schema

## `company_domain` (type: `string`):

Bare company domain, for example shopify.com. Supply this or a handle. With a domain the actor runs full discovery; with a handle it skips straight to the fetch.

## `company_name` (type: `string`):

Optional. Improves search accuracy and is what the identity gate checks a discovered profile against, so supplying it reduces wrong matches.

## `handle` (type: `string`):

Optional. The subreddit name with or without the r/ prefix, for example stripe. Supplying it skips discovery.

## `mentionQuery` (type: `string`):

What to search Reddit for when measuring brand mentions. Defaults to your domain in quotes, which is measured far more precise than the brand name: a bare search for "stripe" returns r/Horses and r/MyHeroAcadamia because Reddit matches the English word, while "stripe.com" returns developer subreddits.

## `includeMentions` (type: `string`):

When "true" (default) a site wide mention sample is pulled alongside the subreddit. Set "false" for the official subreddit only, which is one fetch instead of two. Sent as a string for Clay compatibility.

## `includeFollowerCounts` (type: `string`):

When "true" (default) the profile page is fetched and the counts are extracted. Set "false" to resolve the profile URL only, which is cheaper and needs no proxy. Sent as a string for Clay compatibility.

## `skipCache` (type: `string`):

When "false" (default) a successful lookup is cached for seven days and reused. Set "true" to force a fresh fetch. Sent as a string for Clay compatibility.

## `redditClientId` (type: `string`):

YOUR OWN Reddit app client id. Free to create at reddit.com/prefs/apps. This is the only route to a subscriber count: Reddit returns 403 on every unauthenticated JSON route. Leave empty and everything else still works.

## `redditClientSecret` (type: `string`):

YOUR OWN Reddit app client secret, paired with the client id above. Used for your run only and never stored.

## `source_tag` (type: `string`):

Internal attribution tag set by Mamba Labs on published task examples. Not required, and nothing depends on it. Leave it empty.

## Actor input object example

```json
{
  "company_domain": "shopify.com",
  "company_name": "Shopify",
  "includeMentions": "true",
  "includeFollowerCounts": "true",
  "skipCache": "false"
}
```

# Actor output Schema

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

Dataset of one flat row per company, with per platform status so a blocked fetch never reads as a zero.

# 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 = {
    "company_domain": "shopify.com",
    "company_name": "Shopify",
    "handle": "",
    "mentionQuery": ""
};

// Run the Actor and wait for it to finish
const run = await client.actor("mambalabs/reddit-brand-presence-mapper").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 = {
    "company_domain": "shopify.com",
    "company_name": "Shopify",
    "handle": "",
    "mentionQuery": "",
}

# Run the Actor and wait for it to finish
run = client.actor("mambalabs/reddit-brand-presence-mapper").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 '{
  "company_domain": "shopify.com",
  "company_name": "Shopify",
  "handle": "",
  "mentionQuery": ""
}' |
apify call mambalabs/reddit-brand-presence-mapper --silent --output-dataset

```

## MCP server setup

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

```

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/pKQZmDaT70SEb54bZ/builds/TSzabylad5Fqe86lI/openapi.json
