Back to Projects

Fansly Scraper

Overview

An all-in-one scraper for Fansly content with multiple platform support.

Go TUI CLI Multi-platform

Fansly Scraper is a powerful command-line tool designed to efficiently download and archive content from Fansly. Built with performance and reliability in mind, it supports multiple platforms including Windows, macOS, and Linux.

The tool is regularly updated to ensure compatibility with the latest Fansly website changes and to add new features based on user feedback.

Features

  • Cross-platform compatibility
  • Efficient parallel downloading
  • Organized file structure
  • Configurable download options
  • Support for authenticated content

Downloads

Usage Instructions

Interactive TUI

./fansly-scraper

or simply double-click the executable

Non-Interactive CLI Mode

# Default to selecting all
./fansly-scraper --username creator_name

# Or using short flag
./fansly-scraper -u creator_name

# With Download Option
./fansly-scraper --username creator_name --download [all|timeline|messages|stories]

# Or using short flags
./fansly-scraper -u creator_name -d [all|timeline|messages|stories]

Live Monitoring

# Add Models to Live Monitoring
./fansly-scraper --monitor creator_name

# Or with short flags
./fansly-scraper -m creator_name

# Live Monitoring Control
./fansly-scraper monitor [start|stop]

Changelog

v0.7.8-preview - October 6, 2025

  • 692d2252265c9b16b6110e9e1efc80304d1b9a72 fix(api): Increase post media fetch timeout to 300s
  • c5de1c2957043410feb1261ae5beb3a44b2b9e48 update(preview): v0.7.8-preview

v0.7.7 - October 6, 2025

  • 1d080f6cec3232394a6f2e3be9fbe9dfa754be4e feat: Implement single post download via CLI
  • 1a22da478f3f148c8cd7b99c74c931ff2011b88a update: v0.7.7

v0.7.7-preview - October 3, 2025

  • c67eff3932b41c066d07f9ec45d40f305374b37a fix(downloader): Remove premature media filtering

v0.7.6 - October 1, 2025

  • a2d2c00c781b8247d8e2fbeac0c5cf0cdd368532 Merge pull request #39 from agnosto/fix/m3u8-high-quality
  • f54c9ea7e6e850103f93d2b641332fb630f6d89d feat: Implement potential fix for M3U8 highest quality selection
  • 40c040ac625a26b17219a8a6ff508103210029ae fix: Correct M3U8 audio sync by re-encoding segments
  • 6c66522a56b758b13667b31a17a2b2e5dcd6b643 fix: Regenerate timestamps during M3U8 concat to fix sync
  • 2f34fc77c21c7525e09922c5596d77d36bafa69d fix: Use aac_adtstoasc filter to fix M3U8 sync issues
  • 9345d4898792e4a6c4993b482dfdba5ac9e9b63e update(preview): v0.7.6-preview2
  • 6604ba6f123c9293bdfc49f8a739f94b2da6d558 update(preview): v0.7.6-preview3
  • 9b94a2793a6354e4913736b8658039424a6532ed update: v0.7.6

v0.7.6-preview3 - October 1, 2025

  • 6c66522a56b758b13667b31a17a2b2e5dcd6b643 fix: Regenerate timestamps during M3U8 concat to fix sync
  • 6604ba6f123c9293bdfc49f8a739f94b2da6d558 update(preview): v0.7.6-preview3

v0.7.5 - September 24, 2025

  • a866c1b4029d94819f9d58c98f1073aac2ca67de feat(notifications): Send contact sheet thumbnail on stream end
  • ed1a513d15846db06fa152b439d49a2e247527b0 fix(cli): Ensure user is authenticated in CLI mode
  • e7f65e0ef4f6b297b0e6f9a7c5a1970f5cc74504 update: contributing md
  • 6ee7e9d69f5f0e010d5bd13dd7ac07df7319b0bf update: v0.7.5

