How to bulk export all your Otter.ai transcripts
Otter is good at turning a meeting into text and bad at giving that text back. If you have more than a handful of conversations you want to keep, you have almost certainly already discovered that there is no “export everything” button anywhere in the product.
Bulk export is gated to Otter's Business plan, and bulk export to Google Drive is not supported on any plan. Your realistic options are: export one at a time by hand, pay for a month of Business, script it yourself against the web app, or use a browser extension that does the scripting for you.
What Otter actually allows
This part is not opinion — it is Otter's own documentation. Their help centre states that bulk export to Google Drive “isn't supported at this time”, and that bulk exporting multiple conversations is available on Business and higher plans.
| Capability | Free | Pro | Business |
|---|---|---|---|
| Export a single conversation | Yes | Yes | Yes |
| Export multiple conversations at once | No | No | Yes |
| Bulk export to Google Drive | No | No | No |
| All conversations in a single archive | No | No | No |
| Markdown or JSON output | No | No | No |
| API access | No | No | Enterprise only |
Note the third and fourth rows. Even on the most expensive seat you can buy, you still cannot get everything in one file. Otter's bulk export is a multi-select that hands you many separate downloads — not a single archive you can drop somewhere and forget about.
Method 1 — Export one at a time
This is the officially supported free route. Open a conversation, click the export or download control, pick a format, save the file. Repeat.
The real cost is not the clicking — it is these three things:
- It doesn't scale. Twenty conversations is an annoying afternoon. Two hundred is a project you will not finish.
- It is lossy in the ways that matter. Otter's own export gives you the transcript text, but speaker labels, timestamps and action-item structure survive inconsistently depending on which format you pick.
- It competes with your own attention. Every conversation is a decision — where did I save the last one, which format, did I already do this one?
If you have fewer than about fifteen conversations worth keeping, do this and stop reading. Genuinely. It is not worth automating a twenty-minute job.
Method 2 — Pay for one month of Business
A single month on the Business tier unlocks the multi-select export. You export what you need, then downgrade or cancel.
Three things to plan for before you do this:
- Pricing is per seat, and Business is sold in seats. If your workspace has five people on it, one month of Business may cost several times what you assumed.
- Annual billing is usually what's advertised. The headline per-month price is often the annual-commitment figure. Monthly is typically higher.
- You still don't get one archive. You get a batch of individual downloads, which you then have to organise yourself.
The honest case for this method: it is officially supported, it works, and it is the least likely to break. If you have a corporate card and one afternoon, this is a perfectly reasonable answer and you can skip the rest of this page.
Method 3 — The Google Drive route (it doesn't work)
A lot of older blog posts and forum answers suggest wiring Otter to Google Drive for a bulk pull. That advice is out of date. Otter's help centre is explicit that bulk exports to Google Drive are not supported.
What does exist: Otter can send individual conversations to a connected Drive account, and there are automation platforms that will relay conversations one by one. Both end up back at Method 1 with extra steps — and the automation route typically requires a paid automation subscription on top of your Otter plan.
Watch for this in other guides: a lot of Otter export articles are affiliate pages whose actual recommendation is “sign up for this automation tool”. Check whether the steps they describe still match Otter's current UI before you spend an evening on them.
Method 4 — Script it yourself
If you are comfortable with browser devtools, this is the route that actually gives you a complete, structured archive. The shape of it:
-
Open Otter's conversation list while signed in
In devtools, watch the Network tab while you scroll. Note the request that returns the conversation list, and the request that returns a single conversation's content.
-
Confirm both are reachable with your existing session
If the list endpoint returns JSON with your conversations in it, you have what you need. If it returns a login wall, the scriptable route is closed to you.
-
Paginate until exhausted
These endpoints are almost always paginated. Loop until you have as many items as the UI claims you have. This is the step people get wrong — a script that silently stops after page three looks like it worked.
-
Fetch content, then write files locally
One file per conversation, plus an index. Do the writing in the browser rather than sending data anywhere.
Two honest warnings. First, a home-made script against a web app breaks whenever the front-end changes — you will be maintaining it. Second, you have to be careful how aggressively you hammer the endpoints. Pulling a few hundred conversations as fast as the network allows is the sort of traffic pattern that gets an account flagged, and “I wrote a scraper” is not a defence you want to be having with support.
If you would rather not write it yourself, there are ready-made open-source tools that do exactly this — several, and some are good. Worth knowing before you pick one: most of them authenticate by taking your Otter email and password rather than reusing the session your browser already has, they need Python and a terminal to run, and their own READMEs warn that they break when Otter changes its internals. That is a perfectly reasonable trade for a developer. It is a wall for anyone else.
Method 5 — Use an export extension
A browser extension is Method 4 with the devtools part solved and the rate-limiting part already thought through. It runs the same read-only requests your own session already makes, converts the responses into files, and hands them to your browser's download system.
What to check before you install any of them — this applies to ours as much as anyone's:
- Does it have a server? If the extension uploads your transcripts anywhere to process them, that is a much larger commitment than the problem requires. It should be able to do the whole job locally.
- Is it read-only? It should never edit, delete or share anything in your account. Only read.
- What permissions does it ask for? It should ask for the one site it operates on. An extension that wants
tabs,cookies, your history, or<all_urls>is asking for far more than an export tool needs.
Otter Exporter does exactly this, and nothing else
It reads the conversations your own signed-in session can already see, filters them by
date or keyword, and writes one ZIP containing a Markdown file per conversation plus
index.csv and conversations.json. No server, no analytics,
read-only against your account, and it can only talk to otter.ai.
Which format should you actually pick?
Think about the next ten years, not about this afternoon. The export you cannot read in 2036 is not an export.
| Format | Best for | What it loses |
|---|---|---|
Plain .txt | Nothing much | Speaker turns and timestamps collapse into an undifferentiated wall. Avoid. |
.docx / .pdf | Sending something to a human | Structure is cosmetically preserved but not machine-readable. Fine as a copy, useless as an archive. |
| Markdown | Notes apps, git repos, long-term reading | Needs a convention for speaker labels — but any sane exporter preserves them. |
| JSON / CSV | Searching, analysis, feeding into other tools | Not pleasant to read directly. |
The pragmatic answer is both: Markdown so a human can read it in ten years, JSON so a program can process it tomorrow. They are cheap to produce together and expensive to reconstruct apart.
How to check your export is complete
The single most common way to lose data during a migration is to believe the export finished. Before you cancel anything, confirm these three things:
- Count. The number of files you exported should match the count Otter's UI shows for your conversation list. Not approximately — exactly.
- Check the date range. Open your oldest file and your newest. If the oldest one is from six months ago and you know you have notes from three years ago, your conversation list was paginated and your exporter stopped early.
- Open three files at random and read the middle. Not the first line — the middle. Truncated transcripts almost always fail in the middle, where a chunked fetch gave up.
Do this while you still have access. Re-exporting is trivial if you catch it now and impossible if you catch it after you downgrade.
FAQ
Can you bulk export conversations from Otter.ai?
Otter's in-product bulk export is limited to Business and higher plans, and even there it produces many separate downloads rather than one archive. On Free and Pro, export is strictly one conversation at a time. Bulk export to Google Drive is not supported on any plan.
Is there a limit on how many Otter conversations I can export?
Otter does not document a hard cap on individual exports. The practical limit is how many conversations you are willing to open by hand — and, on the free plan, how far back your conversation list still goes, since only recent history stays visible.
Does Otter have an API I can use to export everything?
Otter publishes an API, but access is not part of the consumer Free, Pro or Business tiers — it is provisioned at the Enterprise level. For an individual trying to get their own history out, it is not a practical route.
What is the best format to export Otter transcripts in?
Markdown if the destination is a notes app or a repository; JSON or CSV if you plan to search or analyse the data. Plain text loses the speaker and timestamp structure that is most expensive to reconstruct later. Ideally keep both.
Will I lose my transcripts if I stop paying for Otter?
That depends on the plan and on Otter's current retention terms, which have changed before and can change again. The safe assumption for anything you care about is that your access to it is a function of your subscription. Export first, cancel second — never the other way round.