# Patreon Scraper: Creators, Tiers, Members & Posts (`memo23/patreon-scraper`) Actor

Patreon scraper with no login: ranked creator directory for 33 categories with patron counts, creator pages with every tier and price, paid member counts and socials, and public posts with likes and comments. $2 per 1,000 directory creators, $4 per 1,000 creator pages.

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

## Pricing

from $2.00 / 1,000 directory creators

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/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

## Patreon Scraper: Creators, Tiers, Members & Posts

Scrape **Patreon** creators with **every membership tier and its price**, patron and paid member counts, socials, and their posts. Pull Patreon's ranked creator directory for any of 33 categories, or look up creators by name or link. **$2 per 1,000 directory creators, $4 per 1,000 creator pages.** No login, no account, no API key.

![How the Patreon Scraper works](https://api.apify.com/v2/key-value-stores/U2zfkPZ0OAcYp1Nkb/records/how-it-works-patreon.png)

```json
{
  "categories": ["podcasts", "games"],
  "creators": ["lexfridman"],
  "includeProfiles": true
}
```

| Input | Rows |
|---|---|
| Directory category (`podcasts`, `games`, `top-1000` …) | Up to 50 ranked creators, each with rank, patron count and days running |
| Creator (`lexfridman`, `@lexfridman` or a patreon.com link) | One creator page: tiers with prices, patron and paid member counts, socials |
| Tiers for directory creators (option) | Each directory creator becomes a full creator page, keeping its rank |
| Posts (option) | Up to 50 posts per creator, newest first |

### Why Use This Scraper?

- **Tier prices, not just names.** Every tier with its title, description, USD price, post count and join link, plus the cheapest paid tier and the top tier as columns.
- **Paid members next to all patrons.** `patronCount` counts everyone following, free members included; `paidMemberCount` counts the paying ones.
- **The ranked directory.** Patreon's own category rankings, so you can see who leads podcasts, games, music or video and how long they have been running.
- **Billed once.** A creator listed in two categories, or also asked for by name, is delivered and charged once.
- **Clean rows.** Numbers are numbers, dates are ISO 8601, every row has a `type`.

### Use Cases

- **Creator economy research:** compare tier pricing and paid membership across a niche.
- **Influencer and partnership sourcing:** find the top creators of a category with their social accounts.
- **Competitor tracking for creators:** watch how rival creators price and package their tiers.
- **Investor and market sizing:** paid member counts and tier prices across hundreds of creators.
- **Content planning:** see which posts get the most likes and comments.

### How It Works

1. Directory categories are read six at a time. Each takes about 25 seconds and returns the category's top creators in rank order.
2. Creator pages are opened for the creators you named, and for directory creators when **Tiers and member counts for directory creators** is on. A directory creator whose page does not answer is still delivered with its directory fields.
3. Posts run last, so creators always get the room first under a row or spending limit.
4. Every row is charged as it is delivered, and the run stops cleanly at your spending limit.

### Input Configuration

| Field | Type | Description |
|---|---|---|
| `categories` | array | Directory categories: `top-1000`, `podcasts`, `video`, `music`, `games`, `writing`, `comics`, `drawing-painting`, `animation`, `photography`, `3d-printing`, `crafts-diy`, `cosplay`, `dance-theater`, `magazine`, `finance`, `animals`, `other`, and `adult-` versions. |
| `maxCreatorsPerCategory` | integer | 10-50. Default 50. |
| `creators` | array | Creator names or links. |
| `includeProfiles` | boolean | Open each directory creator's page for tiers and member counts. |
| `includePosts` | boolean | Add posts for every creator looked up in full. |
| `maxPostsPerCreator` | integer | 1-50. Default 20. |
| `maxItems` | integer | Cap on all rows. Default 1,000; free-plan runs return up to 100. |

#### Example input

The top 50 podcast creators with their tiers and paid member counts:

```json
{
  "categories": ["podcasts"],
  "includeProfiles": true
}
```

Three creators with their 20 latest posts:

```json
{
  "creators": ["lexfridman", "https://www.patreon.com/theyard", "@MSsecretpod"],
  "includePosts": true
}
```

### Output Samples

A creator page (found in the podcasts directory, 2026-10-27, tiers shortened):

```json
{
  "type": "creator-profile",
  "creatorId": "6742942",
  "name": "the yard",
  "vanity": "theyard",
  "url": "https://www.patreon.com/theyard",
  "creationName": "Creating a podcast",
  "summary": "The Yard is a show hosted by Ludwig, Nick, Slime, and Aiden. …",
  "patronCount": 83532,
  "paidMemberCount": 44821,
  "postCount": 1093,
  "currency": "USD",
  "payPer": "month",
  "isMonthly": true,
  "isNsfw": false,
  "offersFreeMembership": true,
  "offersPaidMembership": true,
  "tierCount": 5,
  "lowestPaidTierUsd": 5,
  "highestTierUsd": 69.69,
  "tiers": [
    { "title": "Free", "description": null, "priceUsd": 0, "priceCents": 0, "currency": "USD", "isFree": true, "postCount": 1, "joinUrl": "https://www.patreon.com/checkout/theyard?rid=10306633" },
    { "title": "shill", "description": "PREMIUM EPISODES Every week see an exclusive hour long episode of the Yard. …", "priceUsd": 5, "priceCents": 500, "currency": "USD", "isFree": false, "postCount": 11, "joinUrl": "https://www.patreon.com/checkout/theyard?rid=7158347" }
  ],
  "socials": null,
  "rank": 5,
  "category": "podcasts",
  "daysRunning": 1888,
  "launchedAt": "2021-08-11T06:54:22.000Z",
  "joinUrl": "https://www.patreon.com/checkout/theyard",
  "introVideoUrl": "https://www.youtube.com/watch?v=wkMVfxNDLa0&t",
  "source": "category",
  "sourceInput": "podcasts"
}
```

A directory creator (without the creator-page option):

```json
{
  "type": "creator",
  "name": "Matt and Shane's Secret Podcast",
  "vanity": "MSsecretpod",
  "url": "https://www.patreon.com/MSsecretpod",
  "tagline": "Creating Hot Casts (MSsecretpod)",
  "patronCount": 141992,
  "rank": 1,
  "category": "top-1000",
  "daysRunning": 2593,
  "launchedAt": "2019-09-21T17:12:46.000Z",
  "sourceCategory": "top-1000"
}
```

A post:

```json
{
  "type": "post",
  "postId": "88443260",
  "title": "AMA + Starfield",
  "url": "https://www.patreon.com/lexfridman/posts/ama-starfield-88443260",
  "postType": "text_only",
  "likeCount": 20,
  "commentCount": 29,
  "creatorVanity": "lexfridman",
  "postedAt": "2023-08-29T18:54:59.000Z"
}
```

### Key Output Fields

| Field | Meaning |
|---|---|
| `type` | `creator` (directory row), `creator-profile` (creator page) or `post` |
| `patronCount` | Everyone who follows the creator on Patreon, free members included |
| `paidMemberCount` | Paying members (creator pages only) |
| `tiers` | Every tier: title, description, price, post count, join link |
| `lowestPaidTierUsd`, `highestTierUsd` | The cheapest paid tier and the most expensive one |
| `rank`, `category` | Position in Patreon's directory, when the creator was found there |
| `daysRunning`, `launchedAt` | How long the page has been live |

### FAQ

**Can I search Patreon by keyword?**
Not at the moment: the search behind it is paused by the data source. Use the directory categories, or give creator names or links.

**How many creators does a category give?**
Up to 50, Patreon's top creators in that category. Use several categories (and `top-1000`) for more.

**Why is `patronCount` higher than `paidMemberCount`?**
Patreon counts free members as patrons. `paidMemberCount` is the paying part.

**Do posts include the text?**
No. Posts come with title, type, likes, comments, date and link. Paywalled content is never read.

**Is the earnings figure included?**
No. Patreon hides earnings on most pages. Paid member count times tier prices gives a rough range.

**What happens with a misspelled creator?**
It is reported in the log and skipped, and nothing is charged for it.

**Do I need an account?**
No.

### Pricing

| Event | When | Price |
|---|---|---|
| Actor start | Once per run (per GB of memory, 256 MB default) | $0.005 |
| Directory creator | Each creator row from a category | $0.002 |
| Creator page | Each creator with tiers and member counts | $0.004 |
| Post | Each post delivered | $0.001 |

Example: the top 50 creators of 4 categories with their tiers = 200 creator pages × $0.004 + $0.005 = $0.805.

### Support

Found a bug or need a field? Open an issue on the actor's Issues tab and include the run link.

### ⚠️ Disclaimer

This actor reads public Patreon pages: directory listings, creator pages, tiers and public post details. It does not log in and does not read paywalled content. It is not affiliated with or endorsed by Patreon. You are responsible for using the data in line with Patreon's terms and the laws that apply to you, including data-protection law where rows name people.

### SEO Keywords

patreon scraper, patreon creators, patreon tiers, patreon membership prices, patreon patron count, patreon paid members, patreon top creators, patreon podcast creators, patreon api alternative, creator economy data, patreon posts scraper

# Actor input Schema

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

Patreon's ranked creator directory. Each category returns its top creators (up to 50) with rank, patron count and how long they have run.

## `maxCreatorsPerCategory` (type: `integer`):

Up to 50, the most Patreon lists per category.

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

Creator names or links: lexfridman, @lexfridman or https://www.patreon.com/lexfridman. Each returns the creator's page with every tier and its price, patron and paid member counts, and social links.

## `includeProfiles` (type: `boolean`):

Also open each directory creator's page, so its row carries tiers, prices, paid members and socials. Billed as a creator page instead of a directory row.

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

Also take each creator's posts, newest first: title, post type, likes, comments, date and link (post text is not included). Applies to creators looked up in full: the Creators list, and directory creators when the option above is on.

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

Up to 50, newest first.

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

Cap on all rows together. Free-plan runs return up to 100.

## Actor input object example

```json
{
  "categories": [
    "podcasts"
  ],
  "maxCreatorsPerCategory": 50,
  "creators": [
    "lexfridman"
  ],
  "includeProfiles": false,
  "includePosts": false,
  "maxPostsPerCreator": 20,
  "maxItems": 1000
}
```

# Actor output Schema

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

Rows told apart by `type`: `creator`, `creator-profile` and `post`.

# 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 = {
    "categories": [
        "podcasts"
    ],
    "creators": [
        "lexfridman"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("memo23/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 = {
    "categories": ["podcasts"],
    "creators": ["lexfridman"],
}

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

```

## MCP server setup

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