Patreon Collection Posts Scraper avatar

Patreon Collection Posts Scraper

Pricing

from $1.00 / 1,000 results

Go to Apify Store
Patreon Collection Posts Scraper

Patreon Collection Posts Scraper

Collect posts from Patreon collections in collection order, including public content, previews and post metadata.

Pricing

from $1.00 / 1,000 results

Rating

0.0

(0)

Developer

ScrapingMonkey

ScrapingMonkey

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Categories

Share

Collect posts from a selected Patreon collection and export one post per dataset row. Patreon Collection Posts Scraper preserves collection context and returns titles, dates, available text or teasers, public counters and media references.

Start from a course, season or themed series and collect its public-facing post records in the collection’s order. The output shares a consistent post schema with the creator feed and individual post actors.

At a glanceDetails
📥 InputEnter Patreon /collection/ID URLs or numeric collection IDs. Posts follow the collection order.
📤 OutputOne post per success row with the input source retained
📄 PaginationResult pages per input; page sizes and availability are controlled by Patreon
🔐 Login requiredNo
⚡ ProcessingUp to 5 HTTP requests concurrently; up to 5 attempts for temporary failures
💾 DeliveryOne Apify dataset view with individual records and complete nested JSON

What the Patreon collection posts scraper collects 🗂️

The Actor resolves the collection and its creator, then follows the website’s collection-post pagination. Repeated post IDs within the source collection are removed while source context stays attached.

Data can include:

  • Post IDs, canonical URLs, titles and publication dates
  • Source collection identity and ordering context
  • Accessible post content or public teasers with access indicators
  • Visible engagement and author information when supplied
  • Available media, embeds, tags and poll metadata inside each post record

How to collect collection posts from Patreon 🚀

  1. Enter one or more supported inputs.
  2. Set the page budget and any collection option you need.
  3. Start the Actor.
  4. Open the Posts dataset view and review success or failed rows.
  5. Export the dataset or retrieve records from your application.
{
"inputList": [
"https://www.patreon.com/collection/1986892"
],
"pagesPerCollection": 1
}

The page budget counts post result pages separately for each collection. Collection metadata and creator-resolution requests do not themselves produce extra post rows.

Patreon collection posts output fields 📦

FieldTypeMeaning
inputstringOriginal submitted input.
statusstringsuccess for a collected entity; failed for an invalid, unavailable or exhausted input.
idstring or nullId when supplied by Patreon.
typestring or nullType when supplied by Patreon.
urlstring or nullUrl when supplied by Patreon.
titlestring or nullTitle when supplied by Patreon.
post_typestring or nullPost type when supplied by Patreon.
created_atstring or nullCreated at when supplied by Patreon.
published_atstring or nullPublished at when supplied by Patreon.
edited_atstring or nullEdited at when supplied by Patreon.
is_accessibleboolean or nullWhether the anonymous website response permits viewing the post content.
is_lockedboolean or nullTrue when the anonymous website response does not permit viewing the full post.
is_paidboolean or nullRaw Patreon is_paid flag. This does not determine whether a post is accessible.
is_preview_blurredboolean or nullIs preview blurred when supplied by Patreon.
content_jsonstring or nullOriginal public post document as a JSON string; null when unavailable.
content_textstring or nullReadable public post text; null for unavailable full content.
teaser_textstring or nullPublicly visible post teaser, when supplied.
comment_countinteger or nullComment count when supplied by Patreon.
commenter_countinteger or nullCommenter count when supplied by Patreon.
like_countinteger or nullLike count when supplied by Patreon.
reshare_countinteger or nullReshare count when supplied by Patreon.
view_countinteger or nullView count when supplied by Patreon.
min_amount_centsinteger or nullMin amount cents when supplied by Patreon.
image_urlstring or nullImage url when supplied by Patreon.
thumbnail_urlstring or nullThumbnail url when supplied by Patreon.
image_widthinteger or nullImage width when supplied by Patreon.
image_heightinteger or nullImage height when supplied by Patreon.
thumbnail_versionsarray or nullThumbnail versions when supplied by Patreon.
file_urlstring or nullFile url when supplied by Patreon.
duration_secondsnumber or nullDuration seconds when supplied by Patreon.
embedobject or nullEmbed when supplied by Patreon.
audioobject or nullAudio when supplied by Patreon.
videoobject or nullVideo when supplied by Patreon.
audio_previewobject or nullAudio preview when supplied by Patreon.
imagesarray or nullImages when supplied by Patreon.
attachmentsarray or nullAttachments when supplied by Patreon.
mediaarray or nullMedia when supplied by Patreon.
pollobject or nullPoll when supplied by Patreon.
creatorobject or nullCreator when supplied by Patreon.
authorobject or nullAuthor when supplied by Patreon.
authorsarray or nullAuthors when supplied by Patreon.
tagsarray or nullTags when supplied by Patreon.
access_rulesarray or nullAccess rules when supplied by Patreon.
collection_idstring or nullSource or linked collection ID, when applicable.
collection_titlestring or nullCollection title when supplied by Patreon.
collection_urlstring or nullCollection url when supplied by Patreon.
pageinteger or nullOne-based main result page. Null for an individual detail lookup.

