Connecting to Deepgram
Using API Key Authentication
Deepgram uses API key authentication for all endpoints. API keys are scoped to a project and carry permission scopes (member, administrator, or owner). Create and manage API keys in the Deepgram console.
After obtaining your API key, set the following connection properties:
- AuthScheme: Set this to APIKey.
- APIKey: Set this to your Deepgram API key.
Example Connection String
Profile=C:\profiles\Deepgram.apip;AuthScheme=APIKey;ProfileSettings="APIKey=YOUR_DEEPGRAM_API_KEY";
Connecting to Deepgram
Once the authentication is configured, you can connect to Deepgram and query data from any of the available tables such as Projects, Keys, Members, UsageBreakdown, and SpeechToTextModels.
Available Tables
The Deepgram API Profile provides access to the following tables:
- Projects: Deepgram projects. Each project is a workspace that groups API keys, members, and usage. Supports single-record lookup by ProjectId.
- Keys: API keys associated with a project. Requires ProjectId. Supports single-record lookup by ApiKeyId.
- Members: Members of a project with their roles and permission scopes. Requires ProjectId.
- Invites: Pending invitations for a project. Requires ProjectId.
- Requests: API request log for a project. Requires ProjectId. Supports single-record lookup by RequestId and filtering by status, method, endpoint type, and deployment.
- Balances: Balance records for a project. Requires ProjectId. Supports single-record lookup by BalanceId.
- Purchases: Purchase order history for a project. Requires ProjectId.
- UsageFields: Available field values for filtering usage data in a project during a date range. Requires ProjectId.
- UsageBreakdown: Breakdown of API usage grouped by time period and optional dimensions. Requires ProjectId.
- BillingFields: Available field values for filtering billing data in a project. Requires ProjectId.
- BillingBreakdown: Billing cost breakdown grouped by time period and optional dimensions. Requires ProjectId.
- SpeechToTextModels: Deepgram speech-to-text models available globally or scoped to a project. Filterable by IncludeOutdated.
- TextToSpeechModels: Deepgram text-to-speech models with voice metadata. Filterable by IncludeOutdated.
- AgentConfigurations: Voice agent configuration records for a project. Requires ProjectId. Supports single-record lookup by AgentId.
- AgentVariables: Variable key-value pairs for voice agent configurations. Requires ProjectId. Supports single-record lookup by VariableId.
- DistributionCredentials: Distribution credentials for a project. Requires ProjectId. Supports single-record lookup by DistributionCredentialsId.
Important Notes
- Most management tables (Keys, Members, Invites, Requests, Balances, Purchases, UsageFields, UsageBreakdown, BillingFields, BillingBreakdown, AgentConfigurations, AgentVariables, DistributionCredentials) require ProjectId to be specified as a filter.
- Datetime fields use ISO 8601 format (yyyy-MM-dd'T'HH:mm:ss.ffffffZ).
- Rate limits: Management API allows 100 requests/minute; audio processing limits vary by account plan.
API Documentation
For more information about the Deepgram API, see the official Deepgram API documentation.
Usage Examples
Projects:
SELECT * FROM Projects SELECT * FROM Projects WHERE ProjectId = 'your-project-id'
Keys:
SELECT * FROM Keys WHERE ProjectId = 'your-project-id' SELECT * FROM Keys WHERE ProjectId = 'your-project-id' AND ApiKeyId = 'your-key-id'
Members:
SELECT * FROM Members WHERE ProjectId = 'your-project-id'
Invites:
SELECT * FROM Invites WHERE ProjectId = 'your-project-id'
Requests:
SELECT * FROM Requests WHERE ProjectId = 'your-project-id' SELECT * FROM Requests WHERE ProjectId = 'your-project-id' AND Status = 'succeeded'
Balances:
SELECT * FROM Balances WHERE ProjectId = 'your-project-id' SELECT * FROM Balances WHERE ProjectId = 'your-project-id' AND BalanceId = 'your-balance-id'
Purchases:
SELECT * FROM Purchases WHERE ProjectId = 'your-project-id'
UsageFields:
SELECT * FROM UsageFields WHERE ProjectId = 'your-project-id' AND StartDate = '2024-01-01' AND EndDate = '2024-12-31'
UsageBreakdown:
SELECT * FROM UsageBreakdown WHERE ProjectId = 'your-project-id' AND StartDate = '2024-01-01' AND EndDate = '2024-12-31'
BillingFields:
SELECT * FROM BillingFields WHERE ProjectId = 'your-project-id'
BillingBreakdown:
SELECT * FROM BillingBreakdown WHERE ProjectId = 'your-project-id' AND StartDate = '2024-01-01' AND EndDate = '2024-12-31'
SpeechToTextModels:
SELECT * FROM SpeechToTextModels SELECT * FROM SpeechToTextModels WHERE CanIncludeOutdated = 'true'
TextToSpeechModels:
SELECT * FROM TextToSpeechModels SELECT * FROM TextToSpeechModels WHERE CanIncludeOutdated = 'true'
AgentConfigurations:
SELECT * FROM AgentConfigurations WHERE ProjectId = 'your-project-id' SELECT * FROM AgentConfigurations WHERE ProjectId = 'your-project-id' AND AgentId = 'your-agent-id'
AgentVariables:
SELECT * FROM AgentVariables WHERE ProjectId = 'your-project-id' SELECT * FROM AgentVariables WHERE ProjectId = 'your-project-id' AND VariableId = 'your-variable-id'
DistributionCredentials:
SELECT * FROM DistributionCredentials WHERE ProjectId = 'your-project-id' SELECT * FROM DistributionCredentials WHERE ProjectId = 'your-project-id' AND DistributionCredentialsId = 'your-credentials-id'
Connection Properties
The connection string properties are the various options that can be used to establish a connection. This section provides a complete list of the options you can configure in the connection string for this provider.
| Property | Description |
| APIKey | Your Deepgram API key for authenticating requests. |
| AuthScheme | The scheme used for authentication. Accepted entries are APIKey or None. Allowed values are: BASIC, NONE, NTLM, OAUTH, APIKEY, OAUTH_CLIENT, OAUTH_PASSWORD |
| ProjectId | The unique identifier of the Deepgram project to use for all queries. |