# Subreddit Activity Tracker: Posting Cadence (`getascraper/reddit-subreddit-posting-cadence-monitor`) Actor

Measure subreddit activity with recent post counts, posting gaps, observed windows, and repeat-run changes. Export cadence snapshots to Google Sheets, Looker Studio, Slack, or n8n. No audience-size, engagement, or best-time claims.

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

## Pricing

from $0.66 / 1,000 cadence snapshots

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

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

## ⏱️ Subreddit Activity Tracker: Posting Cadence

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

<table width="100%">
<tr>
<td style="padding:24px 28px;background:#FFF4F0;border:1px solid #FFB49A;border-top:4px solid #FF4500;border-radius:12px">
<span style="font-size:23px;font-weight:800;color:#1C1917;line-height:1.3">Measure how quickly recent posts arrive in one subreddit.</span><br>
<span style="font-size:15px;color:#57534E;line-height:1.6">Get post counts, observed time windows, posting-gap statistics, and repeat-run changes for community and content planning.</span>
</td>
</tr>
</table>

<table width="100%">
<tr>
<td style="padding:14px 12px;width:25%;background:#FFFFFF;border:1px solid #FFB49A;border-radius:10px 0 0 10px;vertical-align:top">
<span style="font-size:15px;font-weight:800;color:#B83200">🧮 Post counts</span><br>
<span style="font-size:12px;color:#57534E">See how many recent entries have usable times</span>
</td>
<td style="padding:14px 12px;width:25%;background:#FFFFFF;border:1px solid #FFB49A;border-left:none;vertical-align:top">
<span style="font-size:15px;font-weight:800;color:#B83200">⏱️ Time gaps</span><br>
<span style="font-size:12px;color:#57534E">Compare minimum, median, and maximum gaps</span>
</td>
<td style="padding:14px 12px;width:25%;background:#FFFFFF;border:1px solid #FFB49A;border-left:none;vertical-align:top">
<span style="font-size:15px;font-weight:800;color:#B83200">🪟 Honest windows</span><br>
<span style="font-size:12px;color:#57534E">Keep the observed time range beside every result</span>
</td>
<td style="padding:14px 12px;width:25%;background:#FFFFFF;border:1px solid #FFB49A;border-left:none;border-radius:0 10px 10px 0;vertical-align:top">
<span style="font-size:15px;font-weight:800;color:#B83200">🔁 Change tracking</span><br>
<span style="font-size:12px;color:#57534E">Compare the current median gap with the previous run</span>
</td>
</tr>
</table>

Use this subreddit activity tracker when generic Reddit analytics are too broad. It measures recent posting cadence without claiming audience size or engagement.

### 🔍 What this Actor does

Enter one public subreddit and choose a recent-post limit. The Actor returns one structured activity snapshot for the observed window.

The snapshot includes usable post count, oldest and newest publication times, observed minutes, and minimum, median, and maximum posting gaps.

Repeat runs can show whether the median gap changed. The result stays tied to its recent window, so you can interpret it honestly.

<table width="100%"><tr>
<td style="padding:12px 18px;background:#FFF4F0;border-left:4px solid #FF4500">
<span style="font-size:15px;color:#1C1917">&#9889; <b>Track community tempo without a misleading member count.</b> Use recent posting gaps as an observed activity snapshot, not a growth claim.</span>
</td>
</tr></table>

### 👥 Who uses it

- Community strategists comparing posting tempo across focused research runs
- Reddit marketers planning community-specific publishing workflows
- Agencies preparing recurring subreddit activity reports
- Social content teams watching a community become faster or slower
- Researchers exporting cadence snapshots to Google Sheets or Looker Studio

### 🚀 How to use it

<table width="100%">
<tr>
<td style="padding:16px 14px;width:33%;background:#FFF4F0;border:1px solid #FFB49A;border-radius:10px 0 0 10px;vertical-align:top">
<span style="font-size:12px;font-weight:800;color:#B83200;letter-spacing:1px">STEP 1</span><br>
<span style="font-size:14px;font-weight:700;color:#1C1917">Choose a subreddit</span><br>
<span style="font-size:12px;color:#57534E">Enter the public community name without r/.</span>
</td>
<td style="padding:16px 14px;width:33%;background:#FFF4F0;border:1px solid #FFB49A;border-left:none;vertical-align:top">
<span style="font-size:12px;font-weight:800;color:#B83200;letter-spacing:1px">STEP 2</span><br>
<span style="font-size:14px;font-weight:700;color:#1C1917">Set the window</span><br>
<span style="font-size:12px;color:#57534E">Choose 1 to 25 recent entries to measure.</span>
</td>
<td style="padding:16px 14px;width:33%;background:#FFF4F0;border:1px solid #FFB49A;border-left:none;border-radius:0 10px 10px 0;vertical-align:top">
<span style="font-size:12px;font-weight:800;color:#B83200;letter-spacing:1px">STEP 3</span><br>
<span style="font-size:14px;font-weight:700;color:#1C1917">Compare snapshots</span><br>
<span style="font-size:12px;color:#57534E">Export the result or schedule later runs for change tracking.</span>
</td>
</tr>
</table>

