readai

star 2

Access Read AI meeting transcripts, summaries, and action items via REST API

AI-Builder-Team By AI-Builder-Team schedule Updated 4/17/2026

name: readai description: Access Read AI meeting transcripts, summaries, and action items via REST API

How to Execute — Scripts, Not MCP

All Read AI operations go through Python scripts in scripts/. Scripts require OAuth credentials stored at ~/.readai/ and use stdlib only (no pip).

Script Reference

Script Purpose Example
setup_auth.py Interactive OAuth setup (one-time) python3 scripts/setup_auth.py
token_status.py Check token expiration and credentials python3 scripts/token_status.py
list_meetings.py List meetings (paginated, filterable) python3 scripts/list_meetings.py --limit 5
get_meeting.py Get full meeting detail python3 scripts/get_meeting.py MEETING_ID --expand summary --expand transcript
get_transcript.py Get transcript only python3 scripts/get_transcript.py MEETING_ID
get_summary.py Get summary + chapter summaries python3 scripts/get_summary.py MEETING_ID
get_action_items.py Get action items python3 scripts/get_action_items.py MEETING_ID
get_live.py Get live meeting data (ongoing) python3 scripts/get_live.py MEETING_ID

Script Details

All scripts accept --raw for full JSON output instead of compact lines.

list_meetings.py options: --limit N (max 10), --after TIMESTAMP_MS, --before TIMESTAMP_MS, --cursor ID (pagination), --expand FIELD (repeatable)

get_meeting.py options: --expand FIELD (repeatable — see expandable fields below)

get_live.py options: --after TIMESTAMP_MS (only data after this time)

Expandable Fields

Pass --expand FIELD (repeatable) to include enriched data in responses. These fields are not returned by default and increase response time.

Field Description
summary Meeting summary text
chapter_summaries Chapter-by-chapter summaries
action_items Extracted action items with owners
key_questions Key questions raised
topics Topics discussed
transcript Full transcript with speaker identification
metrics read_score, sentiment, engagement
recording_download URL to download MP4 recording

API Response Schemas

Meeting object (returned by all meeting endpoints):

{
  "id": "ULID string",
  "start_time_ms": 1733800000000,
  "end_time_ms": 1733803600000,
  "scheduled_start_time_ms": 1733799800000,
  "scheduled_end_time_ms": 1733803400000,
  "participants": [
    {"name": "string", "email": "string", "invited": true, "attended": true}
  ],
  "owner": {"name": "string", "email": "string"},
  "title": "string",
  "report_url": "https://app.read.ai/analytics/meetings/...",
  "platform": "zoom|google_meet|teams",
  "platform_id": "string",
  "folders": ["string"],
  "live_enabled": false
}

Transcript structure (when expanded):

{
  "speakers": [{"name": "Alice"}],
  "turns": [
    {
      "speaker": {"name": "Alice"},
      "text": "Let's start.",
      "start_time_ms": 1733800000000,
      "end_time_ms": 1733800005000
    }
  ],
  "text": "[Alice]: Let's start."
}

Paginated list response:

{
  "object": "list",
  "url": "/v1/meetings",
  "has_more": true,
  "data": [ ...meeting objects... ]
}

Use the id of the last meeting in data as the --cursor value for the next page. Continue until has_more is false.

Authentication

Read AI uses OAuth 2.1 with rotating refresh tokens. Run setup_auth.py once to set up:

  1. Registers an OAuth client (credentials saved to ~/.readai/credentials.json)
  2. Guides through browser-based authorization flow
  3. Exchanges auth code for access + refresh tokens (saved to ~/.readai/tokens.json)

Access tokens expire after 10 minutes — the client auto-refreshes using the refresh token. Refresh tokens are single-use and rotate on each refresh.

If token chain breaks: re-run python3 scripts/setup_auth.py

Rate Limits

100 requests per minute per user. HTTP 429 on exceeding.

Execution Patterns

Quick transcript grab:

# List recent meetings, find the one you want, grab its transcript
python3 scripts/list_meetings.py
python3 scripts/get_transcript.py 01HFYH0A6JM4R7MZ2E6X5T9BNP

Full meeting dump:

python3 scripts/get_meeting.py 01HFYH0A6JM4R7MZ2E6X5T9BNP \
  --expand summary --expand transcript --expand action_items --expand topics --raw

Save transcript to file:

python3 scripts/get_transcript.py 01HFYH0A6JM4R7MZ2E6X5T9BNP > /tmp/meeting_transcript.txt

Iterate through all meetings:

# Page 1
python3 scripts/list_meetings.py --raw > /tmp/meetings_p1.json
# Check has_more, get cursor from last item, page 2
python3 scripts/list_meetings.py --cursor LAST_ID --raw > /tmp/meetings_p2.json

Supporting Files

Install via CLI
npx skills add https://github.com/AI-Builder-Team/AI-Builder-Plugin-Marketplace --skill readai
Repository Details
star Stars 2
call_split Forks 0
navigation Branch main
article Path SKILL.md
More from Creator
AI-Builder-Team
AI-Builder-Team Explore all skills →