Nested field structure:

  • thumbnail_versions[]: name, url.
  • embed: url, provider, title, description, html.
  • audio: id, media_type, file_name, mime_type, size_bytes, state, url, download_url, width, height, duration_seconds, thumbnail_url, image_versions.
  • audio.image_versions[]: name, url.
  • video: id, media_type, file_name, mime_type, size_bytes, state, url, download_url, width, height, duration_seconds, thumbnail_url, image_versions.
  • video.image_versions[]: name, url.
  • audio_preview: id, media_type, file_name, mime_type, size_bytes, state, url, download_url, width, height, duration_seconds, thumbnail_url, image_versions.
  • audio_preview.image_versions[]: name, url.
  • images[]: id, media_type, file_name, mime_type, size_bytes, state, url, download_url, width, height, duration_seconds, thumbnail_url, image_versions.
  • images[].image_versions[]: name, url.
  • attachments[]: id, media_type, file_name, mime_type, size_bytes, state, url, download_url, width, height, duration_seconds, thumbnail_url, image_versions.
  • attachments[].image_versions[]: name, url.
  • media[]: id, media_type, file_name, mime_type, size_bytes, state, url, download_url, width, height, duration_seconds, thumbnail_url, image_versions.
  • media[].image_versions[]: name, url.
  • poll: id, question, question_type, created_at, closes_at, response_count, choices.
  • poll.choices[]: id, text, type, position, response_count.
  • creator: id, name, url, avatar_url, currency.
  • author: id, name, url, image_url.
  • authors[]: id, name, url, image_url.
  • tags[]: id, value, type.
  • access_rules[]: id, type, amount_cents, currency, tier_id.

The examples below use normalized public response data. Values are snapshots and may change; every top-level output field is included. Different media variants and nested objects remain inside the same row.

Complete representative success result:

