scrapemychats
Leaving a ChatGPT business account? This tool saves your conversations
before they're gone.
ChatGPT's business and Team accounts often have no "Export data" button —
the one-click archive that personal accounts get is simply missing, and
there's no official way to take your conversation history with you when the
workspace is closed or your subscription is cancelled. scrapemychats fills
that gap: it exports every conversation — text and attached files — to
your own computer, then builds a beautiful, searchable, offline archive
you can keep forever. (It works on personal accounts too.)
Your data never leaves your machine. The tool drives a real Chrome
window on your computer using your own logged-in ChatGPT session. It never
sees your password, and nothing is sent anywhere except to chatgpt.com
itself.
The offline viewer: categories on the left, your chats in the middle, the full conversation — tables, files, images — on the right. (Sample data shown.)

What you get
The viewer is a single self-contained HTML file: instant full-text search
across all chats, optional Personal/Work categorisation, inline image
thumbnails, keyboard navigation. No server, no internet, no dependencies —
it works from a USB stick.
Full-text search is instant and highlights matches in the results and inside the open chat. (Sample data shown.)

Quick start (if you're comfortable with a terminal)
Requirements: Python 3.10+, Google Chrome
(or Microsoft Edge with --browser-channel msedge).
The chat list is discovered automatically (including chats inside
Projects) and saved to chats.csv. Alternatively supply your own list
with --csv mylist.csv (first column: chat URL, second: title).
Never used a terminal? Start here
You don't need to be a programmer. There are ~10 steps and each one is a
thing you type or click. Set aside 20 minutes for setup, then the export
itself runs unattended for a few hours.
Windows
Install Python. Go to python.org/downloads,
click the big yellow button, run the installer — and tick the box that
says "Add python.exe to PATH" on the first screen (important!).
Install Google Chrome if you don't have it: google.com/chrome.
Download this tool. On this page on GitHub, click the green
<> Code button → Download ZIP. Then open your Downloads
folder, right-click scrapemychats-main.zip → Extract All.
Open a terminal in that folder. Open the extracted
scrapemychats-main folder in File Explorer, click in the address bar
at the top, type powershell and press Enter. A blue/black text window
opens — that's the terminal, already pointed at the right folder.
Install the one required package. Type this and press Enter:
pip install -r requirements.txt
Do a small test run. Type:
python export_chats.py --limit 3
A Chrome window opens. Log into ChatGPT in it (pick the right
workspace if you have several). The tool then exports 3 chats and stops.
Look inside the new export folder — you should see a numbered
folder per chat. If it looks right, run the full export:
python export_chats.py
Leave it running (minimise Chrome, don't close it). Big accounts take a
few hours — this is deliberate, see "Things to know" below. If your
computer sleeps or you interrupt it, just run the same command again —
it continues where it left off.
Build your archive. When it finishes, type:
python build_viewer.py
then double-click export\viewer.html. That's your archive — searchable,
offline, yours.
Mac (OS X)
Install Python. Go to python.org/downloads,
download the macOS installer, and run it with the default options.
Install Google Chrome if you don't have it: google.com/chrome.
Download this tool. On this page on GitHub, click the green
<> Code button → Download ZIP. It lands in Downloads and
usually unzips itself into a scrapemychats-main folder (double-click
the ZIP if not).
Open Terminal. Press Cmd + Space, type Terminal, press Enter.
Point it at the tool's folder. Type this and press Enter:
cd ~/Downloads/scrapemychats-main
Install the one required package:
python3 -m pip install -r requirements.txt
Do a small test run:
python3 export_chats.py --limit 3
A Chrome window opens. Log into ChatGPT in it (pick the right
workspace if you have several). The tool exports 3 chats and stops.
Check the new export folder, then run the full export:
python3 export_chats.py
Leave it running (minimise Chrome, don't close it); big accounts take a
few hours. Interrupted? Run the same command again — it resumes.
Build your archive:
python3 build_viewer.py
then double-click export/viewer.html.
On a Mac, type python3 wherever this README says python.
Stuck? Let an AI walk you through it
Honestly, the easiest path for a non-technical person is to let an AI
assistant drive:
With ChatGPT (or any chatbot): paste this prompt, then follow along —
it will give you one instruction at a time and decode any error you paste
back:
I'm a complete beginner on [Windows / Mac]. Help me set up and run the
open-source tool "scrapemychats" from GitHub (paste this page's web
address here). It needs Python and
Google Chrome, then pip install -r requirements.txt, then
python export_chats.py --limit 3 as a test, then
python export_chats.py for the full run, then
python build_viewer.py. Walk me through it one step at a time and
wait for me to confirm each step. If I paste an error, explain the fix
simply.
With ChatGPT (or any chatbot): paste this prompt, then follow along —
it will give you one instruction at a time and decode any error you paste
back:
I'm a complete beginner on [Windows / Mac]. Help me set up and run the
open-source tool "scrapemychats" from GitHub (paste this page's web
address here). It needs Python and
Google Chrome, then pip install -r requirements.txt, then
python export_chats.py --limit 3 as a test, then
python export_chats.py for the full run, then
python build_viewer.py. Walk me through it one step at a time and
wait for me to confirm each step. If I paste an error, explain the fix
simply.
With an AI coding agent (Claude Code, Codex, etc.): these tools can
run the steps for you. Install the agent, open the scrapemychats folder
with it, and say: "Set this tool up and run the export for me — start
with a 3-chat test run." The agent installs the dependency, starts the
script, and tells you when to log into the Chrome window it opens. It can
also fix anything unexpected (a changed endpoint, an odd error) on the
spot — which a static README never can.
With an AI coding agent (Claude Code, Codex, etc.): these tools can
run the steps for you. Install the agent, open the scrapemychats folder
with it, and say: "Set this tool up and run the export for me — start
with a 3-chat test run." The agent installs the dependency, starts the
script, and tells you when to log into the Chrome window it opens. It can
also fix anything unexpected (a changed endpoint, an odd error) on the
spot — which a static README never can.
Categories (optional)
Chats are auto-filed by keyword scoring (title matches weigh 4×). Anything
matching nothing lands in Unsorted — skim that list, add keywords, and
re-run; regeneration takes seconds.
Things to know
It's slow on purpose. ChatGPT throttles bulk access ("You're making
requests too quickly"). The script paces itself (~10–20 s per chat), backs
off in escalating steps when throttled, and permanently slows down each
time it happens. A 600-chat archive takes a few hours. Let it run.
It's resumable. Interrupt any time; re-running skips everything
already exported and retries failures.
Some old files are gone forever. OpenAI deletes uploaded file content
server-side after a retention period. Those downloads fail with "file not
found" — logged in errors.log — but the conversation text referencing
them is still captured. No export method can recover them. The tool also
recovers what it can from your account's file Library and from
code-generated (sandbox) files.
Headless doesn't work. ChatGPT's bot protection blocks invisible
browsers; the visible Chrome window is required.
Privacy. export/, chats.csv, and browser_profile/ are
git-ignored. browser_profile/ contains your live ChatGPT login — never
share or commit it, and delete it when you're done.
How it works
Rather than scraping the page or asking for your credentials, the script
waits for ChatGPT's own frontend to request each conversation's JSON from
its backend and captures that response. Attachments come through the files
API, generated files through the interpreter-download API, and stale
uploads through the account Library — all using the same session headers
the page itself uses. This makes the export complete and robust to UI
redesigns.
Disclaimer
For exporting your own data from your own account. Automating a
website may be subject to its terms of use — this tool deliberately behaves
like a (patient) human reader, but you use it at your own risk. Not
affiliated with OpenAI.
License
MIT