GET
/
meetings
List meetings
curl --request GET \
  --url https://api.fathom.ai/external/v1/meetings \
  --header 'X-Api-Key: <api-key>'
{
  "limit": 1,
  "next_cursor": "eyJwYWdlX251bSI6Mn0=",
  "items": [
    {
      "title": "Quarterly Business Review",
      "meeting_title": "QBR 2025 Q1",
      "recording_id": 123456789,
      "url": "https://fathom.video/xyz123",
      "share_url": "https://fathom.video/share/xyz123",
      "created_at": "2025-03-01T17:01:30Z",
      "scheduled_start_time": "2025-03-01T16:00:00Z",
      "scheduled_end_time": "2025-03-01T17:00:00Z",
      "recording_start_time": "2025-03-01T16:01:12Z",
      "recording_end_time": "2025-03-01T17:00:55Z",
      "calendar_invitees_domains_type": "one_or_more_external",
      "transcript_language": "en",
      "transcript": [
        {
          "speaker": {
            "display_name": "Alice Johnson",
            "matched_calendar_invitee_email": "alice.johnson@acme.com"
          },
          "text": "Let's revisit the budget allocations.",
          "timestamp": "00:05:32"
        }
      ],
      "default_summary": {
        "template_name": "general",
        "markdown_formatted": "## Summary\nWe reviewed Q1 OKRs, identified budget risks, and agreed to revisit projections next month.\n"
      },
      "action_items": [
        {
          "description": "Email revised proposal to client",
          "user_generated": false,
          "completed": false,
          "recording_timestamp": "00:10:45",
          "recording_playback_url": "https://fathom.video/xyz123#t=645",
          "assignee": {
            "name": "Alice Johnson",
            "email": "alice.johnson@acme.com",
            "team": "Marketing"
          }
        }
      ],
      "calendar_invitees": [
        {
          "name": "Alice Johnson",
          "matched_speaker_display_name": "Alice Johnson",
          "email": "alice.johnson@acme.com",
          "email_domain": "acme.com",
          "is_external": false
        }
      ],
      "recorded_by": {
        "name": "Alice Johnson",
        "email": "alice.johnson@acme.com",
        "email_domain": "acme.com",
        "team": "Marketing"
      },
      "crm_matches": {
        "contacts": [
          {
            "name": "Jane Smith",
            "email": "jane.smith@client.com",
            "record_url": "https://app.hubspot.com/contacts/123"
          }
        ],
        "companies": [
          {
            "name": "Acme Corp",
            "record_url": "https://app.hubspot.com/companies/456"
          }
        ],
        "deals": [
          {
            "name": "Q1 Renewal",
            "amount": 50000,
            "record_url": "https://app.hubspot.com/deals/789"
          }
        ],
        "error": "no CRM connected"
      }
    }
  ]
}

Authorizations

X-Api-Key
string
header
required

Include your API key in the X-Api-Key header of every request.

Query Parameters

calendar_invitees[]
string<email>[]

Email address of calendar_invitees to filter by.

Pass the parameter once per value, e.g. calendar_invitees[]=cfo@acme.com&calendar_invitees[]=legal@acme.com.

Returns meetings where any of the given email addresses appear in the calendar_invitees list.

Example:
["cfo@acme.com", "legal@acme.com"]
calendar_invitees_domains[]
string[]

Domains of the companies to filter by. Exact match.

Pass the parameter once per value, e.g. calendar_invitees_domains[]=acme.com&calendar_invitees_domains[]=client.com.

Returns meetings where any of the given company domains appear in the meeting.

Example:
["acme.com", "client.com"]
calendar_invitees_domains_type
enum<string>
default:any

Filter by whether calendar invitee list includes external email domains.

Available options:
any,
only_internal,
one_or_more_external
created_after
string

Filter to meetings with created_at after this timestamp, e.g. created_after=2025-01-01T00:00:00Z.

created_before
string

Filter to meetings with created_at before this timestamp, e.g. created_before=2025-01-01T00:00:00Z.

cursor
string

Cursor for pagination.

include_crm_matches
boolean
default:false

Include CRM matches for each meeting. Only returns data from your or your team's linked CRM.

include_summary
boolean
default:false

Include the summary for each meeting. Unavailable for OAuth connected apps (use /recordings instead).

include_transcript
boolean
default:false

Include the transcript for each meeting. Unavailable for OAuth connected apps (use /recordings instead).

meeting_type
enum<string>
default:all
deprecated

Filter by meeting type.

Available options:
all,
internal,
external
recorded_by[]
string<email>[]

Email addresses of users who recorded meetings.

Pass the parameter once per value, e.g. recorded_by[]=ceo@acme.com&recorded_by[]=pm@acme.com.

Returns meetings recorded by any of the specified users.

Example:
["ceo@acme.com", "pm@acme.com"]
teams[]
string[]

Team names to filter by.

Pass the parameter once per value, e.g. teams[]=Sales&teams[]=Engineering.

Returns meetings that belong to any of the specified teams.

Example:
["Sales", "Engineering"]

Response

200
application/json

Paginated list of meetings.

The response is of type object.