Skip to main content

Fansly-DL

A fast, high-quality Fansly media downloader.

Fansly-DL Demo

Python License


📖 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 chats, downloading 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+
  • A Fansly account
  • An active subscription to the creator whose content you want to download

🚀 Installation

Download using pip:

pip install Fansly-DL

🛠 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. Run the downloader

fansly-dl --session-token YOUR_TOKEN

⚙ Arguments

Required

Argument Description
--session-token TOKEN Session token obtained from localStorage.getItem("session_active_session")

Optional

Argument Description
--destination PATH Download directory (default: ./Downloads)
--debug Enable debug logging
--concurrent Amount of simultaneous downloads (default: 5)
--timeout Requests timeout in seconds (default: 10)
--chunk-size Amount of chunks to download in a request stream. (default: 1024 * 1024)
--my-messages Downloads messages you sent in chats. (default: False)
--no-chats Skips downloading media from chats. (default: False)

📂 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.

❓ FAQ

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.

Metadata

Release files for Fansly-DL 0.2.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for Fansly-DL 0.2.2
File Size Uploaded Provenance
fansly_dl-0.2.2.tar.gz 367.5 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for Fansly-DL 0.2.2
File Interpreter ABI Platform
fansly_dl-0.2.2-py3-none-any.whl Python 3 none any Details

Total release size: 381.2 kB

Release files / fansly_dl-0.2.2.tar.gz

Download URL fansly_dl-0.2.2.tar.gz
Size 367.5 kB
Tags Source
SHA-256 checksum
How to use checksums
c28ff9ae294e920afb3b30b5311fc6b17eae6b17079fb192fb6cbddbdb2970b4
BLAKE2b-256 checksum
How to use checksums
a3fa47a8ffd63a7f8df35ec59ccaa29bccc0edbce5296d55a21fec5e5c7a1cfd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.5

Release files / fansly_dl-0.2.2-py3-none-any.whl

Download URL fansly_dl-0.2.2-py3-none-any.whl
Size 13.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
9ab5b403356bd7dca2c6d1dc45c2fdaa29a60fe5a0010bbd0df780fd17923b1b
BLAKE2b-256 checksum
How to use checksums
7b665eb3da59de1c2b0c90abc7fc6d1e88113a72873f604b5cab9ddeeec8f3c3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.5

Security for Fansly-DL 0.2.2

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page