Package Exports
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (fathom-video-cli) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
fathom-video-cli
Agent-first TypeScript CLI + skill for the official Fathom API.
This implementation is intentionally official-API-first:
- list/filter meetings
- fetch transcripts
- fetch summaries
- list teams
- list team members
- create/delete webhooks
- derived agent helpers on top of that official surface:
meetings getmeetings grepmeetings export
As of March 11, 2026, I do not see an official Fathom CLI. Fathom does publish an official API and official TypeScript SDK, but this CLI uses a thin typed REST client instead of the beta SDK so it can keep a stricter agent contract.
Install
Global:
npm i -g fathom-video-cliOne-shot:
npx -y fathom-video-cli doctor --jsonLocal:
cd platform-adapters/fathom/fathom-cli
npm install
npm linkSkill install:
npx -y skills add -g danielgwilson/fathom-cli --skill fathomRequirements:
- Node.js 22+
Auth
Use an API key from the official Fathom developer settings.
Preferred ephemeral auth:
export FATHOM_API_KEY="..."
fathom auth status --jsonStore locally for repeated use:
fathom auth set
fathom auth status --jsonNon-interactive / agent automation:
printf '%s' "$FATHOM_API_KEY" | fathom auth set --stdinThe saved config lives at ~/.config/fathom/config.json with 0600 permissions.
Tip: if you keep the key in a local .env, Node 22+ can load it without adding any CLI dependency:
node --env-file ../.env "$(command -v fathom)" doctor --jsonMain commands
Read-first workflow:
fathom doctor --json
fathom meetings list --limit 25 --json
fathom meetings get 123456789 --with summary,transcript --json
fathom recordings transcript 123456789 --json
fathom recordings summary 123456789 --jsonPublic share URL workflow:
fathom meetings get 'https://fathom.video/share/...' --with transcript --jsonThat path can work even without an API key, because the CLI resolves public share links through Fathom's public share page.
Search/filter workflow:
fathom meetings list --team Operations --created-after 2026-03-01 --json
fathom meetings list --query "customer discovery" --all --limit 100 --json
fathom meetings grep "renewal timeline" --limit 25 --jsonExport workflow:
fathom meetings export --all --zip
fathom meetings export --team Operations --format json,md,txt --out-dir ./fathom-exportOfficial admin surfaces:
fathom teams --json
fathom team-members --team Operations --json
fathom webhooks create \
--destination-url https://example.com/fathom-webhook \
--triggered-for my_recordings \
--include transcript,summaryDesign notes
meetings getis a derived helper. Fathom does not publish a single-meeting fetch endpoint.- Public share URLs are resolved through Fathom's public share page, even when no API key is configured.
- Share-url resolution may not expose an official
recording_idor summary payload. In those cases the CLI returnssource: "public_share_page"andofficial_recording_id: null. meetings grepis also derived. It uses the official meetings list with transcript/summary enrichment when needed.- There is no official
whoamiendpoint, so this CLI does not pretend there is one. recordings transcriptandrecordings summarysupport Fathom’s async callback mode via--destination-url.
Agent-first contract
See docs/CONTRACT_V1.md.
Publishing (maintainers)
This package is scaffolded for npm trusted publishing from GitHub Actions.
- CI workflow:
.github/workflows/ci.yml - publish workflow:
.github/workflows/publish.yml - maintainer notes:
fathom-trusted-publishing-notes.md