A Python tool to scrape Patreon posts and extract video URLs (Vimeo and YouTube) from creators you're subscribed to.
- ✅ Cookie-based authentication (no password required)
- ✅ List all subscribed creators
- ✅ Automatic pagination - fetches ALL posts from creators (not just the initial page)
- ✅ Bulk scrape posts from single or multiple creators
- ✅ Dual platform support - Extract URLs from both Vimeo and YouTube
- ✅ Extract video URLs from text posts and video embeds
- ✅ Date range filtering
- ✅ JSON output with metadata
- ✅ Progress indicators during scraping
- ✅ Handles both public and privacy-protected video links
Note: This tool extracts URLs from Vimeo and YouTube videos embedded in posts. It does not support videos hosted directly on Patreon.
- Python 3.7+
- Browser extension to export cookies (Cookie-Editor, EditThisCookie, etc.)
-
Clone or download this repository
-
Install dependencies:
pip install -r requirements.txtYou need to export your Patreon session cookies to authenticate:
Using Cookie-Editor (Recommended):
- Install Cookie-Editor extension for your browser
- Log into Patreon in your browser
- Click the Cookie-Editor extension icon
- Click "Export" → Choose "JSON" format
- Save the exported data to
cookies.jsonin this directory
Using EditThisCookie:
- Install EditThisCookie extension
- Log into Patreon
- Click the extension icon
- Click "Export Cookies"
- Save to
cookies.json
Important: The cookies.json file contains your session data. Keep it secure and never commit it to version control!
Run the scraper:
python3 patreon_scraper.pyThe script will:
- Authenticate using your cookies
- List all creators you're subscribed to
- Prompt you to select a creator (or "all")
- Optionally apply date filters
- Scrape posts and extract Vimeo URLs
- Save results to
output/{creator}_{timestamp}.json
When prompted "Apply date range filter?", enter y to filter posts by date:
Apply date range filter? (y/n): y
Start date (YYYY-MM-DD) or press Enter to skip: 2024-01-01
End date (YYYY-MM-DD) or press Enter to skip: 2024-12-31
Supported date formats:
YYYY-MM-DD(e.g., 2024-10-19)YYYY/MM/DDDD-MM-YYYYDD/MM/YYYY
patreon_scraper/
├── patreon_scraper.py # Main CLI script
├── auth.py # Cookie authentication module
├── api_client.py # Patreon API interactions
├── video_extractor.py # Video URL extraction (Vimeo & YouTube)
├── utils.py # Helper functions
├── config.py # Configuration settings
├── requirements.txt # Python dependencies
├── cookies.json # Your cookies (not in git)
├── .gitignore # Git ignore rules
├── README.md # This file
└── output/ # Output directory for JSON results
Make sure you've exported your Patreon cookies and saved them as cookies.json in the project directory.
Your cookies may have expired. Export fresh cookies from your browser.
Make sure you have active Patreon memberships and are logged in when exporting cookies.
This usually means your session has expired. Re-export your cookies.
Currently supports the extraction of video URLs from:
- Vimeo - Both public and privacy-protected links
- YouTube - All formats (watch, embed, shorts, youtu.be)
Possible features for future versions:
- JDownloader API integration
- Progress bars with tqdm
- Resume/incremental scraping mode
- Multi-threading for faster scraping
- History monitoring to avoid excess scraping when run regularly
- Never share your
cookies.jsonfile - it contains your session credentials - The file is automatically excluded from git via
.gitignore - Cookies will eventually expire, requiring re-export
- This tool only accesses content you already have permission to view
This tool is for personal use only. Only download content from creators you are subscribed to and have permission to access. Respect creators' rights and Patreon's Terms of Service.
This project is provided as-is for personal use.