Skip to main content Install and configure Deepgram SDK/CLI authentication.
Use when setting up a new Deepgram integration, configuring API keys,
or initializing Deepgram in your project.
Trigger with phrases like "install deepgram", "setup deepgram",
"deepgram auth", "configure deepgram API key".
npx skills add jeremylongshore/claude-code-plugins-plus-skills --skill deepgram-install-auth ai automation claude-code devops mcp ai-agents
Deepgram Install & Auth
Current State
!npm list @deepgram/sdk 2>/dev/null || echo '@deepgram/sdk not installed'
!pip show deepgram-sdk 2>/dev/null | grep Version || echo 'deepgram-sdk (Python) not installed'
Overview
Install the Deepgram SDK and configure API key authentication. Deepgram provides speech-to-text (Nova-3, Nova-2), text-to-speech (Aura-2), and audio intelligence APIs. The JS SDK uses createClient() (v3/v4) or new DeepgramClient() (v5+).
Prerequisites
Node.js 18+ or Python 3.10+
Deepgram account at console.deepgram.com
API key from Console > Settings > API Keys
Instructions
Step 1: Install SDK
Node.js (v3/v4 — current stable):
npm install @deepgram/sdk
# or
pnpm add @deepgram/sdk
Python:
Step 2: Configure API Key # Option A: Environment variable (recommended)
export DEEPGRAM_API_KEY="your-api-key-here"
# Option B: .env file (add .env to .gitignore)
echo 'DEEPGRAM_API_KEY=your-api-key-here' >> .env
Never hardcode keys. Use dotenv for local dev, secret managers in production.
Step 3: Initialize Client (TypeScript) import { createClient } from '@deepgram/sdk';
// Reads DEEPGRAM_API_KEY from env automatically
const deepgram = createClient(process.env.DEEPGRAM_API_KEY!);
SDK v5+ uses a different constructor:
import { DeepgramClient } from '@deepgram/sdk';
const deepgram = new DeepgramClient({ apiKey: process.env.DEEPGRAM_API_KEY });
Step 4: Initialize Client (Python) from deepgram import DeepgramClient, PrerecordedOptions, LiveOptions
import os
client = DeepgramClient(os.environ["DEEPGRAM_API_KEY"])
Step 5: Verify Connection // TypeScript — list projects to verify key is valid
async function verify() {
const deepgram = createClient(process.env.DEEPGRAM_API_KEY!);
const { result, error } = await deepgram.manage.getProjects();
if (error) {
console.error('Auth failed:', error.message);
process.exit(1);
}
console.log(`Connected. Projects: ${result.projects.length}`);
result.projects.forEach(p => console.log(` - ${p.name} (${p.project_id})`));
}
verify();
# Python — verify connection
from deepgram import DeepgramClient
import os
client = DeepgramClient(os.environ["DEEPGRAM_API_KEY"])
response = client.manage.v("1").get_projects()
print(f"Connected. Projects: {len(response.projects)}")
for p in response.projects:
print(f" - {p.name} ({p.project_id})")
Step 6: Configure for Production // Singleton client with custom options
import { createClient, DeepgramClient } from '@deepgram/sdk';
let client: DeepgramClient | null = null;
export function getDeepgramClient(): DeepgramClient {
if (!client) {
const apiKey = process.env.DEEPGRAM_API_KEY;
if (!apiKey) throw new Error('DEEPGRAM_API_KEY is required');
client = createClient(apiKey);
}
return client;
}
API Key Scopes Scope Permission Use Case memberFull access Development only listenSTT transcription Production transcription services speakTTS synthesis Voice generation services manageProject management Admin tools usageUsage data Monitoring dashboards
Create scoped keys in Console > Settings > API Keys > Create Key.
Output
Installed @deepgram/sdk (Node.js) or deepgram-sdk (Python)
API key configured via environment variable or .env
Verified connection with project listing
Singleton client pattern for production use
Error Handling Error Cause Solution 401 UnauthorizedInvalid or expired API key Regenerate key in Console > API Keys 403 ForbiddenKey lacks required scope Create new key with correct scopes MODULE_NOT_FOUNDSDK not installed Run npm install @deepgram/sdk ENOTFOUND api.deepgram.comNetwork/DNS issue Check internet, verify no proxy blocking TypeError: createClient is not a functionSDK v5 installed Use new DeepgramClient() instead
Resources
Next Steps Proceed to deepgram-hello-world for your first transcription.
Create or update AgentSkills. Use when designing, structuring, or packaging skills with scripts, references, and assets.
Create or update AgentSkills. Use when designing, structuring, or packaging skills with scripts, references, and assets.
Set up and use 1Password CLI (op). Use when installing the CLI, enabling desktop app integration, signing in (single or multi-account), or reading/injecting/running secrets via op.
CLI to manage emails via IMAP/SMTP. Use `himalaya` to list, read, write, reply, forward, search, and organize emails from the terminal. Supports multiple accounts and message composition with MML (MIME Meta Language).
Create or update AgentSkills. Use when designing, structuring, or packaging skills with scripts, references, and assets.
Create or update AgentSkills. Use when designing, structuring, or packaging skills with scripts, references, and assets.
Set up and use 1Password CLI (op). Use when installing the CLI, enabling desktop app integration, signing in (single or multi-account), or reading/injecting/running secrets via op.
CLI to manage emails via IMAP/SMTP. Use `himalaya` to list, read, write, reply, forward, search, and organize emails from the terminal. Supports multiple accounts and message composition with MML (MIME Meta Language).