[!WARNING] This project may violate Fansly's Terms of Service. Use it at your own risk and ensure you comply with any applicable terms and laws.
📖 About
I originally wrote this project because the downloaders I tried weren't consistently downloading the highest-quality media available.
Fansly-DL retrieves a creator's timeline and downloads the highest quality media your account is authorized to access.
It does not bypass subscriptions or paid content—your account must already have permission to view the media.
✨ Features
- 📷 Downloads the highest available image quality
- 🎥 Downloads videos
- 📁 Organises downloads by year/month
- 📅 Preserves upload dates in filenames
- 📊 Progress bars with download statistics
- 🔄 Resume partially downloaded files
- 🧹 Simple command-line interface
📑 Table of Contents
📦 Requirements
- Python 3.11+
- Git
- A Fansly account
- An active subscription to the creator whose content you want to download
🚀 Installation
Clone the repository:
git clone https://github.com/Mogrul/Fansly-DL
cd Fansly-DL
Create a virtual environment:
python -m venv .venv
Activate it.
Windows
.venv\Scripts\activate
Linux / macOS
source .venv/bin/activate
Install dependencies:
pip install -r requirements.txt
🛠 Usage
1. Obtain your session token
Log into Fansly using your browser.
Open Developer Tools → Console and run:
localStorage.getItem("session_active_session")
Example:
{
"id": "...",
"accountId": "...",
"token": "YOUR_TOKEN"
}
Copy the value of token.
2. Export your cookies
Export your logged-in browser cookies using an extension such as:
- Firefox: cookies.txt
- Chrome/Brave: any compatible Netscape Cookie exporter
Save the exported file as:
.credentials/
└── cookie.txt
3. Run the downloader
python main.py --session-token YOUR_TOKEN
Example:
python main.py ^
--session-token OTM3NDUwNDY4...
⚙ Arguments
Required
| Argument | Description |
|---|---|
--session-token TOKEN |
Session token obtained from localStorage.getItem("session_active_session") |
Optional
| Argument | Description |
|---|---|
--download-path PATH |
Download directory (default: ./Downloads) |
--debug |
Enable debug logging |
--concurrent-downloads |
Amount of simultaneous downloads (default: 5) |
--timeout |
Requests timeout in seconds (default: 10) |
📂 Example Output
Downloads/
└── Creator/
├── 2026/
│ ├── 07 - July/
│ │ ├── [2026-07-29] d600a1e88eff.jpeg
│ │ ├── [2026-07-29] 50db93fc1110.mp4
│ │ └── ...
⚠ Limitations
- You must have permission to access the creator's content.
- The downloader currently supports timeline posts only.
- Message attachments are not currently supported because they have not been reverse engineered or tested.
❓ FAQ
Why do I need both cookies and the session token?
Fansly validates requests using both your authenticated session and browser cookies. Supplying both allows the application to make authenticated requests in the same way your browser does.
Can I download paid content?
Only if your account has already purchased or subscribed to it.
Does this bypass subscriptions?
No.
🐞 Issues
Found a bug?
Please open an issue:
https://github.com/Mogrul/Fansly-DL/issues
Feature requests and pull requests are welcome.
⚖ Disclaimer
This project is provided for educational purposes.
The author is not responsible for how this software is used, including any account restrictions or other consequences that may result from its use. Users are responsible for ensuring they comply with Fansly's Terms of Service and all applicable laws.
Made with ☕, Python and way too much reverse engineering.
⭐ If this project helped you, consider starring the repository.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file fansly_dl-0.1.1.tar.gz.
File metadata
- Download URL: fansly_dl-0.1.1.tar.gz
- Upload date:
- Size: 367.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.14.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
030522fc91dda2bcc30ae53275eb5301ae073a79f00dd46882f50b920085e797
|
|
| MD5 |
e395b265958e9b57a3c74e9b118073a6
|
|
| BLAKE2b-256 |
a79b034b9a151a400257da2568b22f9a2350a5eebd2584550092c1bd0c7df93c
|
File details
Details for the file fansly_dl-0.1.1-py3-none-any.whl.
File metadata
- Download URL: fansly_dl-0.1.1-py3-none-any.whl
- Upload date:
- Size: 12.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.14.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d13bacf19fd6626263093bf837af6579bf9cb7f266cf871483bab8c7a8915789
|
|
| MD5 |
4977fb5247451b53c6a06cbb7dc9cef3
|
|
| BLAKE2b-256 |
d102f8b0e3e8374f12995c6473ef28502f3b6b047886e5e71eb9eaf0fbeec578
|