Patreon Scraper avatar

Patreon Scraper

Pricing

from $2.65 / 1,000 creator profiles

Go to Apify Store
Patreon Scraper

Patreon Scraper

Collect public Patreon creator and campaign profiles, membership tiers, audience counts, and public posts. Search by keyword or category, or use a creator or post URL.

Pricing

from $2.65 / 1,000 creator profiles

Rating

0.0

(0)

Developer

Maxime Dupré

Maxime Dupré

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Share

🔎 Public Patreon creator and post data

Patreon researchers, creator teams, marketers, and analysts can use Patreon Scraper to collect public creator and campaign profiles, membership tiers, audience counts, and public posts in structured dataset rows. Search with a keyword or category, look up creator identifiers or URLs, or find posts with text or URLs. The output helps you compare creator pages, review membership offers, and study public post activity.

📦 Public creator and post records

The dataset has two row shapes. A creator row can include the public campaign profile, audience and post counts, categories, earnings when published, social links, membership tiers, and recent public posts. A post row can include the title, URL, type, publication time, access type, text, engagement counts, media references, and its creator.

Only public Patreon data is in scope. Private, member-only, deleted, or otherwise unavailable material is not collected. Optional values that Patreon does not show are omitted rather than guessed.

The Actor saves the first eligible occurrence of a source item immediately. If the same source item appears again through another submitted identifier, URL, keyword, or category, the later match is ignored. matchedBy and discoveryType show the value and source type for the first saved match.

▶️ Choose a Patreon search or lookup

Run choices

  1. Choose a target: creator profiles, creator keyword search, creator category browse, post search, or public post URLs.
  2. Enter the field that belongs to that target. Use creator identifiers or URLs for a direct lookup, or use a keyword or category for discovery.
  3. Turn on recent public posts when you need post rows linked to creator rows. Use the post filters only with Post search.
  4. Add creator or post filters when needed, then set maxItems for a smaller run. Leave it empty to return all available results until the source is exhausted.
  5. Start the run and open the dataset link in the Output panel.

To reduce the amount of work, turn off includeRecentPosts when you only need creator profiles and membership tiers. Use a direct creator or post URL when you already know what to check. Use maxItems when you need a small sample before a larger run.

⚙️ Input

Input fields

FieldTypeWhat it does
targetstringRequired. Choose creatorProfiles, creatorKeywordSearch, creatorCategoryBrowse, postSearch, or postUrls.
creatorReferencesarray of stringPublic creator identifiers or URLs for creatorProfiles. Enter at least one.
creatorReferences[]stringOne public creator identifier or Patreon URL in the list.
excludeNsfwbooleanFor creatorProfiles, leave out creators marked NSFW. It is ignored for the other targets. Default: false.
creatorKeywordstringOne keyword for finding public creators and campaigns with creatorKeywordSearch.
creatorCategorystringOne Patreon category or Explore classification for creatorCategoryBrowse.
postQuerystringOne text query for finding public posts with postSearch.
postTypesarray of stringOptional post or media types for postSearch. Listed types and source types can be used.
postTypes[]stringOne post or media type used by the post search filter.
postAccessarray of stringOptional access types for postSearch: public, free_membership, or paid_membership.
postAccess[]stringOne access type used by the post search filter.
postPublishedstringOptional publication year such as 2025, or year and month such as 2025-01.
postOrderstringOrder for postSearch: newest or oldest.
postUrlsarray of objectOne or more public Patreon post URL objects for postUrls.
postUrls[].urlstringOne public Patreon post URL to fetch.
includeRecentPostsbooleanFor the three creator targets, also collect recent public posts. It is off by default and ignored for postSearch and postUrls.
minimumPatronsintegerFor creator keyword search and category browse, keep creators with at least this many patrons. Leave it empty to keep all matching creators.
maxItemsintegerStop after this many records. Leave it empty to return all available results until the source is exhausted. The form prefill is 10.

Successful beta input

This public input came from a successful run of the current beta build:

{
"target": "creatorProfiles",
"creatorReferences": [
"veritasium"
],
"excludeNsfw": false,
"includeRecentPosts": false,
"maxItems": 10
}

🧾 Output

Fields with no public value are omitted. The dotted paths below show nested fields, while the examples keep their real nested shape.

Creator records