v0.7.4 - September 17, 2025

  • fcf570e84ebc7e2ff667289996c4b0435f005b91 refactor(messages): Optimize message group ID fetching
  • f4f8a72d48d75efc35bafee3b596cc56aa33887d update: v0.7.4

v0.7.3 - September 14, 2025

  • 9859662f255f411a640874be381027bb26d87acc Create FUNDING.yml
  • 5cabe19eef058ee4af3df8d056fc35292e289c32 choer(repo): revert lint workflow
  • 900a750e0e241baf13452d70a7101aa09cf1b256 chore(repo): Add contribution guidelines and CI workflow
  • ec192c4e7e5721afe3528329d27f00a823fa1679 fix(messages): Implement pagination for message group fetching
  • eecb6814bd0c30fd691d58ed1f2acef3bb11bea1 last test
  • e393c749029e0daaa2a36dfa93779cafdfa43121 once more
  • adc2f3110026e6451e6b8fd570b82d8bbb08c0e2 update(golangci-lint): workflow version
  • 304418c816f448f8bcc67b20ae57ecc5b48fe8b0 update: formatting
  • e1876c74414dfa34e7cc0fb0e2ce88dbb99a0306 update: readme
  • 617214106f8ea134227d8530dfbda196985049b1 update: readme
  • f83049e40f3f0221e7013cd41d219d5fd7784e9f update: v0.7.3
  • 2c58fef17d56ed747d550e08f94bef4a4852aab6 workflow(golangci-lint): revert version

v0.7.2 - September 10, 2025

  • aabed1199e799a2e2843f6e22a393e41b3e3aa5f Merge pull request #32 from LongSimple/feat/auto-auth-wizard
  • 50239352fa1898be372c60904e4cc41b9b270146 config: add ResetConfig and ensure default creation
  • b18896899f5d38e8bd5f4ff10608aeb2c3046291 feat(auth): Overhaul auto-capture to avoid Mixed Content errors
  • f8fa7d2352f8c6767813de2acaf55adccf600b54 feat: Implemented Motivation-as-a-Service
  • 1dfad9c5f5e86f65ee2ed5f18d34ccc9888e65ad feat: automated auth capture + setup wizard
  • e6e205beac0c704dd37ecccc706be3b1ece0b0a6 fix: model table and bar on purchase content saving
  • 11910c4a0c37781fcb5cdd33b26602d844233717 update: v0.7.2

v0.7.1 - August 3, 2025

  • ccd4e75034ad0240ad839f9ae6ae16c778c4a40f feat(tui): add first-run config setup wizard and defer config update until valid
  • 765c04b913d4aadf03f10c5dc438b933ccd66bbc update: deps and gitignore
  • 98cb83742808c5f0ff25022b7b60cff05e03d2a8 update: v0.7.1

v0.7.0 - August 2, 2025

  • 8b05e14985f78ee660b916800581166e4aaafbf2 feat: return config file path in error on load
  • c150fcbf71a4d903212bd231e36365d3b577d105 update: v0.7.0

v0.6.9 - July 17, 2025

  • 8de6b8a3ac49e28f553727f395894ba138da3f92 fix(monitor): Correctly terminate monitoring for removed users
  • ec0efbdc7ffaaaacc67ab61f47714f86caed11b6 update: v0.6.9

v0.6.8 - July 12, 2025

  • 1722870240653679d45ee6cd4241b62bc955517f fix: decrease batch size in getting followed creators
  • 8615067eb06cde2d2aa400c7ba20253f3628d5c0 update: config docs
  • 09553bd88bf3d2f4f193b3d8da4173dbb77ea7e9 update: config docs
  • fb924a125f1b3ffb70759541dcf8a44df4e93ebd update: readme
  • 560d380deb64ff16db8359edccbcd94c6caf4a0b update: v0.6.8

