Summify Platform
Build with Summify.
REST API and MCP server for ingesting content, semantic search across pods, and pulling AI-generated knowledge briefs. Available on Pro and Max plans.
2. Read the docs
OpenAPI 3.1 spec — import into ChatGPT, Postman, or auto-generate a client.
View spec3. Connect via MCP
Use Summify as a Model Context Protocol server in Claude Desktop, Claude Code, or any MCP client.
MCP setupQuickstart
End-to-end: install the SDK, enqueue your first ingestion, poll the job, and subscribe to webhooks. Code samples are paste-runnable — swap in your API key and a YouTube URL.
Install the SDK
Pick your stack. cURL users can skip this step.
# No install — just cURL + your SUMMIFY_API_KEY export SUMMIFY_API_KEY=sk_live_...
Enqueue your first ingestion
POST a YouTube URL to /v1/ingest/youtube. Returns a job_id; the work runs async.
curl -X POST https://api.summify.io/v1/ingest/youtube \
-H "Authorization: Bearer $SUMMIFY_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"url": "https://www.youtube.com/watch?v=dQw4w9WgXcQ"}'
# → {"data": {"job_id": "b1a2...", "status": "queued"}}Poll for completion
GET /v1/jobs/{id} every few seconds until status is completed or failed.
JOB_ID=b1a2...
until curl -sS https://api.summify.io/v1/jobs/$JOB_ID \
-H "Authorization: Bearer $SUMMIFY_API_KEY" \
| jq -e '.data.status | IN("completed","completed_partial","failed")' > /dev/null
do sleep 3; done
curl -sS https://api.summify.io/v1/jobs/$JOB_ID \
-H "Authorization: Bearer $SUMMIFY_API_KEY" | jq .data.resultSubscribe to webhooks (optional)
Skip polling — get pushed content.ingested events as soon as a job finishes.
Register an endpoint, then verify the signature on every delivery using svix. Summify signs events with your endpoint's signing secret — treat it like an API key.
# 1. Register your endpoint
curl -X POST https://api.summify.io/v1/webhooks \
-H "Authorization: Bearer $SUMMIFY_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"url": "https://yourapp.com/webhooks/summify",
"event_types": ["content.ingested", "content.ingest_failed"]
}'
# → {"data": {"id": "ep_...", "signing_secret": "whsec_..."}}
# 2. Fire a test event
curl -X POST https://api.summify.io/v1/webhooks/ep_.../test \
-H "Authorization: Bearer $SUMMIFY_API_KEY"What you can build
- AI agent brains — ground your agent in curated knowledge via MCP or REST. Pod briefs become the agent's system prompt.
- Ed-tech platforms — teachers create pods, students access lectures, summaries, and search.
- Research workflows — ingest 500 papers, search semantically, generate synthesised briefs.
- Content repurposing — one YouTube video → blog post, Twitter thread, action items, all from one ingestion.
Endpoints
| Method | Path | Purpose |
|---|---|---|
| GET | /v1/auth/session | Verify key, get plan + credits |
| POST | /v1/capture | Ingest YouTube URL or voice upload |
| POST | /v1/text | Ingest raw text |
| GET | /v1/pods | List your pods |
| POST | /v1/pods/assign | Assign content to pod |
| GET | /v1/pods/{id}/content | List content in a pod |
| GET | /v1/pods/{id}/brief | Get AI-generated pod brief |
| POST | /v1/pods/{id}/search | Pod-scoped semantic search |
| POST | /v1/search | Global semantic search |
| POST | /v1/chat | Grounded chat over a pod (citations + token usage) |
| GET | /v1/content/{type}/{id} | Content detail (transcript + summary) |
| GET | /v1/styles | List summary styles |
| GET | /openapi.json | Full OpenAPI 3.1 spec |
Coming soon
- • Organization accounts with scoped keys for partner teams
- • Sub-user isolation for multi-tenant apps (per-student progress, etc.)
- • Async ingestion with webhook callbacks
- • Quiz, flashcard, and teach-back endpoints (Learn API)
- • Per-key rate limits and usage dashboards