Back to home
Developer platform

VidNotes for Agents

Turn any supported video into a transcript, summary, chapters, a multi-video comparison, or a saved note — from Claude, Codex, the terminal, or your own code. One API key, three ways to call it.

npx @vidnotes/cli summarize "https://youtube.com/watch?v=..."
Step 1

Get an API key

Keys are scoped to your VidNotes account. Create one in Settings → CLI, MCP, and API access, or straight from the terminal — vidnotes login opens your browser, signs you in, and stores the key locally.

# Browser login — writes the key to ~/.vidnotes/config.json
npx @vidnotes/cli login

# Or set it explicitly for CLI, MCP, and API calls
export VIDNOTES_API_KEY="vnp_..."

The secret (vnp_…) is shown once. Each key has its own daily request limit; revoke or permanently remove keys any time from Settings.

Terminal

CLI

Install globally, or run any command through npx with no install.

npm install -g @vidnotes/cli

vidnotes summarize   "https://youtube.com/watch?v=..."
vidnotes transcript  "https://youtube.com/watch?v=..." --json
vidnotes chapters    "https://youtube.com/watch?v=..."
vidnotes compare     "https://youtube.com/watch?v=one" "https://youtube.com/watch?v=two" --json
vidnotes usage
vidnotes doctor

Sources are interchangeable across summarize, transcript, and chapters: a URL, a saved project (--project-id), a transcript file (--file), or raw text (--text). Add --json anywhere for machine-readable output built for scripts and agents.

Agents

MCP server

Point any MCP client — Claude Desktop, Claude Code, Codex — at the server. Generate the config block with vidnotes mcp config, or paste this:

{
  "mcpServers": {
    "vidnotes": {
      "command": "npx",
      "args": ["-y", "@vidnotes/mcp-server"],
      "env": {
        "VIDNOTES_API_KEY": "vnp_...",
        "VIDNOTES_API_URL": "https://api.vidnotes.app"
      }
    }
  }
}

Thirteen tools, all returning structured JSON:

vidnotes_summarize_video     vidnotes_get_transcript      vidnotes_get_chapters
vidnotes_compare_videos      vidnotes_create_note         vidnotes_search_notes
vidnotes_get_note            vidnotes_get_job             vidnotes_get_usage
vidnotes_doctor              vidnotes_create_api_key      vidnotes_list_api_keys
vidnotes_revoke_api_key

For long videos, pass asyncJob: true and poll with vidnotes_get_job instead of holding a long request open.

HTTP

API

One /v1 contract behind the CLI and MCP server. Authenticate with a bearer token; base URL https://api.vidnotes.app.

curl https://api.vidnotes.app/v1/videos/analyze \
  -H "Authorization: Bearer vnp_..." \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://youtube.com/watch?v=...",
    "features": ["transcript", "summary", "chapters"]
  }'

Core endpoints:

POST   /v1/videos/analyze          transcript · summary · chapters
POST   /v1/videos/compare          shared topics, overlaps, unique angles
GET    /v1/jobs/:jobId             poll a queued async analysis
POST   /v1/notes                   analyze and save
GET    /v1/notes?query=&limit=     search saved notes
GET    /v1/platform/usage          remaining daily quota (does not count)
POST   /v1/platform/api-keys       create · list · revoke keys
Reference

Sources & limits

Supported sources: public YouTube URLs, existing VidNotes project ids, raw transcript text, and transcript files through the CLI.

Out of scope for this release: local video upload through the analyze endpoint, rendered clips, social publishing, and thumbnail generation. The platform is video understanding — not video production.

Each key is rate-limited per day. Check remaining quota any time with vidnotes usage or GET /v1/platform/usage; usage reads never count against the limit.

Ready to build?

Create a key and run your first command in under a minute. Questions or higher limits — get in touch.