Skip to main content
Burki provides official SDKs in Python, JavaScript/TypeScript, and Go to help you integrate voice AI capabilities into your applications quickly and easily.

Available SDKs

LanguagePackageInstallationStatus
Pythonburkipip install burkiAvailable
JavaScript/TypeScript@burki.dev/sdknpm install @burki.dev/sdkAvailable
Gogithub.com/burki-ai/burki-gogo get github.com/burki-ai/burki-goAvailable

Feature Support Matrix

All SDKs provide comprehensive access to the Burki API:
FeaturePythonJavaScriptGo
AssistantsFull CRUDFull CRUD + extrasFull CRUD
CallsList, transcripts, recordings, metricsFull management + analyticsFull management
Phone NumbersSearch, purchase, assignFull management + webhooksSearch, purchase, assign
Documents (RAG)Upload, list, statusUpload (file/URL), reprocessUpload (file/URL)
ToolsCreate, assign, Lambda discoveryFull CRUD + Lambda discoveryCreate, assign, Lambda
SMSSend, conversationsFull management + queueSend, conversations
CampaignsCreate, start, progressFull CRUD + contactsCreate, start, progress
Real-time StreamingAsync context managersAsync iteratorsChannel-based
Async SupportSync + Async methodsNative async/awaitGoroutines
TypeScript TypesN/AFull type definitionsN/A

Quick Start

Get started with the Burki SDK in your preferred language:
from burki import BurkiClient

# Initialize the client
client = BurkiClient(api_key="your-api-key")

# List all assistants
assistants = client.assistants.list()
for assistant in assistants:
    print(f"{assistant.id}: {assistant.name}")

# Create a new assistant
assistant = client.assistants.create(
    name="Support Bot",
    description="Customer support assistant",
    llm_settings={
        "model": "gpt-4o-mini",
        "temperature": 0.7,
        "system_prompt": "You are a helpful customer support agent."
    },
    tts_settings={
        "provider": "elevenlabs",
        "voice_id": "rachel"
    }
)

Real-time Streaming

All SDKs support WebSocket streaming for live transcripts and campaign progress:
import asyncio
from burki import BurkiClient

async def stream_transcripts():
    client = BurkiClient(api_key="your-api-key")
    
    # Stream live transcripts during a call
    async with client.realtime.live_transcript(call_sid="CA123...") as stream:
        async for event in stream:
            print(f"[{event.speaker}]: {event.content}")

asyncio.run(stream_transcripts())

Authentication

All SDKs authenticate using your Burki API key. You can generate API keys from your dashboard.
Treat your API keys like passwords! Never share them publicly or commit them to version control.

Environment Variables

For security, we recommend using environment variables:
import os
from burki import BurkiClient

client = BurkiClient(api_key=os.environ["BURKI_API_KEY"])

Next Steps

Python SDK

Complete Python SDK documentation with all methods and examples

JavaScript SDK

TypeScript-first SDK with full type definitions

Go SDK

Idiomatic Go SDK with channel-based streaming

Real-time Streaming

WebSocket streaming for live transcripts and campaigns

Getting Help

API Reference

Complete REST API documentation

Support

Contact our support team