v0.6.7 - July 4, 2025

  • 28abb15abf1af40b62d89af4a075dd5403e6c98c feat: download filters and skip downlaoded post
  • 7b2ec60ebf7d1ba4a216437a03c5035fb96bbf19 update example config
  • d91e49dfbfc298dc319c7aa5a428a8666f0995ea update(docs): live settings
  • fc597a9eaefec266c8d5b59829b8c2b3ca6b98bf update: v0.6.7

v0.6.6 - July 1, 2025

  • 5f23a20b1d680917a2f27fe77446c27938afe961 feat: Implement user-configurable FFmpeg arguments
  • 1eb63c61026795502e02d9e8f0cb058854d9bc15 fix(monitor): Prevent VOD self-overwrite on ffmpeg conversion
  • 455298ed697cdbe7f75db90f9380aff4368eb04b update: v0.6.6

v0.6.5 - June 30, 2025

  • abb2c3b486c16020580c9dd47e3ea4eed01387f3 feat: isolate background monitor from other app instances
  • b5d1b80b16523cb5580ca4ebc34c9ccef368fff8 update: v0.6.5

v0.6.4 - June 28, 2025

  • e658d59955156930b4903dbb53417800cf99b542 fix: improve windows path handling for multi-drive setups
  • 9224b85ab3e60216961e6f8eb7379763bd704392 update: readme
  • 95a96a31a374f6ec31230b2f9b892a4c4b7eed47 update: v0.6.4

v0.6.3 - June 20, 2025

  • 63427183b70d0541dc23753c8feed317ddfb7971 feat: use post content as filename
  • 6dca26ad0e0a149a69176769d8fe8d4ec2d784e4 fix(monitor): Reload state to detect changes from CLI
  • 70b7d642cac4228e58ec4693f389b3a6440f5fa2 fix: bundle content acquisition for downloading
  • 40748ffb7f256f1bb58fd49d93a73e57ddce6b6e fix: content filename for purchased content
  • 177957b96588512cff8d3b01b5333edc833002af update: config docs
  • c20e7315067f2cab320f53515075cdb9bc13efd7 update: v0.6.3

v0.6.2 - June 8, 2025

  • d50b6776a994a1b1c76b128c91293f373a383665 Merge pull request #16 from RaCTRayu/refactor/download_process
  • 00b6672bd85a595febd62e636f0a9fffbfc83b19 feat(config): add option to skip downloading preview media
  • cad722522c0975dd9a66978733a31a69b8f5ff2f fix: download only highest quality media variant instead of all variants
  • e4599d74c905e9f2d33b9faa2c8e44a3a2345050 refactor(download): improve media selection
  • 0e08e188e661620138bb2cffb00eef6bcfb228ec refactor: config and config udpating
  • 503c283d4964384ea88bbccf8acc92eae0fb60fb update: v0.6.2

v0.6.1 - May 27, 2025

  • d100cd69247ee7edd54c3415b51e5365b22ef4c7 fix: date format spaces in filenames and record_chat config persistence
  • 7a802e3e5b75dc91be7794da0472aff48fbf1dfd update tracker
  • cdc808ed547e15638e48619d52def154b3d4eead update: v0.6.1

v0.6.0 - May 26, 2025

  • 229fb824536c1f3472ae24bc2dd0742fcaa41634 feat: add subscription fetching alongside followed users
  • 02d32debb625650787070abb02024a0d279c275b simplify readme
  • e0679fd354d064aa937636884485f11ca36db0a7 update: v0.6.0

v0.5.9 - May 24, 2025

  • 936826f67cf567ddfef969afe8460291b866325f fix: prevent panic in GetStreamData with safe type assertions
  • ae6482267c59ad283104821e765c78cd7446cd36 update: v0.5.9

v0.5.8 - May 19, 2025

  • 30bdb630833cf21a8ad8c247f9126c762d50f125 fix: sqlite driver for gorm
  • c0fdfc8c7c55ab440fe4bbf1accb7eefbb3a1138 update: v0.5.8

