Business APIs
Audio in, transcripts out, kept as long as you need them. One header to authenticate, five output formats from a single job, and everything runs on our own servers — your audio is never sent to a third-party model.
So far: 1,073 recordings and 67,528 minutes through the API since April 2026, across 20 keys, 13 of them held by developers outside the team.
# submit curl -X POST https://whipscribe.com/api/v1/transcribe/url \ -H "X-API-Key: $KEY" \ -H "Idempotency-Key: episode-4417" \ -d '{"url":"https://example.com/ep.mp3"}' → 202 { "job_id": "a1b2…", "status": "queued" } # collect, ~2 min for an hour of audio curl ".../jobs/$JOB/result?format=txt" \ -H "X-API-Key: $KEY"
What you get
The things you would otherwise build yourself on top of a raw speech-to-text endpoint.
txt, json, srt, vtt and docx are renderings of the same stored result. Ask for a second format and it costs nothing.
Transcripts and audio stay put. Nothing disappears because a trial ended or a retention clock ran out.
Send Idempotency-Key and a retried submit returns the original job instead of transcribing — and billing — twice.
Check up to 50 jobs in one call at 600 requests a minute. A per-job polling loop hits the limit long before it finishes.
Up to 10 hours per file, in any audio or video container. Presigned and chunked uploads for anything a single POST would choke on.
Your audio is not sent to OpenAI, Google or AWS for inference, and no model is trained on it.
Quickstart
Create a key from your account (API access comes with the 5,000-minute pack or Workspace) and run this.
One header on every request. Send it as X-API-Key, never as a Bearer token — that header is reserved for user sign-in.
A file, or a URL you control. The idempotency key is optional and you want it anyway.
POST /api/v1/transcribe/url
{ "url": "https://example.com/ep.mp3" }
Poll one job, or ask about fifty at once. An hour of audio is usually back in about two minutes.
GET /api/v1/jobs/{id}
POST /api/v1/jobs/status { "ids": ["a1b2…", "c3d4…"] }
Any format, plus the AI summary, quotes and topics — cached per job, so repeat reads are free.
GET /api/v1/jobs/{id}/result?format=srt
GET /api/v1/jobs/{id}/insights
Our clipping algorithms, over the API: ask for high-signal moments
(hooks, questions, numbers, energy spikes), then render any range as a
captioned 9:16 clip. 202 + clip_id back immediately; poll until
video_url is set. Clip minutes meter like transcription.
GET /api/v1/jobs/{id}/clips/candidates?kind=hook
GET /api/v1/jobs/{id}/clips/search?q=pricing
POST /api/v1/jobs/{id}/clips { "start_s": 61.2, "end_s": 84.0, "caption_style": "karaoke" }
GET /api/v1/clips/{clip_id}
Ask across the account's whole library — semantic hits with timestamps, ready to cite.
POST /api/v1/library/search { "q": "when did we turn cash-flow positive?" }
Limits
| Plan | Requests/min | Minutes/day | Longest file | Completion callbacks |
|---|---|---|---|---|
| Pro | 60 | unlimited | 10 hours | poll |
| Enterprise | 120 | unlimited | 10 hours | webhooks |
Files up to 5 GB and 10 hours on every plan. The API has no recurring free tier: without a key you can run 3 sample transcriptions a day, each returning a preview; API keys come with the 5,000-minute pack ($24) or Workspace ($19/month). GET /v1/usage returns minutes today against your allowance, the month to date, queue depth and average job time — enough to build a budget guard without storing anything yourself.
Webhooks are enterprise-only. Sending webhook_url on another plan returns 403 TIER_FORBIDDEN and the job is not created — check GET /v1/me for your plan and keep a polling branch.
The chat endpoint needs a signed-in user, not an API key, so questions-about-a-transcript cannot be automated server-side today. /insights covers the summary, quotes and topics and does accept a key.
Built on the API
Built in September 2026 during the WhipScribe Buildathon by developers outside the team, each live today and each calling the same endpoints documented below. 338 recordings have gone through participants' keys so far. Standings and source: whipscribe.com/buildathon.
Freelancer call recordings become requirements, a task list, an estimate and a proposal draft.
Sales and founder calls scored into coaching scorecards, with the evidence at the second it was said.
A guitar lesson: the teacher's words and the notes played, on one timeline.
Meetings and interviews become a briefing and an Airtable record, by upload or link.
Recruiter interviews scored and sent to Airtable, with a Make.com scenario.
User-interview transcripts become a bug, feature-request and quote board, served over MCP.
Get going
Create, rotate and revoke from the Business APIs panel, alongside your spend and remaining quota. Several keys share one balance and one library, so a leak in CI can be revoked without touching production.
Volume commitment, data-residency or on-premise question? Write to contact@whipscribe.com and describe the workload.
If you just need recordings transcribed: see an online transcription service with nothing to install and our transcription service with prices and turnaround.