Free Β· your repo, your data
Your Notion, backed up while you sleep.
Notion deletes your trash forever after 30 days β and has no automatic backup. BackupRoost commits every page to a private GitHub repo, nightly: readable files, unlimited history, on infrastructure you own.
terminal-inclined? npx backuproost sync
Why this exists
Everything in Notion has an expiry date.
Except your need for what's in it.
30 days after deletion, a page is gone for good β past that, even Notion support has only a short window to help.
7 days on Free, 30 on Plus, 90 on Business. Older versions of your pages simply stop existing.
A ZIP when you remember to make one. Databases flatten, links break, and Notion can't restore from its own export.
How it works
Ten minutes of clicking. Then never again.
No terminal, no server, no cost β the backup runs on GitHub's machines, into a private repo only you can see.
step 1 Β· notion
Create a connection
Two minutes on notion.so: make a connection, grant it read access to the pages you care about, copy one token.
step 2 Β· github
Use our template
One green button creates your private backup repo. Paste the token in as a secret β that's the whole setup.
step 3 Β· done, forever
Nights do the rest
Every night at 03:00 UTC a verified backup commits itself. Only changed pages are fetched, so it stays fast.
Every click has a picture in the step-by-step guide β
What you get
A backup you can actually read.
Not a ZIP in a drawer β a living repo.
Every page is Markdown you can open, search, and diff in the browser. Your backup is browsable, not archived.
Every night is a commit. Any file β History shows the page as it was on any date β no plan cap, forever.
Raw JSON is stored next to every page β the foundation for the one-click restore we're building.
A backup only commits after every page is verified on disk. An incomplete run commits nothing β your last good backup stays untouched.
Coming soon Β· hosted
Prefer one button to ten minutes?
A hosted version is on the way: connect Notion, we run the nightly backups β and watch that every one succeeded β and one-click restore brings deleted pages straight back. Leave your email to be first in line.
Prefer your data never touch anyone's servers? That's what the free version above is for. It isn't a trial β it's the point.
Questions
The honest answers.
βΆWhere does my data live?
In your private GitHub repo. The free version has no server, no account, and no telemetry β data flows from Notion's API straight into a repo you own. We never see it.
βΆWhat gets backed up?
Every page and database you grant the connection access to β sub-pages are included automatically, so you only connect the top of each tree. Runs are incremental: after the first night, only changed pages are fetched.
βΆWhat can't be backed up?
Whatever the official API doesn't expose:
- Comments, page permissions, and Notion's own version history β no official-API tool can export those.
- How your databases look β filters, sorts, board and calendar views. Everything in them is safe: every row, every property.
- Buttons, link previews, bookmark links, and link-to-page blocks β these block types are dropped.
- Images and attachments β they currently appear as links that expire; downloading them into the backup is in progress.
βΆI deleted a page. How do I get it back?
Open its file in your backup repo, download it, and use Notion's Import β Text & Markdown β the page is rebuilt. One rough edge: Notion-specific blocks like toggles and callouts come back as plain text and need a quick touch-up, because Notion's importer doesn't understand its own markup.
That's why we're currently building one-click restore β it puts the page back into Notion exactly as it was, toggles and all. π this issue if you want it sooner.
βΆIs it really free?
Yes β free and MIT-licensed, and a nightly backup fits comfortably inside GitHub's free Actions allowance. The hosted version will be the paid tier, for people who want zero setup and one-click restore.