{
"input": "https://www.patreon.com/collection/1986892",
"status": "success",
"id": "163323681",
"type": "post",
"url": "https://www.patreon.com/alexhefner/posts/attack-on-titan-163323681",
"title": "Attack on Titan | OVA Episode 8 | \"Lost in the Cruel World\" | (UNEDITED)",
"post_type": "video_external_file",
"created_at": "2026-07-09T09:29:01.000+00:00",
"published_at": "2026-07-09T21:34:31.000+00:00",
"edited_at": "2026-07-09T21:34:31.000+00:00",
"is_accessible": false,
"is_locked": true,
"is_paid": false,
"is_preview_blurred": false,
"content_json": null,
"content_text": null,
"teaser_text": "",
"comment_count": 25,
"commenter_count": 17,
"like_count": 62,
"reshare_count": 0,
"view_count": null,
"min_amount_cents": null,
"image_url": "https://c10.patreonusercontent.com/4/patreon-media/p/post/163323681/b31ff0f422114a64b195d5251e63c2a8/eyJ3Ijo2MjB9/1.jpg?token-hash=9TU39yk8TRc9oUMD3vT4ZAAzWzmRb7z8D2xvmd_tivo%3D&token-time=1790380800",
"thumbnail_url": "https://c10.patreonusercontent.com/4/patreon-media/p/post/163323681/b31ff0f422114a64b195d5251e63c2a8/eyJ3Ijo2MjB9/1.jpg?token-hash=9TU39yk8TRc9oUMD3vT4ZAAzWzmRb7z8D2xvmd_tivo%3D&token-time=1790380800",
"image_width": 1920,
"image_height": 1080,
"thumbnail_versions": [
{
"name": "original",
"url": "https://c10.patreonusercontent.com/4/patreon-media/p/post/163323681/b31ff0f422114a64b195d5251e63c2a8/eyJwIjoxfQ%3D%3D/1.jpg?token-hash=hq9um_ejv8OBWpuyfEurn25fBUMsKYGV0d95_nIo-0Q%3D&token-time=1790380800"
},
{
"name": "default",
"url": "https://c10.patreonusercontent.com/4/patreon-media/p/post/163323681/b31ff0f422114a64b195d5251e63c2a8/eyJ3Ijo2MjB9/1.jpg?token-hash=9TU39yk8TRc9oUMD3vT4ZAAzWzmRb7z8D2xvmd_tivo%3D&token-time=1790380800"
},
{
"name": "default_blurred",
"url": "https://c10.patreonusercontent.com/4/patreon-media/p/post/163323681/b31ff0f422114a64b195d5251e63c2a8/eyJ3Ijo2MjB9/1.jpg?token-hash=9TU39yk8TRc9oUMD3vT4ZAAzWzmRb7z8D2xvmd_tivo%3D&token-time=1790380800"
},
{
"name": "default_small",
"url": "https://c10.patreonusercontent.com/4/patreon-media/p/post/163323681/b31ff0f422114a64b195d5251e63c2a8/eyJ3IjozNjB9/1.jpg?token-hash=FqsnOyNeRMDPpYWZLXBFHtoakSKz8NTxkDxIyowyfzg%3D&token-time=1790380800"
},
{
"name": "default_large",
"url": "https://c10.patreonusercontent.com/4/patreon-media/p/post/163323681/b31ff0f422114a64b195d5251e63c2a8/eyJ3IjoxMDgwfQ%3D%3D/1.jpg?token-hash=VY2LfGPU402BD9Foh2RnY5udfl63hj1O_z497F6LZwM%3D&token-time=1790380800"
},
{
"name": "default_blurred_small",
"url": "https://c10.patreonusercontent.com/4/patreon-media/p/post/163323681/b31ff0f422114a64b195d5251e63c2a8/eyJ3IjozNjB9/1.jpg?token-hash=FqsnOyNeRMDPpYWZLXBFHtoakSKz8NTxkDxIyowyfzg%3D&token-time=1790380800"
},
{
"name": "thumbnail",
"url": "https://c10.patreonusercontent.com/4/patreon-media/p/post/163323681/b31ff0f422114a64b195d5251e63c2a8/eyJoIjozNjAsInciOjM2MH0%3D/1.jpg?token-hash=KSs2PZnV7jMPeWZPYNYv8xqTzGBh1M-B1Kod0FORckI%3D&token-time=1790380800"
},
{
"name": "thumbnail_large",
"url": "https://c10.patreonusercontent.com/4/patreon-media/p/post/163323681/b31ff0f422114a64b195d5251e63c2a8/eyJoIjoxMDgwLCJ3IjoxMDgwfQ%3D%3D/1.jpg?token-hash=X4NCA6frnZOwby1i-cQ8XOFU2QEwgZPpupe2D4Qvn3s%3D&token-time=1790380800"
},
{
"name": "thumbnail_small",
"url": "https://c10.patreonusercontent.com/4/patreon-media/p/post/163323681/b31ff0f422114a64b195d5251e63c2a8/eyJoIjoxMDAsInciOjEwMH0%3D/1.jpg?token-hash=Uo-mGxtku6pZp8a5lUWg9IMnEtJ8Ek7KElsBGt2Sl6g%3D&token-time=1790380800"
},
{
"name": "url",
"url": "https://c10.patreonusercontent.com/4/patreon-media/p/post/163323681/b31ff0f422114a64b195d5251e63c2a8/eyJ3Ijo2MjB9/1.jpg?token-hash=9TU39yk8TRc9oUMD3vT4ZAAzWzmRb7z8D2xvmd_tivo%3D&token-time=1790380800"
}
],
"file_url": null,
"duration_seconds": null,
"embed": null,
"audio": null,
"video": null,
"audio_preview": null,
"images": [
{
"id": "695988853",
"media_type": null,
"file_name": "lastttt.jpg",
"mime_type": null,
"size_bytes": null,
"state": "ready",
"url": null,
"download_url": null,
"width": 1920,
"height": 1080,
"duration_seconds": null,
"thumbnail_url": "https://c10.patreonusercontent.com/4/patreon-media/p/post/163323681/b31ff0f422114a64b195d5251e63c2a8/eyJ3Ijo2MjB9/1.jpg?token-hash=9TU39yk8TRc9oUMD3vT4ZAAzWzmRb7z8D2xvmd_tivo%3D&token-time=1790380800",
"image_versions": [
{
"name": "url",
"url": "https://c10.patreonusercontent.com/4/patreon-media/p/post/163323681/b31ff0f422114a64b195d5251e63c2a8/e30%3D/1.jpg?token-hash=B7tdqmVLHXTXNDJ4lLkkC5K0Cr94LY-ud1Mxd1Z9SU4%3D&token-time=1790380800"
},
{
"name": "thumbnail",
"url": "https://c10.patreonusercontent.com/4/patreon-media/p/post/163323681/b31ff0f422114a64b195d5251e63c2a8/e30%3D/1.jpg?token-hash=B7tdqmVLHXTXNDJ4lLkkC5K0Cr94LY-ud1Mxd1Z9SU4%3D&token-time=1790380800"
},
{
"name": "default",
"url": "https://c10.patreonusercontent.com/4/patreon-media/p/post/163323681/b31ff0f422114a64b195d5251e63c2a8/eyJ3Ijo2MjB9/1.jpg?token-hash=9TU39yk8TRc9oUMD3vT4ZAAzWzmRb7z8D2xvmd_tivo%3D&token-time=1790380800"
},
{
"name": "default_small",
"url": "https://c10.patreonusercontent.com/4/patreon-media/p/post/163323681/b31ff0f422114a64b195d5251e63c2a8/eyJ3IjozNjB9/1.jpg?token-hash=FqsnOyNeRMDPpYWZLXBFHtoakSKz8NTxkDxIyowyfzg%3D&token-time=1790380800"
}
]
}
],
"attachments": null,
"media": null,
"poll": null,
"creator": {
"id": "2693197",
"name": "Alex Hefner",
"url": "https://www.patreon.com/alexhefner",
"avatar_url": "https://c10.patreonusercontent.com/4/patreon-media/p/campaign/2693197/04054629f14b4352a71c1bd30dcd757e/eyJ3Ijo2MjB9/7.jpg?token-hash=oWVv11rlwo_Vvvd2DFzyDdj9id9UwPOHKINv8nNNJ8Y%3D",
"currency": "USD"
},
"author": {
"id": "19128420",
"name": "Alex Hefner",
"url": "https://www.patreon.com/alexhefner",
"image_url": "https://c10.patreonusercontent.com/4/patreon-media/p/campaign/2693197/04054629f14b4352a71c1bd30dcd757e/eyJ3IjoyMDB9/7.jpg?token-hash=-DSsi06LPmpajH_O5e0etMTnKbvNdCL6YYwGnGBosME%3D"
},
"authors": [
{
"id": "c2693197-context_cids:2693197-product_surface:collab_post_byline",
"name": "Alex Hefner",
"url": "https://www.patreon.com/alexhefner",
"image_url": "https://c10.patreonusercontent.com/4/patreon-media/p/campaign/2693197/04054629f14b4352a71c1bd30dcd757e/eyJ3IjoxMjB9/7.jpg?token-hash=C08dMlx4Jv6ktA0iJx_PfmoHyV6sF2YjLeliT9knxVE%3D&token-time=1790380800"
}
],
"tags": [],
"access_rules": [
{
"id": "8489498",
"type": "patrons",
"amount_cents": null,
"currency": "USD",
"tier_id": null
}
],
"collection_id": "1986892",
"collection_title": "Attack on Titan Collection",
"collection_url": "https://www.patreon.com/collection/1986892",
"page": 1
}

