Export transcription
GET /transcriptions/{id}/export — download one transcription as a ready-to-save Markdown or text file.
GET /transcriptions/{id}/export
Returns a downloadable file (not JSON). Markdown includes YAML frontmatter so it drops straight into Obsidian or any notes app.
Path parameters
| Parameter | Type | Description |
|---|---|---|
id | UUID | Transcription identifier. |
Query parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
format | string | md | md (Markdown + frontmatter) or txt (plain text). Any other value → 422. |
Response
200 OK with a file body. The filename comes from the meeting title via Content-Disposition:
| Format | Content-Type | Contents |
|---|---|---|
md | text/markdown; charset=utf-8 | YAML frontmatter + transcript + AI reports |
txt | text/plain; charset=utf-8 | Plain transcript text |
A Markdown export looks like:
---
title: Acme — discovery call
date: 2026-05-20
language: en
duration: 30m 40s
speakers: [Alex, Jordan]
topics: [Pricing, Onboarding]
source: Memo AI
---
# Acme — discovery call
## Summary
Walked through current workflow and pain points...
## Action items
- Send pricing deck by Friday
- Schedule technical follow-up
## Transcript
[00:00] Alex: Thanks for hopping on...
[00:42] Jordan: Of course...Request
curl "https://app.memoai.tech/api/v1/developer/transcriptions/3fa85f64-5717-4562-b3fc-2c963f66afa6/export?format=md" \
-H "Authorization: Bearer mk_live_your_key_here" \
-o "acme-discovery-call.md"The -o flag saves the file; the server-suggested name is in the Content-Disposition header.
import httpx
tid = "3fa85f64-5717-4562-b3fc-2c963f66afa6"
resp = httpx.get(
f"https://app.memoai.tech/api/v1/developer/transcriptions/{tid}/export",
params={"format": "md"},
headers={"Authorization": "Bearer mk_live_your_key_here"},
)
resp.raise_for_status()
with open("acme-discovery-call.md", "wb") as f:
f.write(resp.content)import { writeFile } from "node:fs/promises";
const tid = "3fa85f64-5717-4562-b3fc-2c963f66afa6";
const res = await fetch(
`https://app.memoai.tech/api/v1/developer/transcriptions/${tid}/export?format=md`,
{ headers: { Authorization: "Bearer mk_live_your_key_here" } },
);
await writeFile("acme-discovery-call.md", Buffer.from(await res.arrayBuffer()));Export the Acme discovery call to ~/notes/meetings as markdown.
The assistant calls memo_export_transcription with output_path, writing the file directly —
the transcript never enters the conversation, saving tokens.
Exporting many at once?
To export more than one transcription, use Bulk export — one request returns a ZIP of up to 100 files.
Errors
| Status | When |
|---|---|
401 | Missing/invalid key, or key passed in the URL. |
403 | Plan without API access. |
404 | No transcription with that id in this workspace. |
422 | format is not md or txt. |
429 | Rate limit exceeded. |
See Errors.