v0.5.7 - May 19, 2025

  • e8bc5b00f7c26ce5ff2831494e17527d9d657864 fix: sqlite driver for CGO free builds
  • e66cb26fec0cc91de1793a9bd8b04645f327c2b8 update: example config
  • d2ebedfa25a59ab831c7f3c18b58778a2d7a52b3 update: v0.5.7

v0.5.6 - May 15, 2025

  • f2c37fa830a3ce368902214debcb944b0e670be2 feat: Enhance base ffmpeg contact sheet generation
  • 73a07b598c8e84aaa85a5aee1688dea5bd22e07d update: tracker
  • b4d8aa6dc6bba27fa9af081ad44accde403125ae update: v0.5.6

v0.5.5 - May 15, 2025

  • f453e9d18cc207cb5b543c3867d6d9c8cabf4b92 feat: Standardize database handling and improve reliability
  • 26510b28de372588e5364d19882132904a17e00e fix: use main SaveLocation for database initialization in monitor service
  • ee47c2a193a277419f6b104c4eb7766ea141454b update: mod tidy
  • 7acbe252200e49da7db615891323075c3aec4143 update: readme
  • 956cda9a4a03194718087fc14dbb9eff9f7bb21f update: v0.5.5

v0.5.4 - May 13, 2025

  • 19084f0a6bc96b67a4535faf7fd7aa2311c931b2 chore: remove dead code
  • dc3c928043ab2a7948d55ac3d076be647e6ace04 refactor: update HTTP headers across the scraper
  • dfdd2aeb15f42843b196452f0c3faff5e70d65f4 update: config.md
  • 59c673b77d1b3561d403c25b1c1dd5e8a3d27626 update: tracker
  • f889fa9ce6ee183567ec0387d5848b0d4f10f243 update: v0.5.4

v0.5.3 - May 1, 2025

  • 03049004d86d9ce07a0a24229e20bcd7c425bd87 fix: stop chat recording when monitoring is stopped from TUI
  • edd3c3a6ee90e1897f623fc0260d64dfe72e6a53 update: v0.5.3

v0.5.2 - May 1, 2025

  • 544f13808ed2a4d84cde8da1fb6c5a5070b41da1 add donation options (officially selling out)
  • a0b9e036df8e7cf57368e9365a6d920d4fdf5672 chore: remove dead code
  • 302e380176809ee0fea6d6d549906ed1580fa029 chore: typo fix
  • a129b2ca4f7a5a6df47b5f495e18bc39e80aa755 chore: zellij dev env update
  • dfbd6c4214e92b82bdf9336069a3bb2f60b7b2fa feat: chat monitoring
  • 5696cbe824a42bc4a50e98234b6120a0ea711b16 fix(untested): panic from no messages
  • 946912f25b2b44850f9f1e7a059f5a980775d8f8 fix: chat recording
  • a09c82696d10d8bf9300f70d7a960379e9d3198a update: confid docs
  • 48e19e824a2d762b76facdca1b3c89a367f31087 update: config doc
  • c947cbaac8731c5cff21f5881444ef71a077fee1 update: config docs
  • e96b681bb98570443314ee399d0273464ddf4bdc update: readme
  • d13b89aae5e4edcd92cf53bbf768d2c24413f96c update: readme
  • c50d6308400f100a05cb83f5ecf51901fb9b6ee0 update: readme
  • 8ac19c13be53ea892b494820595c2b4c4d721b36 update: receiving messages
  • ebd1d032d25cfd183611be5a46890964a6a7413c update: records chat
  • 0202e2e7bec6a36ec10f4408d327f9f15195627f update: v0.5.2

v0.5.1 - April 6, 2025

  • 5715e27462ecf0249099136247d48e671b34cccb fix: followed account fetching
  • 2742ed5f140c258bf40f17cc51d81ffbed1b0a0c fix: interaction rate limit
  • 4013467a8ff5ab058164a99be79ae88a614507c3 update: Tracker
  • 93bb57754709b40e0ac62dfb3b109c6b8deb970e update: v0.5.1