Tutorials

[BizCrush API] Quick Start Guide

BizCrush
5 min read

What You Can Build

  • 🎙️ Real-time Speech-to-Text via WebSocket (15 languages, auto-detected)

  • 📁 File transcription + speaker diarization (who said what + timestamps)

  • 🤖 AI meeting summaries + Q&A (Claude-powered, custom prompts)

  • 🔗 MCP server — control BizCrush from Claude or Cursor with natural language

  • Zapier — push meeting data to Slack, Notion, and Google Docs automatically

STEP 1 — Get Your API Key

  1. Go to https://bizcru.sh → Sign up (Google login supported)

  2. Navigate to Settings https://bizcru.sh/en/settings

  3. Scroll down to the API Keys section

  4. Click the purple "Issue API Key" button

  5. ⚠️ Copy it immediately — it will NOT be shown again!

  6. Save it: BIZCRUSH_API_KEY=sk-prod-xxxxxx

You can issue up to 5 keys per account.

QUICK START — File Transcription

Base URL: https://extapi-stt.bizcrush.ai**Auth:** ?api_key=YOUR_API_KEY (query parameter)

curl -X POST "<https://extapi-stt.bizcrush.ai/stt?api_key=YOUR_API_KEY>" \\

  -H "Content-Type: application/json" \\

  -d '{"audio_url": "<https://example.com/audio.mp3>", "enable_diarization": true}'

Response includes:

  • text — full transcript

  • detected_language — auto-detected language code

  • utterances[] — speaker-diarized segments with start_ms, end_ms, speaker, confidence

Set the timeout to 600+ seconds for long audio files.

QUICK START — Live STT via WebSocket (Python)

pip install websockets

import asyncio, json, websockets

async def live_stt(api_key): url = f"wss://extapi-stt.bizcrush.ai/?api_key={api_key}&format=json" async with websockets.connect(url) as ws: # 1. Send config await ws.send(json.dumps({"encoding": "pcm16"})) resp = json.loads(await ws.recv()) print("Connected:", resp) # {"connected": true}

    # 2. Stream PCM16 audio as binary frames (640 bytes = 20ms chunks)
    # 3. Receive interim + final results:
    async for msg in ws:
        data = json.loads(msg)
        if "chunk" in data:
            status = "FINAL" if data["chunk"]["is_final"] else "interim"
            print(f"[{status}] {data['chunk']['text']}")

asyncio.run(live_stt("YOUR_API_KEY"))

Audio format: PCM16 — 16kHz, mono, 16-bit little-endian, 640 bytes/chunk (20ms)

QUICK START — Live STT (JavaScript / Browser)

const ws = new WebSocket( "wss://extapi-stt.bizcrush.ai/?api_key=YOUR_API_KEY&format=json" );

ws.onopen = () => ws.send(JSON.stringify({ encoding: "pcm16" }));

ws.onmessage = (event) => { const data = JSON.parse(event.data); if (data.connected) console.log("Connected! Start sending audio..."); if (data.chunk) { console.log([${data.chunk.is_final ? "FINAL" : "interim"}] ${data.chunk.text}); } };

// Send raw PCM16 audio as binary frames function sendAudioChunk(pcmData) { if (ws.readyState === WebSocket.OPEN) ws.send(pcmData); }

QUICK START — Meeting REST API

Base URL: https://extapi.bizcrush.ai**Auth:** X-API-Key: YOUR_API_KEY (header)

# Create a meeting curl -X POST <https://extapi.bizcrush.ai/v1/create-meeting> \ -H "X-API-Key: YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{"title": "Hackathon Demo", "participant_ids": ["<em:teammate@email.com>"]}'

AI Summary with custom prompt

curl -X POST <https://extapi.bizcrush.ai/v1/summarize-meeting> \ -H "X-API-Key: YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{"meeting_id": "MEETING_ID", "user_prompt": "List action items only"}'

Ask AI about a meeting

curl -X POST <https://extapi.bizcrush.ai/v1/ask-ai-for-meeting> \ -H "X-API-Key: YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{"meeting_id": "MEETING_ID", "message": {"text": "What were the key decisions?"}}'

Get live transcription (poll every 1s)

curl -X POST <https://extapi.bizcrush.ai/v1/get-live-transcription-chunks> \ -H "X-API-Key: YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{"meeting_id": "MEETING_ID", "last_updated_at": "1970-01-01T00:00:00Z", "limit": 100}'

MCP SETUP — Use BizCrush from Claude or Cursor

Add to your .mcp.json:

{ "mcpServers": { "bizcrush": { "type": "sse", "url": "<https://bizcrush-mcp-1071354765717.us-central1.run.app/sse>" } } }

Then just talk to Claude naturally:

  • "Summarize my last meeting."

  • "Get the transcript from today's call."

  • "Send a message to meeting XYZ."

Supported Languages (auto-detected)

API Endpoints Overview

STT API (https://extapi-stt.bizcrush.ai)

Meeting REST API (https://extapi.bizcrush.ai)

BizCrush Inc.

Recommended