### 📥 Input

| Field       | Type    | Required | Description                                                      |
| ----------- | ------- | -------- | ---------------------------------------------------------------- |
| `subreddit` | String  | Yes      | One public subreddit name without `r/`. The default is `vscode`. |
| `limit`     | Integer | No       | Inspect 1 to 25 recent entries. The default is 10.               |

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

### 📤 Data you receive

| Field                        | Type    | Description                                                               |
| ---------------------------- | ------- | ------------------------------------------------------------------------- |
| `type`                       | String  | Record type, returned as `POSTING_CADENCE_SNAPSHOT`.                      |
| `status`                     | String  | `NEW`, `CHANGED`, or `UNCHANGED` compared with the previous complete run. |
| `subreddit`                  | String  | Community name used for the snapshot.                                     |
| `fetchedAt`                  | String  | Time when this snapshot was collected.                                    |
| `entryCount`                 | Integer | Recent entries returned by the public source.                             |
| `usablePostCount`            | Integer | Entries with usable publication times.                                    |
| `oldestPublished`            | String  | Oldest usable time in this observed window.                               |
| `newestPublished`            | String  | Newest usable time in this observed window.                               |
| `observedWindowMinutes`      | Number  | Minutes between the oldest and newest usable posts.                       |
| `minGapMinutes`              | Number  | Smallest consecutive posting gap in the window.                           |
| `medianGapMinutes`           | Number  | Median consecutive posting gap in the window.                             |
| `maxGapMinutes`              | Number  | Largest consecutive posting gap in the window.                            |
| `previousMedianGapMinutes`   | Number  | Median gap from the previous comparable run.                              |
| `medianGapDeltaMinutes`      | Number  | Current median gap minus the previous median gap.                         |
| `coverageStatus`             | String  | Confirms the result covers a recent window.                               |
| `windowLimitation`           | String  | Plain-language reminder that the window is not complete history.          |
| `activityInferenceAvailable` | Boolean | Shows whether enough usable posts existed for gap analysis.               |

This compact example comes from a verified cloud run:

```json
{
    "status": "UNCHANGED",
    "subreddit": "vscode",
    "entryCount": 10,
    "usablePostCount": 10,
    "observedWindowMinutes": 1447.52,
    "medianGapMinutes": 142.23,
    "previousMedianGapMinutes": 142.23,
    "medianGapDeltaMinutes": 0,
    "coverageStatus": "RECENT_WINDOW"
}
```

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

### 🔄 Repeat runs and scheduling

Run the same subreddit and limit again to receive `CHANGED` or `UNCHANGED` status. Comparable runs also show the median-gap difference.

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

### ⚠️ Coverage and responsible use

- Results represent a bounded recent source window, not complete subreddit history.
- The Actor does not return member counts, online counts, votes, comments, or engagement rates.
- It does not predict the best time to post.
- Empty or one-entry windows do not mean the subreddit has zero activity.
- Compare snapshots only when their source and entry limit match.
- Failed or incomplete runs do not advance the saved comparison baseline.
- Commercial use requires the permissions and policy review applicable to your use case.

### 💰 Pricing

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

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

### ⭐ Enjoying Subreddit Activity Tracker: Posting Cadence?

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

### 🔌 Integrations

Send cadence snapshots to Google Sheets, Looker Studio, Slack, Microsoft Teams, n8n, Make, Zapier, or another Apify integration.

Common workflows include weekly activity reports, community comparisons, and alerts when posting tempo changes.

### ❓ FAQ

**Is this a subreddit member-count or audience-growth tracker?**

No. It measures publication times in one bounded recent window.

**Does it calculate the best time to post?**

No. It reports observed gaps and does not model engagement.

**What does a larger median gap mean?**

Posts were farther apart in that observed window. It does not prove a long-term trend.

**Why can gap fields be empty?**

At least two usable publication times are needed to calculate a gap.

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

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

### 🔗 Other actors

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

# Actor input Schema

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

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

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

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

## Actor input object example

```json
{
  "subreddit": "vscode",
  "limit": 10
}
```

# Actor output Schema

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

No description

## `runSummary` (type: `string`):

No description

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

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

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "subreddit": "vscode",
    "limit": 10
};

// Run the Actor and wait for it to finish
const run = await client.actor("getascraper/reddit-subreddit-posting-cadence-monitor").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "subreddit": "vscode",
    "limit": 10,
}

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

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

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

```

## CLI example

```bash
echo '{
  "subreddit": "vscode",
  "limit": 10
}' |
apify call getascraper/reddit-subreddit-posting-cadence-monitor --silent --output-dataset

```

## MCP server setup

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

```

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

## OpenAPI specification

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