# Reddit Comments Search Scraper (`parsebird/reddit-comments-search-scraper`) Actor

Search Reddit comments by keyword across all of Reddit or chosen subreddits. Get comment text, author, score, parent ID, post and subreddit context, and dates.

- **URL**: https://apify.com/parsebird/reddit-comments-search-scraper.md
- **Developed by:** [ParseBird](https://apify.com/parsebird) (community)
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 1 bookmarks
- **User rating**: No ratings yet

## Pricing

from $2.19 / 1,000 comments

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?

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

### Reddit Comments Search Scraper

Reddit Comments Search Scraper finds public [Reddit](https://www.reddit.com) comments that mention any keyword or phrase, across all of Reddit or only in the subreddits you choose, and returns clean, structured comment data.

<table><tr>
<td style="border-left:4px solid #FF4500;padding:12px 16px;font-weight:600">
Search Reddit comments by keyword, limit to any list of subreddits, keep only the last N days, sort by new, relevance, or top — and get 29 fields per comment, including the exact parent ID and the parent post's score and comment count.
</td>
</tr></table>

<br>

<table>
<tr>
<td colspan="3" style="padding:10px 14px;background:#FF4500;border:none;border-radius:4px 4px 0 0">
<span style="color:#FFFFFF;font-size:14px;font-weight:700;letter-spacing:0.5px">ParseBird Reddit Suite</span>
<span style="color:#FFD6C7;font-size:13px">&nbsp;&nbsp;&bull;&nbsp;&nbsp;Posts, comments &amp; subreddit data</span>
</td>
</tr>
<tr>
<td style="padding:10px 14px;border:1px solid #E7E5E4;border-radius:0 0 0 4px;border-right:none;border-top:none;vertical-align:top;width:33%;background:#FFFFFF">
<a href="https://apify.com/parsebird/reddit-search-scraper" style="color:#1C1917;text-decoration:none;font-weight:700;font-size:13px">Reddit Search Scraper</a><br>
<span style="color:#78716C;font-size:11px">Posts &amp; comments by keyword</span>
</td>
<td style="padding:10px 14px;border:1px solid #E7E5E4;border-right:none;border-top:none;vertical-align:top;width:33%;background:#FFF0EA">
<a href="https://apify.com/parsebird/reddit-comments-search-scraper" style="color:#FF4500;text-decoration:none;font-weight:700;font-size:13px">Reddit Comments Search Scraper</a><br>
<span style="color:#FF4500;font-size:11px;font-weight:600">You are here</span>
</td>
<td style="padding:10px 14px;border:1px solid #E7E5E4;border-radius:0 0 4px 0;border-top:none;vertical-align:top;width:33%;background:#FFFFFF">
<a href="https://apify.com/parsebird/reddit-subreddit-posts-scraper" style="color:#1C1917;text-decoration:none;font-weight:700;font-size:13px">Reddit Subreddit Posts Scraper</a><br>
<span style="color:#78716C;font-size:11px">Hot, new &amp; top posts with comments</span>
</td>
</tr>
</table>

##### Copy to your AI assistant

Copy this block into ChatGPT, Claude, Cursor, or any LLM to start using this actor.

```
Use the Apify actor "parsebird/reddit-comments-search-scraper" to search public Reddit comments by keyword. Call it with the apify-client package: client.actor("parsebird/reddit-comments-search-scraper").call(run_input={"query": "openai pricing", "subreddits": ["ChatGPT", "OpenAI"], "maxComments": 25, "maxDaysOld": 7, "sort": "new", "safeSearch": false}), then read results from client.dataset(run["defaultDatasetId"]).iterate_items(). Inputs: query (string, required, keyword or phrase), subreddits (array of strings, optional, empty = all of Reddit), maxComments (integer, default 25, most unique comments to save), maxDaysOld (integer, default 7, rolling age filter in days, 0 = off), sort (string: "new" | "relevance" | "top", default "new"), safeSearch (boolean, default false). Each result has commentId, rawCommentId, commentUrl, text, createdAt, authorName, score, parentId, contentType, subredditName, subredditId, subredditUrl, isSubredditQuarantined, postId, rawPostId, postUrl, postTitle, postCreatedAt, postScore, postCommentCount, isPostNsfw, isPostSpoiler, searchQuery, effectiveSearchQuery, matchedSubreddit, sort, sourceResultPosition, resultPosition, scrapedAt. Pricing: pay per saved comment. API docs: https://apify.com/parsebird/reddit-comments-search-scraper/api — get an API token at https://console.apify.com/settings/integrations
```

### What is Reddit Comments Search Scraper?

**Reddit Comments Search Scraper** is a **Reddit comment search tool and Reddit API alternative** that finds comments containing your keyword and saves them as structured data. Type a query such as `openai pricing`, optionally add subreddits such as `r/ChatGPT`, and the scraper returns each matching comment with its **text, author, score, date, parent ID, permalink**, and the **parent post and subreddit** it belongs to.

The easiest way to try it: open the Input tab, keep the example query, and click **Start**. You get your first Reddit comments in about 20 seconds.

### What can Reddit Comments Search Scraper do?

- 🔎 **Search Reddit comments by keyword** — any word, phrase, or Reddit search operator (for example `"customer service"` in quotes for an exact phrase).
- 🧭 **Search all of Reddit or specific subreddits** — add one or many communities. Each subreddit is searched separately with `subreddit:` and the results are merged.
- 🧹 **Unique comments only** — a comment found in more than one search is saved once, with the subreddit search that found it first.
- 📅 **Rolling age filter** — `maxDaysOld` keeps only comments from the last N days (exact to the second). Set it to `0` to turn it off.
- ↕️ **Three sort orders** — `new`, `relevance`, or `top`, just like Reddit's search page.
- 🧵 **Conversation context** — every comment includes its exact `parentId` (the post `t3_…` or the comment `t1_…` it replies to), plus the parent post's title, URL, date, score, and comment count.
- 🛡️ **Optional mature-content filter** — `safeSearch` skips comments on posts or communities Reddit marks as NSFW.

Because it runs on the Apify platform, you also get:

- **Scheduling** — run the same search every hour or every day with [Apify Schedules](https://docs.apify.com/platform/schedules) for brand and keyword monitoring.
- **API access** — start runs and fetch results with the [Apify API](https://docs.apify.com/api/v2) or the Python and JavaScript clients.
- **Integrations** — send new comments to Google Sheets, Slack, Zapier, Make, n8n, or webhooks through [Apify integrations](https://docs.apify.com/platform/integrations).
- **Export formats** — download results as JSON, CSV, Excel, XML, or HTML.

### What data can you extract from Reddit comments?

| Field | Description |
|-------|-------------|
| `commentId` / `rawCommentId` | Reddit comment ID, without and with the `t1_` prefix |
| `commentUrl` | Permalink to the comment |
| `text` | Full comment text (Markdown as written on Reddit) |
| `createdAt` | When the comment was posted (ISO 8601, UTC) |
| `authorName` | Username of the commenter (`[deleted]` if Reddit shows it that way) |
| `score` | Comment score shown by Reddit |
| `parentId` | What the comment replies to: the post (`t3_…`) or another comment (`t1_…`) |
| `contentType` | `text`, `image`, `gif`, or `media`, based on media embedded in the comment |
| `subredditName` / `subredditId` / `subredditUrl` | The community the comment was posted in |
| `isSubredditQuarantined` | Whether Reddit has quarantined that community |
| `postId` / `rawPostId` / `postUrl` / `postTitle` | The parent post |
| `postCreatedAt` / `postScore` / `postCommentCount` | Parent post date, score, and number of comments |
| `isPostNsfw` / `isPostSpoiler` | Parent post flags |
| `searchQuery` / `effectiveSearchQuery` | Your query, and the exact query sent to Reddit (with `subreddit:` added when you pick subreddits) |
| `matchedSubreddit` | The subreddit from your list whose search found the comment (`null` when searching all of Reddit) |
| `sourceResultPosition` / `resultPosition` | Position in Reddit's results before filtering, and position in your dataset |
| `scrapedAt` | When the comment was saved |

Some fields can be `null` when Reddit does not show the value. The scraper saves public data as Reddit shows it and never fills in missing facts.

### How to scrape Reddit comments by keyword

1. Open [Reddit Comments Search Scraper](https://apify.com/parsebird/reddit-comments-search-scraper) and go to the **Input** tab.
2. Enter your **Search query**, for example `openai pricing`.
3. Optionally add **Subreddits** such as `ChatGPT` and `OpenAI`. Leave the list empty to search all of Reddit.
4. Set **Max comments** and **Max comment age (days)**, and choose a **Sort by** order.
5. Click **Start** and wait for the run to finish.
6. Open the **Output** tab and download the Reddit comments as JSON, CSV, or Excel, or read them through the API.

### Input parameters

| Parameter | Type | Required | Default | Description |
|-----------|------|----------|---------|-------------|
| `query` | string | **Yes** | — | Keyword or phrase to search for in Reddit comments |
| `subreddits` | array of strings | No | `[]` | Communities to search, e.g. `ChatGPT` or `r/ChatGPT`. Empty = all of Reddit |
| `maxComments` | integer | No | `25` | Most unique comments to save |
| `maxDaysOld` | integer | No | `7` | Keep only comments from the last N days. `0` turns the age filter off |
| `sort` | string | No | `new` | `new`, `relevance`, or `top` |
| `safeSearch` | boolean | No | `false` | Filter mature results and skip comments on NSFW posts or communities |
| `proxyConfiguration` | object | No | Residential Apify Proxy | Network settings. Keep the default |

Example input:

```json
{
  "query": "openai pricing",
  "subreddits": ["ChatGPT", "OpenAI"],
  "maxComments": 25,
  "maxDaysOld": 7,
  "sort": "new",
  "safeSearch": false
}
```

### Output example

Each comment is one dataset item. You can download the dataset as JSON, CSV, Excel, XML, or HTML.

```json
[
  {
    "commentId": "pbyxeb8",
    "rawCommentId": "t1_pbyxeb8",
    "commentUrl": "https://www.reddit.com/r/ChatGPT/comments/1ttph0z/chatgpt_pro_5x_shows_103_on_pricing_page_but_114/pbyxeb8/",
    "text": "OpenAI is increasing the price every 2 months at about 10% each time.",
    "createdAt": "2026-09-25T13:36:18.000Z",
    "authorName": "NNunes",
    "score": 1,
    "parentId": "t3_1ttph0z",
    "subredditName": "ChatGPT",
    "subredditId": "t5_7hqomg",
    "subredditUrl": "https://www.reddit.com/r/ChatGPT/",
    "postId": "1ttph0z",
    "rawPostId": "t3_1ttph0z",
    "postUrl": "https://www.reddit.com/r/ChatGPT/comments/1ttph0z/chatgpt_pro_5x_shows_103_on_pricing_page_but_114/",
    "postTitle": "ChatGPT Pro 5x shows €103 on pricing page but €114 in the upgrade modal — is this a bug?",
    "postCreatedAt": "2026-06-01T11:35:43.000Z",
    "postScore": 2,
    "postCommentCount": 4,
    "isPostNsfw": false,
    "isPostSpoiler": false,
    "isSubredditQuarantined": false,
    "contentType": "text",
    "searchQuery": "openai pricing",
    "effectiveSearchQuery": "openai pricing subreddit:ChatGPT",
    "matchedSubreddit": "ChatGPT",
    "sort": "new",
    "sourceResultPosition": 1,
    "resultPosition": 1,
    "scrapedAt": "2026-09-28T11:00:12.138Z"
  },
  {
    "commentId": "pbh0zxb",
    "rawCommentId": "t1_pbh0zxb",
    "commentUrl": "https://www.reddit.com/r/ChatGPT/comments/1wnielg/gpt_6_luna_max_scores_as_high_as_gpt_6_sol_high/pbh0zxb/",
    "text": "You keep saying “therefore” where you actually need evidence.\n\nOpenAI literally cited improved efficiency alongside its recent price reductions",
    "createdAt": "2026-09-23T00:19:01.000Z",
    "authorName": "lchabod89",
    "score": 0,
    "parentId": "t1_pbh0g4n",
    "subredditName": "ChatGPT",
    "subredditId": "t5_7hqomg",
    "subredditUrl": "https://www.reddit.com/r/ChatGPT/",
    "postId": "1wnielg",
    "rawPostId": "t3_1wnielg",
    "postUrl": "https://www.reddit.com/r/ChatGPT/comments/1wnielg/gpt_6_luna_max_scores_as_high_as_gpt_6_sol_high/",
    "postTitle": "GPT 6 Luna Max scores as high as GPT 6 Sol High and Astra Low whilst being 3x cheaper than GPT 6 Sol and 7.3x cheaper than Astra on DeepSWE",
    "postCreatedAt": "2026-09-22T18:55:47.000Z",
    "postScore": 379,
    "postCommentCount": 110,
    "isPostNsfw": false,
    "isPostSpoiler": false,
    "isSubredditQuarantined": false,
    "contentType": "text",
    "searchQuery": "openai pricing",
    "effectiveSearchQuery": "openai pricing subreddit:ChatGPT",
    "matchedSubreddit": "ChatGPT",
    "sort": "new",
    "sourceResultPosition": 5,
    "resultPosition": 5,
    "scrapedAt": "2026-09-28T11:00:12.164Z"
  }
]
```

### Use Reddit Comments Search Scraper via API

**Python** ([apify-client](https://docs.apify.com/api/client/python)):

```python
from apify_client import ApifyClient

client = ApifyClient("<YOUR_APIFY_TOKEN>")

run = client.actor("parsebird/reddit-comments-search-scraper").call(run_input={
    "query": "openai pricing",
    "subreddits": ["ChatGPT", "OpenAI"],
    "maxComments": 100,
    "maxDaysOld": 7,
    "sort": "new",
})

for comment in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(comment["createdAt"], comment["subredditName"], comment["text"][:80])
```

**JavaScript** ([apify-client](https://docs.apify.com/api/client/js)):

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

const client = new ApifyClient({ token: '<YOUR_APIFY_TOKEN>' });

const run = await client.actor('parsebird/reddit-comments-search-scraper').call({
    query: 'openai pricing',
    subreddits: ['ChatGPT', 'OpenAI'],
    maxComments: 100,
    maxDaysOld: 7,
    sort: 'new',
});

const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((c) => console.log(c.createdAt, c.subredditName, c.text.slice(0, 80)));
```

### Use cases for Reddit comment data

- **Brand and product monitoring** — track what people say about your company, product, or competitors in Reddit comments, on a daily schedule.
- **Market and pricing research** — collect real user opinions about prices, plans, and features.
- **Customer feedback mining** — find complaints, feature requests, and praise in communities your customers use.
- **Sentiment analysis and NLP datasets** — build text datasets of Reddit comments for classification or LLM evaluation.
- **Community research** — compare how different subreddits talk about the same topic.
- **Lead and trend discovery** — spot people asking for recommendations in your niche.

### How it works

1. The scraper runs Reddit's public comment search for your query — once for all of Reddit, or once per subreddit with `subreddit:<name>` added.
2. It reads the search results page by page and, when you pick several subreddits, takes turns between them so every community contributes.
3. It removes duplicates and applies the age filter and the optional mature-content filter.
4. It looks up each saved comment and its parent post on Reddit to add the exact parent ID, full text, scores, and post details.
5. It saves each comment to the dataset and stops at `maxComments`.

### How much does it cost to scrape Reddit comments?

Reddit Comments Search Scraper uses **pay-per-event** pricing. You pay only for comments saved to your dataset. Empty searches and filtered-out comments are free.

| Event | Apify plan | Price per event | Price per 1,000 comments |
|-------|-----------|----------------|-----------------|
| `comment-scraped` | Free | $0.00249 | **$2.49** |
| `comment-scraped` | Bronze | $0.00239 | **$2.39** |
| `comment-scraped` | Silver | $0.00229 | **$2.29** |
| `comment-scraped` | Gold | $0.00219 | **$2.19** |

One event is one unique Reddit comment saved to the dataset. For example, 500 comments cost about $1.25 on the Free plan. The Apify Free plan includes monthly platform credits you can use to try it. You can also set a maximum spend per run, and the scraper stops when that limit is reached.

### FAQ

**How many comments can I get per search?**
Reddit's comment search returns up to roughly 230–250 comments for a single query. To collect more, add subreddits (each subreddit is its own search), or split a broad topic into several more specific queries.

**How does the age filter work with each sort order?**
With `sort: new`, results come newest first, so the scraper stops as soon as it reaches comments older than `maxDaysOld`. Reddit's comment search has no date filter for `relevance` and `top`, so with those sorts the scraper checks the date of each result and skips older ones. That can leave only a few results inside a short window. For recent-comment monitoring, use `sort: new`.

**What does parentId tell me?**
It is the Reddit ID of whatever the comment replies to. A `t3_` prefix means a direct reply to the post. A `t1_` prefix means a reply to another comment.

**Does safeSearch remove all NSFW content?**
Logged-out Reddit search already hides most mature content. With `safeSearch` on, the scraper also skips any comment whose parent post or community Reddit marks as NSFW.

**Can I search by exact phrase or use Reddit search operators?**
Yes. The query is passed to Reddit as written, so `"customer service"` (with quotes) searches for the exact phrase.

**Can I schedule recurring searches?**
Yes. Create a [task](https://docs.apify.com/platform/actors/running/tasks) with your input and add a [schedule](https://docs.apify.com/platform/schedules). Combine it with a webhook or integration to get new comments in Slack, Google Sheets, or your own app.

**Can I use it through the API or with AI agents?**
Yes. Use the [API tab](https://apify.com/parsebird/reddit-comments-search-scraper/api), the Python or JavaScript client above, or the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp) to call it from Claude, ChatGPT, Cursor, and other AI tools.

**Why is a field null?**
Some values are not available for every comment, for example when searching all of Reddit `matchedSubreddit` is always `null`. The scraper never guesses missing values.

**Something doesn't work or I need a feature?**
Open an issue in the [Issues tab](https://apify.com/parsebird/reddit-comments-search-scraper/issues). We read and answer every report.

### Is it legal to scrape Reddit comments?

This scraper collects only publicly available Reddit comments that anyone can see without logging in. It does not access private communities, private messages, or account data. Comments can still contain personal data, which is protected by regulations such as the GDPR in the EU. Only scrape personal data when you have a legitimate reason, and check Reddit's terms and your local laws if you are unsure. Read more in Apify's post [Is web scraping legal?](https://blog.apify.com/is-web-scraping-legal/).

### Other social media scrapers by ParseBird

- [Threads Search Scraper](https://apify.com/parsebird/threads-search-scraper) — search Threads posts by keyword
- [Bluesky Posts Scraper](https://apify.com/parsebird/bluesky-posts-scraper) — collect Bluesky posts
- [Truth Social Scraper & API](https://apify.com/parsebird/truth-social-scraper) — scrape Truth Social posts and profiles
- [YouTube Search Scraper & API](https://apify.com/parsebird/youtube-search-scraper) — search YouTube videos by keyword
- [YouTube Live Chat Scraper](https://apify.com/parsebird/youtube-live-chat-scraper) — capture YouTube live chat messages

# Changelog

This Actor's version history is a separate document: https://apify.com/parsebird/reddit-comments-search-scraper/changelog.md

# Actor input Schema

## `query` (type: `string`):

Enter the keyword or phrase to find in Reddit comments, e.g. <code>openai pricing</code>. Reddit's own search operators work too.

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

Limit the search to these communities. Enter names like <code>ChatGPT</code> or <code>r/ChatGPT</code>. Leave empty to search across all of Reddit. Each subreddit is searched separately and results are merged without duplicates.

## `maxComments` (type: `integer`):

Set the most unique comments to save. Reddit returns up to roughly 250 comments per search, so add more subreddits for bigger datasets.

## `maxDaysOld` (type: `integer`):

Keep only comments posted within this exact rolling number of days. Set to 0 to turn off the age filter.

## `sort` (type: `string`):

Choose the order Reddit returns comments in: newest first, most relevant, or top-voted.

## `safeSearch` (type: `boolean`):

Ask Reddit to filter mature results and skip comments on posts or communities Reddit marks as NSFW. Note: logged-out Reddit search already hides most mature content.

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

Proxy servers used to reach Reddit. Reddit blocks most datacenter IPs, so residential Apify Proxy is the default and recommended.

## Actor input object example

```json
{
  "query": "openai pricing",
  "subreddits": [
    "ChatGPT",
    "OpenAI"
  ],
  "maxComments": 25,
  "maxDaysOld": 7,
  "sort": "new",
  "safeSearch": false,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  }
}
```

# Actor output Schema

## `dataset` (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 = {
    "query": "openai pricing",
    "subreddits": [
        "ChatGPT",
        "OpenAI"
    ],
    "maxComments": 25,
    "maxDaysOld": 7,
    "sort": "new",
    "proxyConfiguration": {
        "useApifyProxy": true,
        "apifyProxyGroups": [
            "RESIDENTIAL"
        ]
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("parsebird/reddit-comments-search-scraper").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 = {
    "query": "openai pricing",
    "subreddits": [
        "ChatGPT",
        "OpenAI",
    ],
    "maxComments": 25,
    "maxDaysOld": 7,
    "sort": "new",
    "proxyConfiguration": {
        "useApifyProxy": True,
        "apifyProxyGroups": ["RESIDENTIAL"],
    },
}

# Run the Actor and wait for it to finish
run = client.actor("parsebird/reddit-comments-search-scraper").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 '{
  "query": "openai pricing",
  "subreddits": [
    "ChatGPT",
    "OpenAI"
  ],
  "maxComments": 25,
  "maxDaysOld": 7,
  "sort": "new",
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  }
}' |
apify call parsebird/reddit-comments-search-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,parsebird/reddit-comments-search-scraper"
        }
    }
}
```

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/wtFWvjyQixI4VS97l/builds/FTbP0cOf1QAR0IobT/openapi.json
