# Whop Content Rewards Scraper: Clipping Campaigns, CPM, Budget (`datagleaner/whop-content-rewards-campaigns`) Actor

Every active Whop Content Rewards clipping and UGC campaign: reward per 1K views, budget left, burn rate, days of budget left, platforms, creator and views. Filter by platform, CPM and budget; new-only mode. No login. $0.001 per campaign.

- **URL**: https://apify.com/datagleaner/whop-content-rewards-campaigns.md
- **Developed by:** [Data Gleaner](https://apify.com/datagleaner) (community)
- **Categories:** Social media, Lead generation, Automation
- **Security:** Limited permissions
- **Stats:** 1 total users, 0 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $0.70 / 1,000 campaigns

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

## Whop Content Rewards Scraper: clipping campaigns, CPM, budget left and burn rate

List every active **Whop Content Rewards** campaign (clipping, UGC and pool campaigns) with its reward per 1,000 views, total budget, budget left, platforms, creator, views and a burn-rate estimate, so you can tell which campaigns still have money and actually pay. It reads the public campaign pages: no login, no API key, no browser.

### What you get

- **Reward per 1K views** in USD, per platform (TikTok, Instagram, YouTube, X), plus the minimum payout and the maximum payout per clip.
- **Budget**: total, spent, remaining and percent used. Campaigns that have burned through their budget are easy to skip.
- **Burn rate and days of budget left**: estimated from the campaign's last 7 days of views and from its spend since launch, whichever drains faster. Capped at 365 days. These are estimates, labelled `est...`.
- **Traction**: total views, views in the last 7 days and the 7 days before, approved submissions, creator count, what has been paid out, paid out per creator, and the effective payout per 1K views.
- **Who and how**: creator or brand, verified flag, categories, content types, whether creators must apply or be pre-approved, platform fee, launch date.
- **Filters**: platform, minimum and maximum reward, minimum budget left, minimum total budget, search words, category, creator, payout type (per 1K views or shared pool), launched within N days, open campaigns only.
- **New-only mode**: `onlyNewSinceLastRun` returns just the campaigns no earlier run has seen. Schedule the Actor hourly and connect a webhook or the Apify integrations to get alerts.
- **Sorting**: by budget left, reward, views, days of budget left or newest.

### Use cases

- Clippers choosing where to spend time: highest reward per 1K views with budget left and no application.
- Clipping agencies and tool builders tracking the market: CPM trends, new campaigns per day, who is spending.
- Brands benchmarking the CPM other brands pay for similar content.
- Alerts: a bot that posts every new campaign above a reward threshold.

### Input example

```json
{
  "maxItems": 50,
  "sortBy": "budgetRemaining",
  "platforms": ["tiktok"],
  "minRewardPer1kViews": 1.5,
  "minBudgetRemaining": 1000,
  "noApplicationOnly": true
}
```

Leave the input empty to get a built-in example of 5 campaigns. A run with a sort other than "Site order" reads every campaign page first, which takes about a minute.

### Output example

```json
{
  "id": "9f0c4d01-3a67-4db3-8ec4-f8ee2fbe9498",
  "url": "https://contentrewards.com/c/campaigns/9f0c4d01-3a67-4db3-8ec4-f8ee2fbe9498",
  "name": "SoFi",
  "status": "active",
  "payoutType": "cpm",
  "creator": "Clip Farm",
  "categories": ["Finance"],
  "platforms": ["tiktok", "instagram"],
  "rewardPer1kViewsUsd": 3.0,
  "maxPayoutPerClipUsd": 750.0,
  "budgetUsd": 50000.0,
  "budgetSpentUsd": 2048.11,
  "budgetRemainingUsd": 47951.89,
  "budgetUsedPercent": 4.1,
  "totalViews": 633725,
  "views7d": 1377,
  "creatorCount": 2,
  "estBurnUsdPerDay": 79.67,
  "estDaysOfBudgetLeft": 365,
  "requiresApplication": true,
  "launchedAt": "2026-10-06T19:02:04.000Z",
  "scrapedAt": "2026-11-01T12:02:29Z"
}
```

### Pricing

Pay per event: **$0.001 per campaign returned** (about $0.70 for every active campaign, which is roughly 700 today). Volume tiers on the Apify plan lower it. There is no start fee. Set the run's maximum total charge to cap spend; the Actor stops when it is reached.

### Limits

- Only public information is returned. Campaign requirements and reference files are visible only to creators who have joined, so only their counts are returned.
- The site lists active campaigns. Ended campaigns disappear, so `statuses` defaults to `active`.
- Burn rate and days of budget left are estimates from public view counts and spend; they are not Whop figures.
- Shared pool campaigns have no per-1K rate (`rewardPer1kViewsUsd` is empty); their pool size is in `budgetUsd`.

### FAQ

**Does it need a login or an API key?** No.

**How fresh is it?** Every run reads the live pages. Schedule it as often as you like; the pages are polite to fetch, so the default pace is gentle.

**Why did a run stop with a no-go message?** If the site ever serves an anti-bot challenge, the Actor reports it and stops. It never tries to get around one.

**Can I read only some campaigns?** Yes: put links or ids in `campaignUrls`.

### Responsible use

This Actor collects public campaign information only. Respect the terms of the site you use it with, and handle any data you collect according to the laws that apply to you. It is not affiliated with Whop.

# Actor input Schema

## `maxItems` (type: `integer`):

Stop after this many campaigns (100 when empty). You pay per campaign returned.

## `sortBy` (type: `string`):

Order of the results (budget left when empty). 'Site order' is the fastest (stops as soon as maxItems match); the others read every campaign page first, about two minutes.

## `platforms` (type: `array`):

Keep campaigns that pay for any of these: tiktok, instagram, youtube, x. Empty keeps all.

## `minRewardPer1kViews` (type: `number`):

Optional. For example 2 keeps campaigns paying $2 or more per 1,000 views.

## `maxRewardPer1kViews` (type: `number`):

Optional.

## `minBudgetRemaining` (type: `number`):

Optional. Skips campaigns whose money is nearly spent.

## `minBudget` (type: `number`):

Optional.

## `searchText` (type: `string`):

Optional. Words that must all appear in the campaign name, description or creator.

## `categories` (type: `array`):

Optional. Content categories such as Streamer, Entertainment, Gaming, Music, Personal Brand. Empty keeps all.

## `payoutType` (type: `string`):

cpm pays per 1,000 views; pool splits a fixed pool between creators. Empty keeps both.

## `launchedWithinDays` (type: `number`):

Optional. 2 keeps campaigns launched in the last two days.

## `noApplicationOnly` (type: `boolean`):

Skip campaigns where creators must apply or be pre-approved.

## `creators` (type: `array`):

Optional. Only campaigns from these creator names or handles, for example reach.

## `statuses` (type: `array`):

Campaign statuses to keep. The public sitemap lists active campaigns, which is the default.

## `campaignUrls` (type: `array`):

Optional. Read only these campaigns (links or ids) instead of listing everything.

## `onlyNewSinceLastRun` (type: `boolean`):

Return only campaigns that no earlier run of this mode has seen (state is kept in a named store on your account). Schedule it hourly to be alerted to new campaigns.

## `maxCampaignsToScan` (type: `integer`):

Safety cap on campaign pages read in one run (1500 when empty).

## `requestDelaySeconds` (type: `number`):

Pause before each page request (0.1 when empty).

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

Optional. Off by default.

## Actor input object example

```json
{
  "maxItems": 10,
  "platforms": [],
  "categories": [],
  "creators": [],
  "statuses": [
    "active"
  ],
  "campaignUrls": []
}
```

# 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 = {
    "maxItems": 10,
    "platforms": [],
    "categories": [],
    "creators": [],
    "statuses": [
        "active"
    ],
    "campaignUrls": []
};

// Run the Actor and wait for it to finish
const run = await client.actor("datagleaner/whop-content-rewards-campaigns").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 = {
    "maxItems": 10,
    "platforms": [],
    "categories": [],
    "creators": [],
    "statuses": ["active"],
    "campaignUrls": [],
}

# Run the Actor and wait for it to finish
run = client.actor("datagleaner/whop-content-rewards-campaigns").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 '{
  "maxItems": 10,
  "platforms": [],
  "categories": [],
  "creators": [],
  "statuses": [
    "active"
  ],
  "campaignUrls": []
}' |
apify call datagleaner/whop-content-rewards-campaigns --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,datagleaner/whop-content-rewards-campaigns"
        }
    }
}
```

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/tZHWiHeZcbDCubwyp/builds/dKbrgUIR8diQ3Epfu/openapi.json
