September 24, 2026 · 13 min read
Patreon Scraper: 67 of 67 Runs Succeeded (2026)
Each campaign record carries 31 fields, including total patron count, paid member count, and USD tier pricing without requiring any login credentials. Public post records return 14 fields such as titles, like counts, and public content bodies. A thousand results cost $5.00 on the free-plan price, and the scraper operates by fetching live data from Patreon public endpoints. This is intended for analysts monitoring the creator economy and brand teams identifying sponsorship targets; it is not for users who need private, patron-only post attachments or email addresses, which the records do not include.
Try it before you read further. Apify's free plan includes $5.00 of usage every month with no credit card, enough for up to 1,000 results at $0.005 each before platform usage. Open Patreon Scraper on Apify and run the prefilled example.
How reliable is Patreon Scraper in production?
Across the last 30 days of public runs on the Apify platform, Patreon Scraper recorded 67 runs with the following outcomes.
| Outcome | Runs | Share |
|---|---|---|
| Succeeded | 67 | 100.0% |
| Failed | 0 | 0.0% |
| Aborted by the user | 0 | 0.0% |
| Timed out | 0 | 0.0% |
| Total | 67 | 100.0% |
In the last 30 days, no run failed or timed out. You can schedule this Actor for unattended monitoring with high confidence in its structural stability.
What does it cost to run Patreon Scraper?
Each result costs $0.005 on Apify's free plan, which is $5.00 per 1,000 results. Starting a run is charged separately at $0.005 per GB of Actor memory. Apify also bills the platform usage each run consumes, at the rates of your Apify plan, on top of these charges.
| Apify plan | Per result | Per 1,000 results |
|---|---|---|
| FREE | $0.005 | $5.00 |
| BRONZE | $0.00433 | $4.33 |
| SILVER | $0.00367 | $3.67 |
| GOLD | $0.003 | $3.00 |
| PLATINUM | $0.003 | $3.00 |
| DIAMOND | $0.003 | $3.00 |
Worked example: collecting 10,000 results costs $50.00 in result charges before run-start fees and platform usage. No run failed or timed out in the last 30 days, so the list price is a fair budget; keep a retry in place all the same.
The maxItems control is the primary driver of result charges because it limits the total number of campaign and post records written. The cheapest way to verify your configuration is to use the example input, which caps maxItems at 50 and costs at most $0.25 in result charges.
How do you run Patreon Scraper from the API?
The schema marks 1 of its 12 controls as required: mode. Nothing in the payload below is illustrative. Those are the schema's prefilled defaults for Patreon Scraper, so the request works once your token is in place.
Call the synchronous endpoint to start a run and receive dataset items in one request:
curl -X POST "https://api.apify.com/v2/acts/crawlerbros~patreon-scraper/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"mode":"creator","creators":["PhilosophyTube"],"includePosts":true,"maxPostsPerCreator":20,"excludeNsfw":false,"maxItems":50,"autoEscalateOnBlock":true,"proxyGroups":[]}'
The same run from Python, using the official client:
from apify_client import ApifyClient
client = ApifyClient("<YOUR_APIFY_TOKEN>")
run_input = {
"mode": "creator",
"creators": [
"PhilosophyTube"
],
"includePosts": True,
"maxPostsPerCreator": 20,
"excludeNsfw": False,
"maxItems": 50,
"autoEscalateOnBlock": True,
"proxyGroups": []
}
run = client.actor("crawlerbros~patreon-scraper").call(run_input=run_input)
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item)
And from Node.js:
import { ApifyClient } from 'apify-client'
const client = new ApifyClient({ token: '<YOUR_APIFY_TOKEN>' })
const input = {
"mode": "creator",
"creators": [
"PhilosophyTube"
],
"includePosts": true,
"maxPostsPerCreator": 20,
"excludeNsfw": false,
"maxItems": 50,
"autoEscalateOnBlock": true,
"proxyGroups": []
}
const run = await client.actor('crawlerbros~patreon-scraper').call(input)
const { items } = await client.dataset(run.defaultDatasetId).listItems()
console.log(items)
Because the call is synchronous, your client waits for the whole run. Keep it for exploration. For scheduled work, start the run without waiting and collect the dataset afterwards, so network trouble costs you a retry rather than the results.
Which Patreon Scraper inputs matter, and which can you skip?
The mode control is the most important setting, as it determines whether you are searching for new creators or scraping specific campaign details. Most practitioners should start by entering vanity slugs into the creators field and leaving the proxy settings on their default auto-escalation state.
mode(string): What to fetch. Default:"creator".creators(array): Creator slugs (e.g.PhilosophyTube) or full URLs (https://www.patreon.com/c/PhilosophyTube). Default:["PhilosophyTube"].searchQuery(string): Keyword to search across all Patreon creators.category(string): Patreon's Explore directory category. Leave empty to browse the top-level/explore/page.postUrls(array): Patreon post URLs to fetch individually, e.g.https://www.patreon.com/posts/12345orhttps://www.patreon.com/posts/title-slug-12345.includePosts(boolean): Whenmode=creator, also fetch the creator's recent posts. Default:true.maxPostsPerCreator(integer): Hard cap on posts emitted per creator. Default:20.minPatronCount(integer): Drop creators with fewer than this many patrons.excludeNsfw(boolean): Drop creators marked as NSFW. Default:false.maxItems(integer): Hard cap on total emitted records (creators + posts combined). Default:50.autoEscalateOnBlock(boolean): If true (default), the actor automatically engages Apify Proxy when it hits HTTP 403 / anti-bot blocks from a raw datacenter IP. Set false to disable (request fails fast). Default:true.proxyGroups(array): Apify proxy groups to use when auto-escalating after a block. Empty = datacenter (default), then residential fallback. Default:[].
Fixed-choice controls: mode accepts creator (Campaign - creator metadata + tiers (and optionally recent posts)), posts (Posts only - recent public posts for a creator), search (find creators by keyword across Patreon), explore (browse Patreon's Explore directory by category), postByUrl (fetch single post detail by post URL); category accepts 15 values, including `` ((top-level Explore - all categories)), podcasts, video-film (Video & Film), music.
What does Patreon Scraper return?
The output records are designed for benchmarking creator growth and pricing strategies. They conspicuously do not contain any private media or content restricted to paid tiers, as the scraper only accesses public data.
Creator records (recordType=creator)
id: Patreon campaign IDvanity: Vanity slug (PhilosophyTube)url: Public Patreon URLsummary: Plain-text campaign descriptiononeLiner: Short taglinecreationName: What the creator makes (e.g. "Creating Philosophy Videos")currency: Currency code (USD / EUR / GBP / …)patronCount: Total patron count (free + paid)paidMemberCount: Paid-member countcreationCount: Total post countpayPerName: "month" / "video" / "creation"isMonthly:trueif billing is monthlyisNsfw:truefor adult contentoffersFreeMembership: Whether a free tier existsoffersPaidMembership: Whether paid tiers existpublishedAt: ISO 8601 launch dateavatarPhotoUrl: Avatar image URLcoverPhotoUrl: Banner image URLpledgeUrl: Direct checkout URLcreator:{fullName, vanity, url}for the underlying usertiers: Array of paid tiers (sorted by price ascending)scrapedAt: ISO 8601 UTC timestampid: Tier (reward) IDtitle: Tier titledescription: Tier description (plain text)amountCents: Price in centsamountUsd: Price as a decimal USD/local-currency valuecurrency: Currency codepatronCount: Patrons on this tierrequiresShipping:trueif physical fulfilment requiredimageUrl: Tier illustration URL
Post records (recordType=post)
id: Post IDvanity: Creator vanity (added by us)title: Post titlepublishedAt: ISO 8601 publish timestampurl: Public post URLpostType:video_external_file,image_file,text_only,audio_file,link, …isPaid:trueif patron-onlyisPublic:trueif visible to anonymous userspatronCount: Number of patrons who can see the postcommentCount: Comment countlikeCount: Like countteaserText: Plain-text teaser (when paid post has a public teaser)content: Plain-text body (when public)thumbnailUrl: Thumbnail image URL
These are the documented fields. Optional ones can be empty on a given record, so measure how often each field your deliverable depends on is populated across a real sample before automating the handoff.
How do you build the workflow end to end?
Open Patreon Scraper and work through these in order. Each step ends with something to check, so a bad configuration surfaces on a small run rather than a scheduled one.
- Set mode to creator and list the target vanity slugs in the creators array to retrieve campaign metadata and pricing tiers.
- Enable includePosts and set maxPostsPerCreator to a value between 1 and 200 to capture recent public activity.
- Set maxItems to 50 for an initial test run to verify the schema of creator and post records before scaling.
- Verify that the returned records have a recordType of creator and check the tiers array for the amountUsd field.
- Execute a run with mode set to search and a specific searchQuery to discover new campaigns in a niche.
- Apply a minPatronCount filter to search results to exclude creators who do not meet a minimum audience threshold.
- Check the isNsfw boolean field in the dataset to filter out adult-themed campaigns from your analytics.
How do you apply it? Three worked playbooks
These are Patreon Scraper's own documented use cases, each worked through as an operating pattern rather than a description.
Use case 1: Creator-economy analytics
Outcome: Track patron growth and tier pricing across a portfolio of creators.
Configure: Set mode to "creator", provide a list of slugs in creators, and set includePosts to false.
Working method: Schedule recurring daily runs to capture snapshots of paidMemberCount and patronCount across the portfolio. Compare the tiers array objects to detect price changes in specific reward levels.
Deliverable: A time-series dataset of creator records showing membership levels and tier structures.
Stop condition: The run processes all vanity slugs in the creators input list.
Use case 2: Brand-deal targeting
Outcome: Identify creators with N+ patrons in a niche for sponsorship outreach.
Configure: Set mode to "search", set searchQuery to a niche keyword, and minPatronCount to 5000.
Working method: Use the search mode to find creators within a specific category. Filter the resulting dataset by paidMemberCount to prioritize creators with the highest conversion of paid supporters.
Deliverable: A list of creator profiles including vanity slugs, oneLiner taglines, and patron counts.
Stop condition: The dataset reaches the maxItems limit.
Use case 3: Competitive research
Outcome: Compare your creator's pricing/post-cadence with peers.
Configure: Set mode to "posts", include peer slugs in creators, and set maxPostsPerCreator to 100.
Working method: Extract the publishedAt timestamps from the post records to calculate the average duration between public updates. Compare these frequencies against the creator's paidMemberCount to find engagement correlations.
Deliverable: A comparative dataset of post frequencies and engagement metrics for a peer group.
Stop condition: The scraper processes the maximum posts allowed per creator for the entire list.
What breaks, and how do you design around it?
- Patron-only post bodies are not accessible without a logged-in account.
- Some creators hide
patronCount(setmember_count_preferenceto TIER_BREAKDOWN); those records will still emit but with the count omitted. - Earnings are not exposed unless the creator explicitly publishes them (
show_earnings); we don't surface this field by default. - Comments are not included in this version (each post would need a follow-up fetch); we surface
commentCountfor sentiment-trend approximation.
When a creator hides their total patron count, the patronCount field is omitted from the dataset. To handle the 200-post limit in maxPostsPerCreator, focus runs on the most recent activity rather than full historical archives.
When should you not use Patreon Scraper?
If you need to scrape digital downloads and storefront pricing for individual products, the Gumroad Products & Creator Scraper is a more focused choice. For projects tracking charitable fundraising or community donation progress rather than recurring memberships, use the GoFundMe Campaign Scraper. If your research requires short-form viral engagement and hashtag metrics, consider the TikTok Hashtag Trends Scraper. This Actor cannot bypass Patreon paywalls or access private contact info.
What should you check before trusting the output?
- Check if patronCount is missing, which indicates the creator has set member_count_preference to TIER_BREAKDOWN.
- Verify that amountUsd is present in the tiers array for localized price comparisons.
- Check if isPublic is true before attempting to process the content field in post records.
- Confirm that commentCount and likeCount are integers to ensure engagement metrics are properly parsed.
- Monitor for HTTP 403 status codes in logs to verify if autoEscalateOnBlock has triggered proxy usage.
None of this proves a record is correct. It gives a scheduled Patreon Scraper run defined points where it should stop instead of quietly passing bad data downstream.
Frequently asked questions
What is the cost per 1,000 results on the free plan?
The free-plan price is $5.00 per 1,000 results, which works out to $0.005 per result. Apify's free plan includes $5.00 of monthly usage, which is enough to cover your first 1,000 results for free, excluding platform usage and run-start fees.
How reliable is this scraper for automated tracking?
The reliability is excellent, as 67 of 67 public runs in the last 30 days finished successfully. No run failed or timed out during this period, making it a stable choice for scheduled data collection.
Do I need to manage my own proxies?
You do not need to configure proxies manually for typical use. The Actor includes an auto-escalation feature that automatically engages Apify Proxy if it detects a block, transparently retrying the request to ensure the run completes.
Can I scrape more than 200 posts?
The maxPostsPerCreator input has a hard cap of 200 posts per creator per run. This is optimized for performance because the Patreon API paginates results in small batches, and larger pulls would significantly increase run duration.
What happens if a creator hides their patron count?
Patreon allows creators to hide their total member counts. In these cases, the patronCount field will be dropped from the output record, though you will still receive the metadata for their tiers and public posts.
Where to go next
When you are ready to run it, open Patreon Scraper on Apify; the free plan covers up to 1,000 results a month.
Start with the Patreon Scraper Actor page for the current input schema, pricing tier, and run history.
Readers running Patreon Scraper commonly pair it with:
- Gumroad Products & Creator Scraper: Scrape Gumroad products, digital downloads, and seller storefronts.
- GoFundMe Campaign Scraper: Scrape GoFundMe fundraising campaigns - search by keyword, category, country, and funding metrics, or look up campaigns directly by URL.
- TikTok Hashtag Trends Scraper: Track trending TikTok hashtags from the Creative Center.
Resources
Actor documentation, input schema, and pricing: verified against the published Actor on 2026-09-24.
Actor last updated by its maintainers on 2026-05-16.
Run outcome figures cover the 30 day public window ending 2026-09-24.
● Featured actors
Patreon Scraper
Scrape Patreon creators (campaigns) with campaign metadata, tier pricing, public posts, and patron counts.
Run on Apify ↗