Complete failed dataset item:

{
"input": "https://www.patreon.com/collection/1986892",
"status": "failed",
"id": null,
"type": null,
"url": null,
"title": null,
"post_type": null,
"created_at": null,
"published_at": null,
"edited_at": null,
"is_accessible": null,
"is_locked": null,
"is_paid": null,
"is_preview_blurred": null,
"content_json": null,
"content_text": null,
"teaser_text": null,
"comment_count": null,
"commenter_count": null,
"like_count": null,
"reshare_count": null,
"view_count": null,
"min_amount_cents": null,
"image_url": null,
"thumbnail_url": null,
"image_width": null,
"image_height": null,
"thumbnail_versions": null,
"file_url": null,
"duration_seconds": null,
"embed": null,
"audio": null,
"video": null,
"audio_preview": null,
"images": null,
"attachments": null,
"media": null,
"poll": null,
"creator": null,
"author": null,
"authors": null,
"tags": null,
"access_rules": null,
"collection_id": null,
"collection_title": null,
"collection_url": null,
"page": null
}

A failed row preserves input, sets status to failed, and sets every other top-level field to null. The reason is written to the run log. Optional successful values remain null or empty when Patreon omits them. The single dataset view exposes object fields as useful columns; arrays are kept in their parent row rather than expanded into additional rows or views.

