[ FREE · OPEN SOURCE · READ-ONLY ]
One command copies your whole Clio account onto your computer. Matters, contacts, notes, tasks, calendar, time entries, expenses and bills come out as JSON and CSV. Every document lands in a folder per matter, your Clio folders kept. It only reads from Clio, and it runs under your own Clio app.
$ npx @oktopeak/clio-export auth
$ npx @oktopeak/clio-export --out ./clio-export data/
matters.jsonl matters.csv
contacts.jsonl contacts.csv
time_entries.jsonl time_entries.csv
bills.jsonl bills.csv
documents.csv ...
matters/
00142 - Rivera Holdings/
Pleadings/
Complaint [8812].pdf
Correspondence/
00157 - M. Okafor/
REPORT.md COMPLETE Demo names. Your folders follow your Clio matters.
[ WATCH IT RUN ]
Clio Export: setup, dry run, full run, stop and resume
The gaps in Clio's built-in export, the 90-day clock after cancelling, then the free command from login to the folder per matter on disk.
[ WHAT YOU GET ]
Clio's export page lets an administrator download spreadsheets. It was built for spreadsheets, so your documents, bills and trust transactions stay in Clio. The rest of this page is about getting those out too.
What Clio's export includes, from Clio's help centre, checked 3 November 2026. Everything it leaves out, explained.
[ HOW TO RUN IT ]
You need someone comfortable typing a command, and a Clio login that can see the whole account. The data goes from Clio straight to your disk.
From nodejs.org. Nothing else gets installed on the computer, and npx fetches the command when you run it.
At developers.clio.com, signed in with your Clio login. Set the redirect URI to http://127.0.0.1:5678/callback and copy the client ID and secret.
Set CLIO_CLIENT_ID, CLIO_CLIENT_SECRET and CLIO_REGION (us, eu, ca or au), or put them in a .env file in the folder you run from. Then run auth: your browser opens, the login is saved encrypted.
A dry run writes only REPORT.md with the counts and the time estimate. Then the real run, into an empty folder on an encrypted disk.
macOS or Linux
export CLIO_CLIENT_ID=your_client_id
export CLIO_CLIENT_SECRET=your_client_secret
export CLIO_REGION=us
npx @oktopeak/clio-export auth
npx @oktopeak/clio-export --out ./clio-export --dry-run
npx @oktopeak/clio-export --out ./clio-export Windows PowerShell
$env:CLIO_CLIENT_ID = "your_client_id"
$env:CLIO_CLIENT_SECRET = Read-Host "Clio client secret"
$env:CLIO_REGION = "us"
npx @oktopeak/clio-export auth
npx @oktopeak/clio-export --out D:\clio-export --dry-run
npx @oktopeak/clio-export --out D:\clio-export Options: --resume continues a stopped run, --since 2026-01-01 takes only what changed, --only matters,folders,documents picks record types, --no-documents skips files, --rate sets requests per second (default 0.8), --concurrency sets parallel downloads (default 3, at most 8). Already use our Clio connector for Claude? npx @oktopeak/clio-mcp export is the same command.
[ SAID OUT LOUD ]
Every gap that applies to your account is written into REPORT.md. The report calls the export COMPLETE only when every required record type matches the count Clio gave at the start, and INCOMPLETE otherwise.
How long it takes
The dry run prints the estimate for your account before anything is downloaded.
[ BEFORE YOU CANCEL ]
Your duty to keep matter files runs for years. If you are changing systems, closing a practice or just renegotiating, take the full copy while the account is active, read REPORT.md, and keep the folder somewhere encrypted that the firm controls.
Moving to another system is a separate job from the export. What it costs to move off Clio covers the parts the copy does not solve.
“
We recommend that you retain a local backup of your data.
Clio Help Center, checked 3 November 2026.
[ PRIVACY AND SAFETY ]
The export code contains no call that writes to Clio, and a test fails if one is ever added.
It is sent to the Clio API and never to the storage link Clio redirects document downloads to.
Progress lines, logs and error files carry record types, ids, counts and status codes. Never names, titles or file paths.
The export folder holds confidential client data. Keep it on an encrypted disk and treat it like the files in Clio.
The code is public. Read it, or have your IT read it, before you run it: github.com/oktopeak/clio-export.
[ OTHER WAYS TO GET YOUR DATA OUT ]
Which one fits depends on whether you want spreadsheets or files, once or on a schedule, and whose cloud the copy should sit in.
CSV files of matters, contacts, notes, tasks, calendar, communications, time and expenses. Enough if spreadsheets are all you need.
A weekly copy of Clio information and documents kept in a secure location.
Runs on your computer when you start it. Records and documents in one folder you control. No schedule of its own.
Want the same copy every night, into your firm's own OneDrive, SharePoint or S3, without anyone starting it? We set that up for $500 one time. I want it nightly and hands-off.
Four pieces on what Clio hands over, what it keeps, and what to do with the copy.
Want Claude to read and work with Clio, beyond exporting it? See the open-source Clio MCP connector.
[ FAQ ]
Clio's built-in export gives an admin CSV files, without documents, bills or trust transactions. To get everything, use Clio's API. This free open-source command does that from your computer: npx @oktopeak/clio-export auth, then npx @oktopeak/clio-export --out ./clio-export. Records come out as JSON and CSV, and every document lands in a folder per matter. The walkthrough is in how to export all your data from Clio.
Yes. It is MIT licensed and on npm as @oktopeak/clio-export. You need your own Clio developer app, which Clio gives you at no charge, and a computer with Node.js 20 or later. If you want the copy to run every night into your firm's own OneDrive, SharePoint or S3 without anyone starting it, that is the Clio Backup setup, $500 one time.
No. It only reads. The export code has no call that writes to Clio, and the project's tests fail if one is ever added. The login it saves is encrypted on your computer and sent only to Clio's API.
Clio allows about 50 API requests a minute per login during business hours. Each page of 200 records is one request and each document at least one more, so a firm with 100,000 documents needs well over a day. Start it on a Friday and let it run over the weekend. Run --dry-run first: it writes the estimate for your account to REPORT.md.
Run the same command again with --resume. The export saves its place after every page, so it continues with no duplicate rows, and a half-downloaded file never gets its final name. Running again without --resume refreshes the copy and skips documents already on disk.
Ledger reports (trust ledger, client ledger, accounts receivable, work in progress), bill PDFs as Clio renders them, original email files, documents that belong to no matter (counted and reported), and anything the user who runs it cannot see in Clio.
Yes. Clio deletes an account's content no less than 90 days after it is cancelled, and your duty to keep matter files runs much longer. Clio's own help centre recommends keeping a local backup of your data. Run the export while the account is active and check REPORT.md before you cancel.
Same engine, separate entry point. Our open-source Clio MCP connector lets Claude read and work with Clio, and it includes the export as npx @oktopeak/clio-mcp export. The @oktopeak/clio-export package is the export on its own, for people who only want their data out.
[ MIT LICENSED ]
The code, the README and the issue tracker are on GitHub. Questions and bug reports go there.
Get it on GitHubClio is a trademark of Themis Solutions Inc. This project is not affiliated with or endorsed by Clio.