fathom-video-cli
v0.1.4
Published
Agent-first CLI + skill for Fathom's official API
Maintainers
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