FieldTypeWhat it does
recordTypestringIdentifies this row as a creator record.
matchedBystringThe submitted identifier, URL, keyword, or category that led to the first saved creator row.
discoveryTypestringThe source type for the match: identifier, url, keyword, or category.
collectedAtstringTime when the row was collected from Patreon.
creatorobjectPublic creator or campaign details.
creator.idstringStable Patreon ID for the creator or campaign.
creator.namestringPublic name of the creator or campaign.
creator.profileTypestringWhether the profile is a creator or campaign.
creator.handlestringPublic handle for the creator or campaign.
creator.urlstringPublic Patreon profile URL.
creator.descriptionstringPublic description of the creator or campaign.
creator.imageUrlstringPublic profile image URL.
creator.coverImageUrlstringPublic cover image URL.
creator.currencystringCurrency used by the creator or campaign.
creator.publishedAtstringPublication time for the creator or campaign, when supplied.
creator.createdAtstringCreation time for the creator or campaign, when supplied.
creator.isNsfwbooleanWhether Patreon marks the creator or campaign as NSFW.
creator.patronCountintegerPublic number of patrons.
creator.memberCountintegerPublic number of members.
creator.postCountintegerPublic total number of posts.
creator.creationCountintegerPublic total number of creations.
creator.categoriesarray of objectPublic Patreon categories for the creator or campaign.
creator.categories[].namestringName of a Patreon category.
creator.categories[].rankintegerPublic rank in that category.
creator.earningsobjectPublic earnings reported by Patreon or the creator.
creator.earnings.amountnumberPublished earnings amount.
creator.earnings.currencystringCurrency for the published earnings amount.
creator.earnings.periodstringPeriod covered by the published earnings: month, year, total, or unknown.
creator.supportPerPatronobjectPublic average support amount for one patron.
creator.supportPerPatron.amountnumberPublished support amount per patron.
creator.supportPerPatron.currencystringCurrency for the support amount per patron.
creator.socialLinksarray of objectPublic social links for the creator or campaign.
creator.socialLinks[].platformstringName of the social platform.
creator.socialLinks[].urlstringPublic URL on that social platform.
creator.membershipTiersarray of objectPublic membership tiers for the creator or campaign.
creator.membershipTiers[].idstringStable Patreon ID for the membership tier.
creator.membershipTiers[].namestringPublic name of the membership tier.
creator.membershipTiers[].descriptionstringPublic description of the membership tier.
creator.membershipTiers[].benefitsarray of stringPublic benefits included in the membership tier.
creator.membershipTiers[].benefits[]stringOne public benefit in the membership tier.
creator.membershipTiers[].pricenumberPrice of the membership tier.
creator.membershipTiers[].currencystringCurrency for the membership tier price.
creator.membershipTiers[].urlstringPublic URL for the membership tier.
creator.recentPostsarray of objectRecent public posts linked to the creator or campaign.
creator.recentPosts[].idstringStable Patreon ID for a recent post.
creator.recentPosts[].urlstringPublic Patreon URL for the recent post.
creator.recentPosts[].titlestringPublic title of the recent post.
creator.recentPosts[].typestringPost or media type supplied by Patreon.
creator.recentPosts[].publishedAtstringTime when the recent post was published.
creator.recentPosts[].accessTypestringPublic access level for the recent post.
creator.recentPosts[].bodyTextstringPublic post body or teaser text.
creator.recentPosts[].likeCountintegerPublic number of likes on the recent post.
creator.recentPosts[].commentCountintegerPublic number of comments on the recent post.
creator.recentPosts[].mediaarray of objectPublic media references in the recent post.
creator.recentPosts[].media[].typestringType of a media reference.
creator.recentPosts[].media[].urlstringPublic URL for a media reference.
creator.recentPosts[].media[].thumbnailUrlstringPublic thumbnail URL for a media reference.

Current beta creator row

This genuine row came from a successful current-beta creator run. It is shortened only by replacing the nested recentPosts array with the JSON string "...". The other shown keys and values are from the public dataset row.