Input and pagination settings ⚙️

ParameterTypeRequiredDefaultRules
inputListarray of stringsYesNoneEnter Patreon /collection/ID URLs or numeric collection IDs. Posts follow the collection order.
pagesPerCollectionintegerNo1Maximum result pages per input. Preparation requests do not count. A short page can still have a continuation. Minimum 1.

Enter supported Patreon collection URLs or identifiers. Use Creator Posts Scraper when you need an author’s full feed instead of a specific collection.

Use supported Patreon paths on www.patreon.com or patreon.com. HTTPS is required for full URLs; those two hosts can also be entered without the scheme. URLs with credentials, custom ports or unsupported paths are not accepted.

Duplicate normalized inputs are processed once. A returned identifier is deduplicated within the pagination of one source input; the same object found under different source inputs retains each source relationship.

The first result request counts as page 1. Source validation and preparation requests do not consume result pages. A short or filtered page can continue if it supplies a usable cursor. Collection stops at the page budget or the end of pagination; a repeated cursor does not trigger an endless loop.

Patreon collection posts use cases 🎯

Series post inventories

Collect the titles, links and access state of a specific series. Use the records to review its public-facing structure.

Course metadata research

Prepare a source-linked list of lessons or posts from a known collection. Keep access restrictions explicit when analyzing the exported data.

Collection comparisons

Collect selected collections and compare formats, dates or visible counters in your own tools without losing the source collection.

Pricing and saved-result behavior 💰

