| name | fathom-sdk-patterns |
| description | Production-ready Fathom API client patterns in Python and TypeScript.
Use when building reusable Fathom clients, implementing meeting data pipelines,
or wrapping the Fathom REST API.
Trigger with phrases like "fathom API patterns", "fathom client wrapper",
"fathom Python client", "fathom TypeScript".
|
| allowed-tools | Read, Write, Edit |
| version | 1.6.0 |
| license | MIT |
| author | Jeremy Longshore <jeremy@intentsolutions.io> |
| tags | ["saas","meeting-intelligence","ai-notes","fathom"] |
| compatibility | Designed for Claude Code |
Fathom SDK Patterns
Python Client
import os, requests
from dataclasses import dataclass
from typing import Optional
@dataclass
class FathomConfig:
api_key: str
base_url: str = "https://api.fathom.ai/external/v1"
timeout: int = 30
class FathomClient:
def __init__(self, config: Optional[FathomConfig] = None):
self.config = config or FathomConfig(api_key=os.environ["FATHOM_API_KEY"])
self.session = requests.Session()
self.session.headers.update({"X-Api-Key": self.config.api_key})
def list_meetings(self, limit: int = 20, **filters) -> list[dict]:
params = {"limit": limit, **filters}
resp = self.session.get(f"{self.config.base_url}/meetings", params=params, timeout=self.config.timeout)
resp.raise_for_status()
return resp.json().get("meetings", [])
def get_transcript(self, recording_id: str) -> :
resp = .session.get(, timeout=.config.timeout)
resp.raise_for_status()
resp.json()
() -> :
resp = .session.get(, timeout=.config.timeout)
resp.raise_for_status()
resp.json()