Bulk export · one run per course
A Skool course downloader that takes one whole course
Not one lesson at a time. Point it at a course, choose a folder, and it queues every module and every lesson in order, then writes the lot to your disk while you do something else.
- Enumeration
- ~7s for a 50 lesson course
- Lesson cap
- None per run
- Video through our servers
- 0 bytes ever
What a run looks like
Scan, configure, run, done
Four stages, each of which tells you the counts before it commits to anything.
- Scan01
8 modules · 137 lessons found
One complete course tree is read from the course page. No lesson is opened.
- Configure02
Best quality · ~48 GB · 12 locked lessons will be skipped
One quality preference for the run, one destination folder, counts shown before you commit.
- Progress03
38 of 137 · 04 - Positioning.mp4 · 6.2 MB/s
A queue screen, not a dialog. Every row carries its own state and its own failure reason.
- Done04
124 saved · 12 skipped · 1 failed
Skips and failures are itemised with reasons, never reported as a bare failure count.
Conceptual previewIllustrative counts. These are the states the interface is being built to, not readings from a shipped build.
The part that matters at scale
A forty gigabyte export will be interrupted
Laptops sleep, connections drop, browsers get closed. At one lesson per download that is an annoyance. At a hundred and thirty it decides whether the tool is usable at all.
A progress counter is not a checkpoint
Remembering that you were on lesson 38 is worthless if the file for lesson 38 is half written. Resuming from a counter gives you a folder of corrupt videos that still look like successes.
What is actually recorded
The checkpoint is written only after the file’s bytes are committed to disk, and it stores the position in each stream alongside the completed file list. That gives a retry a state known to be on disk. Automatic hard-crash recovery is verified separately before release.
The output
What a finished export contains
- The Offer Lab/
- 01 Foundations/
- 01 - Welcome.mp4MP4
- 01 - Welcome.mdlesson text
- 02 - Research the market.mp4MP4
- 02 Build the offer/
- 01 - Write the offer.mp4MP4
- 02 - Pricing walkthrough.link.mdYouTube link
- 01 - Welcome - resources/attached files
- COURSE.mdoutline + all lesson text
- manifest.jsonevery outcome, in order
- 01 Foundations/
Videos as MP4
Muxed in your browser from the original segments. No re-encode, no quality loss, no server.
Modules and lesson order preserved
Numbered folders and numbered filenames, so the course still reads in sequence a year later.
Lesson text as Markdown
The written part of a lesson is saved next to its video, readable in any editor.
Attached files saved
Files attached to a lesson are downloaded into a folder beside it. Resources that are links to other sites are listed in COURSE.md, not fetched.
Every outcome recorded
The manifest records saved, linked, skipped, locked, and failed lessons without pretending every lesson became MP4.
YouTube lessons preserved as links
Recorded in the manifest with their title and position. They stay on YouTube by design.
Why single video tools cannot do this
Bulk is a different problem
A tool built around the currently playing video has no course tree, no queue, and nothing to use for a retry. Their own guides say it plainly: there is no “download the whole course” button in that model. This page is that button.
A 30 lesson course with a per-lesson downloader
- Open every lesson in its own tab, one by one
- Press play in each tab and wait for the stream to register
- Queue each detection by hand, a few at a time
- On a capped free tier, a 30 lesson course stretches across weeks of passes
- Video files only: lesson text, attachments, and module order are left behind
The same course here
- Open the course page once; every module and lesson is read without playing anything
- One quality choice, one destination folder, one run
- Video as MP4, lesson text as Markdown, attached files saved alongside
- Numbered module folders in the course’s own order, plus a manifest of every outcome
- Committed progress is retained, so an interruption resumes instead of restarting
On small screens, scroll the table sideways to compare.
| Capability | Ordinary downloader | Skool Backup |
|---|---|---|
| Open every lesson page yourself | Required | No |
| Press play before it can save | Usually | No |
| Export one whole course at once | No | Yes |
| Keep module and lesson order | No | Yes |
| Save lesson text as Markdown | No | Yes |
| Retain committed progress for retry | Rarely | Checkpointed |
| Download DRM protected video | No | No |
The last row is deliberate. This extension does not decrypt DRM protected video.
Pricing
Whole-course export is the paid capability
Single lessons stay free forever, so you can verify the extension works on your course before paying for the bulk run.
Paid plans unlock bulk export. Payment is handled by Dodo Payments as merchant of record, and we never see your card details.
Questions
About bulk exports
How many lessons can one run cover?
There is no lesson cap. The extension enumerates the whole course tree first and queues every lesson it found, so a course with over a hundred lessons is one run rather than a hundred.
Enumeration itself is fast because no lesson has to be opened: about seven seconds for a fifty lesson course in our measurements.
What happens if my machine sleeps or the browser closes halfway through?
The built queue checkpoints bytes that were durably written to disk together with each stream position. That retained state is designed to continue rather than restart the course.
Automatic recovery after a hard browser crash remains a release acceptance test. It is not presented as verified until that browser test passes.
What if some lessons are locked?
They are counted and reported before the run starts, with a line such as twelve lessons are locked and will be skipped, and each one gets a reason in the manifest afterwards. They are not silently dropped and they are not worked around.
Does exporting a course put my Skool account at risk?
The extension fetches at a deliberately conservative rate. In testing, fifty lesson pages at six concurrent requests produced no throttling and no failures.
It behaves like a browser reading course pages you are entitled to read. It does not automate posting, joining, scraping other members, or anything outside the course export.
Where does the folder structure come from?
From the course itself. Module order becomes numbered folders, lesson order becomes numbered filenames, and a manifest records the full tree including the lessons that were saved as links.
Can I export several courses from the same community?
Yes, one course per run. Each export goes into its own destination folder so the module numbering of one course cannot collide with another.
Export the course before the membership lapses
Install the extension, confirm it reads your course, and run the export when you are ready.
- Free tier5 full lesson backups per week
- Signup None
- Bulk scope One course per run
- Your video Never touches our servers
- Independence Not affiliated with or endorsed by Skool.