Check the Actor’s Pricing tab for the active charging model and current rate. Store settings may change, so this README does not state an unverified fixed price or runtime.

Under dataset-item pricing:

  • Each unique success result represents one post for its source input.
  • An invalid or unavailable input, an input with no accessible results, or a request that exhausts retries can produce a failed row.
  • Retry attempts and supporting metadata requests do not create extra dataset rows by themselves.
  • Nested media, tiers, poll choices and source fields stay inside their parent result when relevant.
  • A normal empty continuation after earlier successes creates no additional result row.
  • Saved failed rows are not assumed to be free. Check the active pricing configuration for their treatment.

Larger page budgets and more inputs can produce more saved rows. Start with a small run and check actual usage before increasing the workload.

Patreon collection posts API 🔌

Replace $ACTOR_ID with the identifier shown in this Actor’s API tab and $APIFY_TOKEN with your Apify token.

curl -X POST "https://api.apify.com/v2/acts/$ACTOR_ID/runs?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"inputList":["https://www.patreon.com/collection/1986892"],"pagesPerCollection":1}'

Download JSON, CSV, Excel, XML or other formats available in the Console, or retrieve the dataset through the Apify API. Schedules, webhooks and Apify integrations can connect results to Google Sheets, Make, Zapier, n8n, cloud storage or your own backend. These are connection options rather than integrations already configured by the Actor.

Reliability, retries, and public-data limits ⚠️

Collection uses pure HTTP with up to five concurrent requests. Invalid syntax and confirmed missing, removed or inaccessible targets stop without unnecessary retries. Temporary network or proxy failures, timeouts, blocking responses, malformed data, throttling and server errors are retried up to five total attempts per request.

Earlier successful pages remain saved when a later request fails. A normal end after previously saved results is not retried. An input that produces no accessible results can receive a failed row; this does not by itself prove the underlying account or collection does not exist. A later exhausted request can append a failed row while keeping earlier output.

Patreon controls public availability, ranking, fields and pagination. Private, deleted, restricted or otherwise unavailable data can be omitted. Counts can change during collection, and media links can expire. Successful HTTP research confirms the supported request paths and pagination on tested sources, rather than future availability or exhaustive coverage.

Collection order is not necessarily chronological. A closed or subscriber-only series can expose public post cards without full content. The declared collection post total and the number of accessible unique rows can differ.

An invalid string within a valid input list does not stop other inputs. A configuration that fails validation, such as a non-string list item or an invalid page-count type, exits before requests start. Infrastructure errors such as startup failure, unavailable dataset storage or an unrecoverable result-save error can stop the whole run. A failed dataset save is not retried as a new scraping request.

Frequently asked questions ❓

Does it preserve the collection’s order?

It requests the website’s collection order and follows its pagination. That order may differ from publication-date order.

Does it unlock a paid course or video series?

No. The Actor collects the public-facing records available to a guest. Protected content and files remain unavailable.

Can I collect more than one collection?

Yes, supported collection inputs are processed separately. The same post can retain a separate source relationship when it appears in different collections.

Does it require Patreon login or personal cookies?

No. The Actor uses HTTP requests from the public website. It does not require a Patreon account, password or personal session cookie, and does not launch a browser.

What happens to invalid or unavailable inputs?

Invalid individual inputs are saved as failed rows without a source request. Confirmed unavailable targets stop without unnecessary retries. Temporary failures allow up to five total attempts; other inputs and previously saved results remain available.

Can I export results or schedule runs?

Yes. Download the default dataset in supported formats or retrieve it through the Apify API. Apify schedules and completion webhooks can connect repeated runs to your own workflow.

For a reproducible issue, use the Actor’s Issues tab and provide the run ID, approximate time, safe public input, expected behavior and actual result. Include the selected mode or page count when applicable. Do not share access tokens, cookies or proxy credentials.

Use public data responsibly and follow applicable privacy, copyright, contractual and platform requirements before storing, analyzing or redistributing collected information.