# Reddit Posts Scraper - Low-cost💲🔥📝📥 (`delectable_incubator/reddit-posts-scraper-low-cost`) Actor

🔍 Effortlessly gather Reddit post data by keyword! Enter any keyword to collect post titles, URLs 🔗, media 🖼️, subreddit info 📚, authors 👤, scores ⬆️, comments 💬, flairs 🏷️, timestamps 🕒, & more. Perfect for 📈 market research💡 trend discovery, 🕵️ competitor analysis & workflow automation

- **URL**: https://apify.com/delectable\_incubator/reddit-posts-scraper-low-cost.md
- **Developed by:** [Prime Scrape](https://apify.com/delectable_incubator) (community)
- **Categories:** Social media, Videos, Automation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $0.00005 / actor start

This Actor is paid per event and usage. You are charged both the fixed price for specific events and for Apify platform usage.
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 a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
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.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use 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

<p align="center">
  <img src="https://i.ibb.co/jkNS73wX/readme.png" alt="Reddit Posts Scraper" width="100%">
</p>

---

## 🔥📥 Reddit Posts Scraper | Bulk Reddit Posts Scraper | Apify Actor

### 🚀 Extract Reddit Posts in Seconds (No Code)

The **Reddit Posts Scraper** is a powerful, scalable and SEO-optimized Apify Actor built to extract **Reddit posts in bulk** from keyword searches or Reddit URLs.

Collect thousands of Reddit posts, monitor trending discussions, analyze communities, build AI datasets, perform market research, and automate social listening with structured, export-ready data.

Perfect for marketers, researchers, agencies, AI engineers, startups and data analysts.

---

## 🔥 Why Choose This Reddit Posts Scraper?

✔ Best Reddit Posts Scraper on Apify

✔ Supports **Bulk Keyword Scraping**

✔ Supports **Bulk Reddit URL Scraping**

✔ Multiple sorting options

✔ Time filtering

✔ Fast & scalable extraction engine

✔ Structured JSON / CSV / Excel output

✔ Perfect for trend analysis & AI datasets

✔ No coding required

✔ No proxy required

---

## 🎯 What This Scraper Does

This Apify Actor extracts Reddit posts from keyword searches or Reddit URLs.

#### 📌 Core Features

✅ Scrape Reddit posts

✅ Bulk keyword scraping (multi-search)

✅ Bulk Reddit URL scraping

✅ Time filtering (hour, day, week, month, year, all)

✅ Sort by relevance

✅ Sort by hot

✅ Sort by top

✅ Sort by new

✅ Sort by comments

✅ Automatic pagination

✅ Extract votes

✅ Extract comments count

✅ Extract subreddit

✅ Extract timestamps

✅ Extract preview thumbnails

✅ Extract NSFW & spoiler flags

✅ High-speed extraction engine

---

## ⚡ Input Configuration

### 🔥 BULK KEYWORD MODE

````

{
"keywords": \[
"artificial intelligence",
"chatgpt",
"football",
"bitcoin",
"gaming",
"tesla"
],
"time": "month",
"sort": "top",
"max\_items": 500
}

```

---

## 📊 Extracted Post Data

| Field | Description |
|--------|-------------|
| id | Reddit post ID |
| title | Post title |
| subreddit | Subreddit name |
| post_url | Direct Reddit URL |
| timestamp | UTC publication date |
| votes | Number of upvotes |
| comments | Number of comments |
| thumbnail_url | Preview image |
| nsfw | NSFW flag |
| spoiler | Spoiler flag |
| extraction_date | Extraction timestamp |

---

## 💡 Use Cases

This Reddit Posts Scraper is ideal for:

📈 Trend analysis

📊 Market research

💬 Social listening

📢 Brand monitoring

🏢 Competitive intelligence

🤖 AI training datasets

📡 News monitoring

🎯 Content discovery

⚙️ Automation workflows

---

## 🚀 Key Features

⚡ Bulk keyword scraping

🌍 Bulk Reddit URL scraping

📊 Multi-search support

🧠 Clean structured datasets

📈 Trend-ready output

📌 Smart pagination

🔁 Auto retry system

⚡ High-speed scraping engine

💾 Export-ready datasets

☁️ Scalable Apify cloud execution

---

## 📤 Output Formats

✔ JSON

✔ CSV

✔ Excel (XLSX)

✔ XML

✔ HTML

---

## 📦 Example Output

```

{
"id": "t3\_1j1dcyz",
"title": "Football coaches showing off",
"subreddit": "r/oddlysatisfying",
"post\_url": "https://www.reddit.com/r/oddlysatisfying/comments/1j1dcyz/football\_coaches\_showing\_off/",
"timestamp": "2025-03-01T23:50:13.281000+0000",
"votes": "112K",
"comments": "979",
"thumbnail\_url": "https://external-preview.redd.it/example.jpg",
"nsfw": false,
"spoiler": false,
"extraction\_date": "2025-09-16T10:45:09.536Z"
}

````

---

## 📊 Built-in Views

✔ Overview

✔ Trending Posts

✔ Top Posts

✔ By Subreddit

✔ By Keyword

✔ Recent Posts

All datasets are fully exportable to JSON, CSV and Excel.

---

## 🔥 Why This is One of the Best Reddit Post Scrapers on Apify?

✔ Optimized for Apify Marketplace SEO

✔ Bulk keyword support

✔ Bulk Reddit URL support

✔ High-performance scraping engine

✔ Structured datasets

✔ Enterprise-ready

✔ Reliable pagination

✔ Excellent for market intelligence

✔ Built for marketers, researchers, agencies and developers

---

## 💸 Pricing

This scraper runs on a pay-per-result pricing model.

You only pay for successfully extracted records.

💳 Price: **$2.69 / 1,000 results**

---

## ❓ FAQ

#### Can I scrape multiple keywords?

Yes. Bulk keyword mode is fully supported.

#### Can I scrape multiple Reddit URLs?

Yes. Bulk URL mode is fully supported.

#### Does it support pagination?

Yes. Pagination is handled automatically.

#### Can I filter by time?

Yes.

Supported filters include:

- hour
- day
- week
- month
- year
- all

#### Can I sort the results?

Yes.

Supported sorting:

- relevance
- hot
- top
- new
- comments

#### Can I export the data?

Yes.

Supported formats include JSON, CSV, Excel, XML and HTML.

#### Is coding required?

No.

This is a fully no-code Apify Actor.

---

## ⚠️ Disclaimer

This project is an independent data extraction tool and is not affiliated with, endorsed by, or associated with Reddit.

---

## 🔗 Related Actors

More PrimeScrape scrapers are coming soon.

🚀 Reddit Intelligence Suite

🚀 Social Media Scrapers

🚀 Trend Analysis Tools

🚀 AI Dataset Builders

🚀 Market Intelligence Tools

---

## 🌍 PrimeScrape Ecosystem

Built for large-scale data extraction, automation, AI datasets and market intelligence.

📊 Social media intelligence

📈 Trend analysis

🤖 AI datasets

🏢 Competitive intelligence

⚙️ Automation pipelines

☁️ Cloud scraping

---

## 📬 Support

⭐⭐⭐⭐⭐

If you enjoy this actor, please leave a 5-star review.

📩 Need a custom scraper or enterprise solution?

Contact us through Apify.

# Actor input Schema

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

One or more keywords to search for posts on Reddit. Each keyword is scraped separately.
## `time` (type: `string`):

Select the time period for the search results
## `sort` (type: `string`):

Select how to sort the search results
## `maxitems` (type: `integer`):

Limits how many posts will be scraped from Reddit per keyword

## Actor input object example

```json
{
  "keywords": [
    "AI"
  ],
  "time": "year",
  "sort": "relevance",
  "maxitems": 100
}
````

# Actor output Schema

## `results` (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": [
        "AI"
    ],
    "time": "year",
    "sort": "relevance",
    "maxitems": 100
};

// Run the Actor and wait for it to finish
const run = await client.actor("delectable_incubator/reddit-posts-scraper-low-cost").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": ["AI"],
    "time": "year",
    "sort": "relevance",
    "maxitems": 100,
}

# Run the Actor and wait for it to finish
run = client.actor("delectable_incubator/reddit-posts-scraper-low-cost").call(run_input=run_input)

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

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

```

## CLI example

```bash
echo '{
  "keywords": [
    "AI"
  ],
  "time": "year",
  "sort": "relevance",
  "maxitems": 100
}' |
apify call delectable_incubator/reddit-posts-scraper-low-cost --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=delectable_incubator/reddit-posts-scraper-low-cost",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Reddit Posts Scraper - Low-cost💲🔥📝📥",
        "description": "🔍 Effortlessly gather Reddit post data by keyword! Enter any keyword to collect post titles, URLs 🔗, media 🖼️, subreddit info 📚, authors 👤, scores ⬆️, comments 💬, flairs 🏷️, timestamps 🕒, & more. Perfect for 📈 market research💡 trend discovery, 🕵️ competitor analysis & workflow automation",
        "version": "0.0",
        "x-build-id": "eDl2oishSG4AOMBXk"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/delectable_incubator~reddit-posts-scraper-low-cost/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-delectable_incubator-reddit-posts-scraper-low-cost",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/delectable_incubator~reddit-posts-scraper-low-cost/runs": {
            "post": {
                "operationId": "runs-sync-delectable_incubator-reddit-posts-scraper-low-cost",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/delectable_incubator~reddit-posts-scraper-low-cost/run-sync": {
            "post": {
                "operationId": "run-sync-delectable_incubator-reddit-posts-scraper-low-cost",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "required": [
                    "keywords",
                    "time",
                    "sort",
                    "maxitems"
                ],
                "properties": {
                    "keywords": {
                        "title": "Search Keywords 🔍",
                        "type": "array",
                        "description": "One or more keywords to search for posts on Reddit. Each keyword is scraped separately.",
                        "default": [
                            "AI"
                        ],
                        "items": {
                            "type": "string"
                        }
                    },
                    "time": {
                        "title": "Time Period ⏰",
                        "enum": [
                            "all",
                            "hour",
                            "day",
                            "week",
                            "month",
                            "year"
                        ],
                        "type": "string",
                        "description": "Select the time period for the search results",
                        "default": "year"
                    },
                    "sort": {
                        "title": "Sort By 📊",
                        "enum": [
                            "relevance",
                            "hot",
                            "top",
                            "new",
                            "comments"
                        ],
                        "type": "string",
                        "description": "Select how to sort the search results",
                        "default": "relevance"
                    },
                    "maxitems": {
                        "title": "Maximum number of posts to scrape 💬",
                        "type": "integer",
                        "description": "Limits how many posts will be scraped from Reddit per keyword",
                        "default": 100
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
