# Patreon Scraper - Creators, Tiers & Leads (`scrapesage/patreon-scraper`) Actor

Scrape Patreon: search creators by keyword, full campaign details (patron count, membership tiers & pricing, goals, estimated earnings), posts, plus creator-contact leads (cross-platform socials, website, emails). Monitoring mode. No login, no API key, no browser.

- **URL**: https://apify.com/scrapesage/patreon-scraper.md
- **Developed by:** [Scrape Sage](https://apify.com/scrapesage) (community)
- **Categories:** Social media, Lead generation, Automation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $7.00 / 1,000 creator scrapeds

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

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

## Patreon Scraper — Creators, Membership Tiers & Creator Leads

Extract **complete Patreon creator data** — patron counts, **every membership tier with real pricing**, funding goals, post output, account age, an **estimated minimum monthly revenue**, and the full set of **cross-platform social links** (Instagram, YouTube, TikTok, Twitch, X, Discord, Spotify…). Optionally turn every creator into a **ready-to-contact lead** by pulling emails from their page and crawling their own website for contact details.

No login, no cookies, no API key, no browser — fast JSON extraction straight from Patreon's own public endpoints.

### Why this Patreon scraper?

Most Patreon scrapers stop at the name and patron count. This actor pulls from Patreon's internal JSON API and ships the **richest dataset in the category**:

| Data | Typical scrapers | This actor |
|---|---|---|
| Creator name, patron count, post count | ✅ | ✅ |
| Every membership tier (title, **price**, perks, limits) | ❌ | ✅ |
| Funding goals + completion % | ❌ | ✅ |
| Estimated minimum monthly revenue | ❌ | ✅ |
| Account age (creating since, years active) | ❌ | ✅ |
| Cross-platform socials (IG, YouTube, TikTok, Twitch, X, Discord…) | ❌ | ✅ |
| Creator website + emails (lead wedge) | ❌ | ✅ opt-in |
| Lead score (0–100) per creator | ❌ | ✅ |
| Recent posts (title, date, type, paid/free, engagement) | ❌ | ✅ opt-in |
| Monitoring mode — only new creators / posts | ❌ | ✅ |

### Use cases

- **Creator & influencer discovery** — find creators by niche (`podcast`, `fitness`, `digital art`, `game dev`, `TTRPG`, `newsletter`) ranked by audience (`patronCount`) and monetization (`estimatedMinMonthlyUsd`).
- **Sponsorship & brand-deal prospecting** — surface creators with reachable contacts (`descriptionEmails`, `website`, `socialLinks`) and a `leadScore`, then reach out directly.
- **Creator-economy market research** — benchmark tier pricing, patron counts, goals and posting cadence across a niche or competitor set.
- **Agency & tooling sales** — Patreon creators are active buyers of editing, design, merch, memberships, analytics and marketing services — score and contact them.
- **Competitor & roster monitoring** — schedule recurring runs to watch a niche for new creators, or specific creators for new posts.

### How to use

1. [Sign up for Apify](https://console.apify.com/sign-up) — the free plan is enough to try this actor.
2. Open the **Patreon Scraper**, pick a mode, enter search terms (or paste creator URLs), and click **Start**.
3. Watch results stream into the dataset table.
4. **Export** as JSON, CSV, Excel, XML, or RSS — or pull results programmatically via the [Apify API](https://docs.apify.com/api/v2).

### Input

```json
{
    "mode": "searchCreators",
    "searchTerms": ["podcast", "digital art"],
    "maxResultsPerQuery": 60,
    "includePosts": false,
    "enrichCreatorContacts": true,
    "minPatrons": 100,
    "withContactsOnly": false,
    "monitorMode": false,
    "proxyConfiguration": { "useApifyProxy": true, "apifyProxyGroups": ["RESIDENTIAL"] }
}
```

- **mode** — `searchCreators` (find creators by keyword), `creatorDetails` (full details for specific creators), or `creatorPosts` (a creator's posts).
- **searchTerms** — keywords/niches/creator names, one per row (mode: `searchCreators`).
- **creatorUrls** — creator page URLs (`https://www.patreon.com/MSsecretpod` or `/c/<handle>`), bare handles (`MSsecretpod`), or numeric campaign ids (`1055672`) — for `creatorDetails` / `creatorPosts`.
- **maxResultsPerQuery** *(default 60)* — cap creators per search term (auto-paginated).
- **includePosts** *(default false)* — also output recent post records per creator. **maxPostsPerCreator** controls how many.
- **enrichCreatorContacts** *(default false)* — crawl each creator's own website (home + contact/about, max 3 pages) for emails, phone and extra socials.
- **minPatrons / withContactsOnly / includeNsfw** — filters to tighten the result set.
- **monitorMode** *(default false)* — emit only records not seen in previous runs. **monitorStoreName** keeps separate histories per target.

### Output

One record per creator (`type: "creator"`), plus optional post records (`type: "post"`):

```json
{
    "type": "creator",
    "campaignId": "1055672",
    "creatorName": "Matt and Shane's Secret Podcast",
    "creationName": "Hot Casts",
    "vanity": "MSsecretpod",
    "url": "https://www.patreon.com/MSsecretpod",
    "summary": "The home of the MSSP — twice-weekly bonus episodes…",
    "patronCount": 250433,
    "postCount": 976,
    "payPerName": "month",
    "isMonthly": true,
    "currency": "USD",
    "earningsVisibility": "private",
    "tierCount": 5,
    "paidTierCount": 4,
    "lowestPaidTierUsd": 1,
    "highestTierUsd": 50,
    "estimatedMinMonthlyUsd": 250433,
    "tiers": [
        { "title": "Grandfathered Poors", "amountUsd": 1, "currency": "USD", "description": "Got in early…", "published": true },
        { "title": "The Professional Class", "amountUsd": 5, "currency": "USD", "description": "The true backbone…", "published": true }
    ],
    "goals": [],
    "publishedAt": "2019-09-21T17:12:46.000+00:00",
    "yearsActive": 6.74,
    "avatarUrl": "https://c10.patreonusercontent.com/…/1.png",
    "creatorFullName": "Matt and Shane's Secret Podcast",
    "website": "https://mssecretpod.com",
    "socialLinks": { "instagram": "https://www.instagram.com/…", "youtube": "https://youtube.com/…" },
    "socialCount": 2,
    "descriptionEmails": ["booking@mssecretpod.com"],
    "contactEmails": [],
    "leadScore": 78,
    "searchQuery": "podcast",
    "source": "searchCreators",
    "scrapedAt": "2026-06-16T12:00:00.000Z"
}
```

> **`estimatedMinMonthlyUsd`** is a conservative floor (paying patrons × the cheapest paid monthly tier), computed only for monthly USD campaigns. Patreon hides exact earnings for most creators — this is a transparent estimate, not an official figure.

### Automate & schedule

Run this actor on autopilot and pull results into your own stack:

- **[Apify API](https://docs.apify.com/api/v2)** — start runs, fetch datasets, and manage schedules over REST.
- **[apify-client for JavaScript](https://docs.apify.com/api/client/js/)** and **[apify-client for Python](https://docs.apify.com/api/client/python/)** — official SDKs.
- **[Schedules](https://docs.apify.com/platform/schedules)** — run it hourly/daily/weekly to monitor a niche for new creators or specific creators for new posts; perfect for newsletters and lead pipelines.
- **[Webhooks](https://docs.apify.com/platform/integrations/webhooks)** — trigger downstream actions (CRM import, Slack alert, email sequence) the moment a run finishes.

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

const client = new ApifyClient({ token: 'MY_APIFY_TOKEN' });

const run = await client.actor('scrapesage/patreon-scraper').call({
    mode: 'searchCreators',
    searchTerms: ['fitness', 'meal prep'],
    maxResultsPerQuery: 100,
    enrichCreatorContacts: true,
    minPatrons: 50,
});

const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(`Got ${items.length} Patreon creators & leads`);
```

### Integrate with any app

Connect the dataset to 5,000+ apps — no code required:

- **[Make](https://docs.apify.com/platform/integrations/make)** — multi-step automation scenarios.
- **[Zapier](https://docs.apify.com/platform/integrations/zapier)** — push new creator leads straight into your CRM.
- **[Slack](https://docs.apify.com/platform/integrations/slack)** — get notified when a monitored niche finds new creators.
- **[Google Drive / Sheets](https://docs.apify.com/platform/integrations/drive)** — auto-export every run to a spreadsheet.
- **[Airbyte](https://docs.apify.com/platform/integrations/airbyte)** — pipe results into your data warehouse.
- **[GitHub](https://docs.apify.com/platform/integrations/github)** — trigger runs from commits or releases.

### Use with AI assistants (MCP)

The output is clean, LLM-ready JSON. You can call this actor from Claude, ChatGPT, or any agent framework through the **[Apify MCP server](https://docs.apify.com/platform/integrations/mcp)** — ask your assistant to "find the top fitness creators on Patreon and list their tiers and contacts" and let it run this scraper for you.

### Agent-ready: autonomous payments (x402 & Skyfire)

This actor is **agent-ready** — AI agents can discover it, run it, and **pay for it autonomously**, with no Apify account and no human in the loop. It uses [pay-per-event](https://docs.apify.com/platform/actors/publishing/monetize/pay-per-event) pricing and [limited permissions](https://docs.apify.com/platform/actors/development/permissions), so it qualifies for Apify's agentic-payment standards:

- **[x402](https://docs.apify.com/platform/integrations/x402)** — an open, HTTP-native payment protocol. Agents pay per run in USDC on the Base network directly through the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp) — no account, no API key.
- **[Skyfire](https://docs.apify.com/platform/integrations/skyfire)** — agent-to-service payments for fully autonomous AI-agent workflows.

Building an AI agent, MCP tool, or autonomous data pipeline? This scraper is ready to plug in and pay as it goes.

### More scrapers from scrapesage

Build a complete **creator-economy intelligence stack** — track the same creators across every platform they monetize on:

- **[YouTube Scraper](https://apify.com/scrapesage/youtube-scraper)** — channels, videos, stats and creator contact details.
- **[SoundCloud Scraper](https://apify.com/scrapesage/soundcloud-scraper)** — artists, tracks and creator-contact leads.
- **[Substack Scraper](https://apify.com/scrapesage/substack-scraper)** — newsletters, subscriber estimates and author leads.
- **[Apple Podcasts Scraper](https://apify.com/scrapesage/apple-podcasts-scraper)** — podcasts, episodes and owner-email leads.
- **[Bluesky Scraper](https://apify.com/scrapesage/bluesky-scraper)** — profiles, posts and creator leads on the AT Protocol.
- **[Product Hunt Scraper](https://apify.com/scrapesage/product-hunt-scraper)** — launches, makers and maker leads.
- **[GitHub Scraper](https://apify.com/scrapesage/github-scraper)** — developers, repositories and developer leads.

### Tips

- **Niche depth**: Patreon search returns thousands of creators per broad term. Raise `maxResultsPerQuery` for a full niche sweep, or use specific terms (`true crime podcast`, `procreate brushes`) to stay targeted.
- **Recurring monitoring**: combine [Schedules](https://docs.apify.com/platform/schedules) with `monitorMode` to capture only newly listed creators or newly published posts.
- **Proxies**: keep the default **residential** proxy group — Patreon is fronted by Cloudflare and challenges datacenter IPs.
- **Cost control**: creator detail is one request each; turn off `includePosts` and `enrichCreatorContacts` for the cheapest runs, and use `minPatrons` / `withContactsOnly` to skip records you don't need.

### FAQ

**How do I scrape Patreon creators for a specific niche?** Use `searchCreators` mode and put the niche in `searchTerms` (e.g. `podcast`, `digital art`, `game dev`). Combine with `minPatrons` to keep only creators above an audience threshold.

**Does it need a Patreon login or API key?** No. The actor reads the same public endpoints Patreon's own creator pages use — no login, OAuth or key.

**Can I get a creator's exact earnings?** Patreon hides exact earnings for most creators. The actor returns the real `patronCount` and full tier pricing, plus a clearly labeled `estimatedMinMonthlyUsd` floor for monthly USD campaigns. When a creator makes earnings public, `earningsVisibility` reflects that.

**Where do the emails come from?** From the creator's own public summary/about text, and — with `enrichCreatorContacts` on — from their own linked website (the same pages a human visitor would see). Patreon itself does not publish private emails.

**Can I export to Google Sheets, CSV, or Excel?** Yes — one click in the dataset view, or automatically on every run via the [Google Drive integration](https://docs.apify.com/platform/integrations/drive).

**How do I monitor new creators or posts automatically?** Turn on `monitorMode` and create a [Schedule](https://docs.apify.com/platform/schedules); each run emits only what's new since the last one. Add a [webhook](https://docs.apify.com/platform/integrations/webhooks) or [Zapier zap](https://docs.apify.com/platform/integrations/zapier) to push new leads into your CRM.

**Is scraping Patreon legal?** This actor collects publicly available data only. You are responsible for using the data in compliance with applicable laws (GDPR/CCPA for personal data) and Patreon's terms.

**A field is null — why?** Some creators don't publish a website, socials, goals or a summary. Fields are `null` only when the data doesn't exist, not because the scraper skipped them.

### Need help?

Open an issue on the actor's **Issues** tab, or visit the [Apify help center](https://help.apify.com/). Feature requests are welcome — this actor is actively maintained.

# Actor input Schema

## `mode` (type: `string`):

Pick a job. Search creators finds Patreon creators by keyword (full campaign details + leads). Creator details pulls full details for specific creators. Creator posts pulls a creator's published posts (great for monitoring).

## `searchTerms` (type: `array`):

Keywords to search Patreon for, e.g. `podcast`, `fitness`, `digital art`, `game dev`, `newsletter`, a niche, or a creator name. One row per term. Used by the Search creators mode.

## `creatorUrls` (type: `array`):

Creators to pull details or posts for: page URLs (`https://www.patreon.com/MSsecretpod` or `/c/<handle>`), bare handles (`MSsecretpod`), or numeric campaign ids (`1055672`). One per row. (Modes: Creator details, Creator posts.)

## `maxResultsPerQuery` (type: `integer`):

Cap the number of creators returned per search term. Results are paginated automatically until this limit or the result set is exhausted.

## `includePosts` (type: `boolean`):

For creator modes, also output recent post records (type `post`) for each creator — title, publish date, type, paid/free, likes and comments. In monitoring mode this returns only NEW posts since the last run.

## `maxPostsPerCreator` (type: `integer`):

How many recent posts to pull per creator when 'Include creator posts' is on (or in the Creator posts mode).

## `enrichCreatorContacts` (type: `boolean`):

Opt-in lead enrichment: visit each creator's own public website (home + a contact/about page) and extract contact emails, phone numbers and social links — for sponsorship, brand-deal, agency and tooling outreach. Only runs for creators that list a website.

## `minPatrons` (type: `integer`):

Skip creators with fewer than this many patrons. 0 keeps everyone.

## `withContactsOnly` (type: `boolean`):

Output only creators that have at least one email (from their summary/about or, if enrichment is on, their website) or a website. Tightens the result set to reachable leads.

## `includeNsfw` (type: `boolean`):

Include creators flagged as NSFW (adult). Turn off to exclude them from results.

## `monitorMode` (type: `boolean`):

Remember what was already returned and emit ONLY records not seen in previous runs (new creators for a search, or new posts per creator). Pairs with Apify Schedules to track changes over time.

## `monitorStoreName` (type: `string`):

Named key-value store that holds the 'already seen' ids for monitoring mode. Use a different name per tracked target/query to keep their histories separate. Lowercase letters, digits and hyphens only.

## `maxConcurrency` (type: `integer`):

Maximum parallel requests. Lower it if you hit rate limits on very large runs.

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

Proxy settings. Patreon is fronted by Cloudflare and challenges datacenter IPs, so the actor defaults to the Apify RESIDENTIAL proxy. Keep this default for reliable results.

## Actor input object example

```json
{
  "mode": "searchCreators",
  "searchTerms": [
    "podcast"
  ],
  "maxResultsPerQuery": 60,
  "includePosts": false,
  "maxPostsPerCreator": 20,
  "enrichCreatorContacts": false,
  "minPatrons": 0,
  "withContactsOnly": false,
  "includeNsfw": true,
  "monitorMode": false,
  "monitorStoreName": "patreon-monitor",
  "maxConcurrency": 5,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  }
}
```

# Actor output Schema

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

All scraped records in the default dataset. Creator rows carry full campaign data (patron count, tiers & pricing, goals, estimated earnings) plus cross-platform socials, website and creator-contact leads; post rows carry their own metadata.

# 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 = {
    "searchTerms": [
        "podcast"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("scrapesage/patreon-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 = { "searchTerms": ["podcast"] }

# Run the Actor and wait for it to finish
run = client.actor("scrapesage/patreon-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 '{
  "searchTerms": [
    "podcast"
  ]
}' |
apify call scrapesage/patreon-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,scrapesage/patreon-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/IFVv6S0yFLgslHXAr/builds/bWwMSenA24Ecs2bte/openapi.json