{
"recordType": "creator",
"matchedBy": "veritasium",
"discoveryType": "identifier",
"collectedAt": "2026-08-27T11:57:48.706Z",
"creator": {
"name": "Veritasium",
"url": "https://www.patreon.com/veritasium",
"id": "70092",
"profileType": "campaign",
"handle": "veritasium",
"description": "I make videos about any area of science that interests me (and that's all of it). This is what I do with most of my time. And it's not cheap - sometimes I dress up in atom costumes, rent musical instruments to make science music vids, or recreate 19th century experiments. So with your support I can make even more awesome science content.",
"imageUrl": "https://c10.patreonusercontent.com/4/patreon-media/p/campaign/70092/2e31720981e9452ca9f9e0cbf1c74d2f/eyJ3Ijo2MjB9/2.png?token-hash=HgSJuaZs6uVpvnYc-s5LrXhezPVxYaWrFDmAczeDZm4%3D",
"coverImageUrl": "https://c10.patreonusercontent.com/4/patreon-media/p/campaign/70092/ca593903846542c7b6c49d9f3f5b5751/eyJ3IjoxOTIwLCJ3ZSI6MX0%3D/3.jpg?token-hash=EvP6n2SuYOH1Ge4w7Sj0t950cShuYIuu4mPMIc5DnII%3D&token-time=1788480000",
"currency": "USD",
"publishedAt": "2013-05-09T01:20:46.000+00:00",
"isNsfw": false,
"patronCount": 18307,
"memberCount": 2882,
"postCount": 537,
"creationCount": 537,
"socialLinks": [
{
"platform": "tiktok",
"url": "https://tiktok.com/%40veritasium"
},
{
"platform": "twitter",
"url": "https://twitter.com/veritasium"
},
{
"platform": "instagram",
"url": "https://www.instagram.com/veritasium_daily"
}
],
"membershipTiers": [
{
"name": "Free",
"benefits": [],
"id": "10302173",
"price": 0,
"currency": "USD",
"url": "https://www.patreon.com/checkout/veritasium?rid=10302173"
},
{
"name": "Hydrogen",
"benefits": [],
"id": "376",
"description": "Access to the Patreon feed, including behind the scenes photos, outtakes and sneak previews of WIP videos.",
"price": 1,
"currency": "USD",
"url": "https://www.patreon.com/checkout/veritasium?rid=376"
},
{
"name": "Lithium",
"benefits": [],
"id": "377",
"description": "+ My everlasting gratitude",
"price": 3,
"currency": "USD",
"url": "https://www.patreon.com/checkout/veritasium?rid=377"
},
{
"name": "Nitrogen",
"benefits": [],
"id": "378",
"description": "Your name (or pseudonym) will appear on the Wall of Thanks on Veritasium.com for as long as you maintain this pledge. + All above rewards",
"price": 7,
"currency": "USD",
"url": "https://www.patreon.com/checkout/veritasium?rid=378"
},
{
"name": "Chlorine",
"benefits": [],
"id": "578389",
"description": "+ All above rewards + My everlasting gratitude",
"price": 17,
"currency": "USD",
"url": "https://www.patreon.com/checkout/veritasium?rid=578389"
},
{
"name": "Veritasium",
"benefits": [],
"id": "379",
"description": "Your name in the video description of all Veritasium videos published while you maintain this pledge. + All above rewards",
"price": 42,
"currency": "USD",
"url": "https://www.patreon.com/checkout/veritasium?rid=379"
},
{
"name": "Maximum Truth",
"benefits": [
"Your name will appear on screen at the end of all Veritasium videos posted while you maintain this pledge"
],
"id": "578388",
"description": "Your name will appear on screen at the end of all Veritasium videos posted while you maintain this pledge + All above rewards",
"price": 100,
"currency": "USD",
"url": "https://www.patreon.com/checkout/veritasium?rid=578388"
}
],
"recentPosts": "..."
}
}

Post records

FieldTypeWhat it does
recordTypestringIdentifies this row as a post record.
matchedBystringThe submitted post URL or search query that led to the first saved post row.
discoveryTypestringThe source type for the match: postUrl or postSearch.
collectedAtstringTime when the row was collected from Patreon.
postobjectPublic Patreon post details.
post.idstringStable Patreon ID for the post.
post.urlstringPublic Patreon URL for the post.
post.titlestringPublic title of the post.
post.typestringPost or media type supplied by Patreon.
post.publishedAtstringTime when the post was published.
post.accessTypestringPublic access level for the post.
post.bodyTextstringPublic post body or teaser text.
post.likeCountintegerPublic number of likes on the post.
post.commentCountintegerPublic number of comments on the post.
post.mediaarray of objectPublic media references in the post.
post.media[].typestringType of a media reference.
post.media[].urlstringPublic URL for a media reference.
post.media[].thumbnailUrlstringPublic thumbnail URL for a media reference.
post.creatorobjectPublic creator details linked to the post.
post.creator.idstringStable Patreon ID for the linked creator or campaign.
post.creator.namestringPublic name of the linked creator or campaign.
post.creator.urlstringPublic Patreon URL for the linked creator or campaign.

Current beta post row

This complete genuine row came from the newest successful current-beta post search run.

{
"recordType": "post",
"matchedBy": "a",
"discoveryType": "postSearch",
"collectedAt": "2026-08-27T12:03:58.051Z",
"post": {
"id": "144834429",
"url": "https://www.patreon.com/PhilosophyTube/posts/christmas-carol-144834429",
"title": "Christmas Charity Livestream: A Christmas Carol",
"type": "text_only",
"publishedAt": "2025-12-01T19:34:49.000+00:00",
"accessType": "public",
"bodyText": "Hello lovely Patrons! On 20/12/25 I'm going to read A Christmas Carol on livestream to raise money for World Central Kitchen Christmas is a time with a lot of nice food but not everyone has enough to eat. WCK feed people who've suffered natural disasters like the LA wildfires, and also manmade disasters like in Gaza and Ukraine. I wanna use my platform to do some good this Christmas season, and also read a cosy story by a great writer! See you on the 20th! if you want to donate to the campaign you can do it here https://streamlabscharity.com/@abigail-thorn/philosophy-tube-for-world-central-kitchen",
"likeCount": 78,
"commentCount": 6,
"creator": {
"id": "114875",
"name": "Philosophy Tube",
"url": "https://www.patreon.com/PhilosophyTube"
}
}
}

💳 Pricing

How charges map to saved rows

The Actor uses two buyer-facing pay-per-event charges. A successful public creator or campaign profile uses patreon-creator-profile. A successful public post uses patreon-public-post. When recent posts are included, each saved public post uses the post event. The rate shown in the Store is the rate for your Apify plan.

Machine eventBuyer-facing titleWhat it covers
patreon-creator-profileCreator ProfileOne successful public creator or campaign profile with its name, available audience counts, membership tiers, and public dates and links.
patreon-public-postPublic PostOne successful public post with its title, URL, type, publication time, and available media or engagement counts.

🔌 Integrations

The Output panel links to the default dataset. You can read its public creator and post rows through the Apify API or export them from Apify.

See the Patreon Scraper walkthrough:

❓ FAQ

What happens when the same creator or post matches more than one input?

The first eligible occurrence is saved right away. A later match for the same source item is ignored, and the saved row is not rewritten. matchedBy shows the submitted value for that first saved match.

Why did the run return fewer records than maxItems?

maxItems is a ceiling. The source may have fewer available matches, filters may remove some creators or posts, or later matches may be duplicates. Leave it empty when you want all available results until the source is exhausted.

Which target should I use for a creator lookup?

Use Creator profiles with a public creator identifier or URL when you know the page. Use Creator keyword search to find creators from one keyword. Use Creator category browse to search one Patreon category or Explore classification.

How do I include recent posts with creator data?

Turn on includeRecentPosts for Creator profiles, Creator keyword search, or Creator category browse. It is off by default and has no effect on Post search or Public post URLs.

Can this Actor collect private or member-only Patreon content?

No. It collects public creator, campaign, and post data only. Private, member-only, deleted, and unavailable material is outside the product scope.

What happens when Patreon does not publish a field?

That optional field is omitted from the row. The Actor does not fill missing public values with guesses.

Can I filter public post searches?

Yes. Use postTypes, postAccess, postPublished, and postOrder with Post search. These fields do not change creator lookups.

How can I keep a run smaller?

Set maxItems to a sample size, turn off includeRecentPosts when post rows are not needed, or use a direct creator or post URL instead of discovery. Use minimumPatrons to remove smaller creator matches during creator keyword or category searches.

📝 Changelog

0.0: Initial release

🆘 Support

For issues, questions, or feature requests, file a ticket and I'll fix or implement it in less than 24h 🫡

Made with ❤️ by Maxime Dupré