Audio in. Accurate text out.

From crisp, single-speaker audio to staticky, acronym-heavy communications, Deepgram delivers accurate transcriptions you can actually read.

Sample features

Punctuation

Adds punctuation and capitalization to the transcript

Numerals

Converts numbers from a written format to a numerical one. For example, “one hundred” to “100”

Redaction

Remove sensitive information like credit card and social security numbers from customer calls.

Example transcript

punctuate=true

Hi. Welcome to Delicious Pizza Company. Can I take your order? Yeah. I’d like two large cheese pizzas, please. I’m trying to feed a group of eight people. I can help you with that. Can you please provide your name and your credit card number for payment? Yeah. Sure. My name is Jane Smith, and my credit card number is four two eight three five six seven eight four five two three, eight seven nine two. And can you please provide the expiration date and security code? Yeah. It expires in June twenty nineteen and the security code is four eight six. Wonderful. I have you down for two large cheese pizzas. Please go around to the pickup window. We’ll have your pizza ready in around five minutes. Thanks for choosing Delicious Pizza Company.

numerals=true

hi welcome to delicious pizza company can i take your order yeah i’d like 2 large cheese pizzas please i’m trying to feed a group of 8 people i can help you with that can you please provide your name and your credit card number for payment yeah sure my name is jane smith and my credit card number is 4 2 8 3 5 6 7 8 4 5 2 3 8 7 9 2 and can you please provide the expiration date and security code yeah it expires in june 20 19 and the security code is 4 8 6 wonderful i have you down for 2 large cheese pizzas please go around to the pickup window we’ll have your pizza ready in around 5 minutes thanks for choosing delicious pizza company

redact=true

hi welcome to delicious pizza company can i take your order yeah i’d like two large cheese pizzas please i’m trying to feed a group of eight people i can help you with that can you please provide your name and your credit card number for payment yeah sure my name is jane smith and my credit card number is * can you please provide the expiration date and security code yeah it expires in * the security code is * i have you down for two large cheese pizzas please go around to the pickup window we’ll have your pizza ready in around five minutes thanks for choosing delicious pizza company

punctuate=true&numerals=true&redact=true

Hi. Welcome to delicious Pizza company. Can I take your order? Yeah. I’d like 2 large cheese Pizzas, please. I’m trying to feed a group of 8 people. I can help you with that. Can you please provide your name and your credit card number for payment? Yeah. Sure. My name is Jane Smith, and my credit card number is * can you please provide the expiration date and security code? Yeah. It expires in * the security code is * I have you down for 2 large cheese pizzas. Please go around to the pickup window. We’ll have your pizza ready in around 5 minutes. Thanks for choosing delicious pizza company.

punctuate=true&numerals=true

Hi. Welcome to delicious Pizza company. Can I take your order? Yeah. I’d like 2 large cheese Pizzas, please. I’m trying to feed a group of 8 people. I can help you with that. Can you please provide your name and your credit card number for payment? Yeah. Sure. My name is Jane Smith. And my credit card number is 4 2 8 3 5 6 7 8 4 5 2 3 8 7 9 2 And can you please provide the expiration date and security code? Yeah. It expires in June 20 19 and the security code is 4 8 6 Wonderful. I have you down for 2 large cheese pizzas. Please go around to the pickup window. We’ll have your pizza ready in around 5 minutes. Thanks for choosing delicious pizza company.

numerals=true&redact=true

hi welcome to delicious pizza company can i take your order yeah i’d like 2 large cheese pizzas please i’m trying to feed a group of 8 people i can help you with that can you please provide your name and your credit card number for payment yeah sure my name is jane smith and my credit card number is * can you please provide the expiration date and security code yeah it expires in * the security code is * i have you down for 2 large cheese pizzas please go around to the pickup window we’ll have your pizza ready in around 5 minutes thanks for choosing delicious pizza company

punctuate=true&redact=true

Hi. Welcome to delicious Pizza company. Can I take your order? Yeah. I’d like two large cheese Pizzas, please. I’m trying to feed a group of eight people. I can help you with that. Can you please provide your name and your credit card number for payment? Yeah. Sure. My name is Jane Smith, and my credit card number is * can you please provide the expiration date and security code? Yeah. It expires in * the security code is * I have you down for two large cheese pizzas. Please go around to the pickup window. We’ll have your pizza ready in around five minutes. Thanks for choosing delicious pizza company.

{ }

hi welcome to delicious pizza company can i take your order yeah i’d like two large cheese pizzas please i’m trying to feed a group of eight people i can help you with that can you please provide your name and your credit card number for payment yeah sure my name is jane smith and my credit card number is four two eight three five six seven eight four five two three eight seven nine two and can you please provide the expiration date and security code yeah it expires in june twenty nineteen and the security code is four eight six wonderful i have you down for two large cheese pizzas please go around to the pickup window we’ll have your pizza ready in around five minutes thanks for choosing delicious pizza company

Speech-to-text formatting features

The most accurate transcription plus features you need for more readible text.

See All Features

Punctuation

Add punctuation and capitalization for more readable transcripts.

Numerals

Convert numerals from the written format to numerical. For example, “one hundred” to “100”.

Redaction

Remove sensitive information like credit card and social security numbers from customer calls with redaction.

Profanity Filtering

Profanity Filter converts inappropriate text to the nearest recognized non-profane word or removes it from the transcript completely.

Utterances

Use natural pauses in speech to create a transcript with a more human-like speaking patterns with Utterances.

Deep Search

There’s a better way to search than just matching text patterns. Our search uses acoustic pattern matching to deliver better results on words and phrases.

Find and Replace

Easily correct terms or phrases in your transcript with Find and Replace.

Voice Activity Detection (VAD)

Have irregular pauses in your audio? Our Voice Activity Detection feature monitors incoming audio and detects when a sufficiently long pause is detected.

Keywords

Specify Keywords to pay attention to, or train a custom model for even greater accuracy on the words that matter to you. Contact us to learn more.

Paragraphs

Split audio into paragraphs to improve transcript readability.

Interim Results

Get Interim Results with your transcript on real-time streaming that actually improves over time.

Understanding features

Deepgram also has a wide range of Natural Language Understanding (NLU) features to choose from. Combine our best-in-class accuracy with the formatting and understanding capabilities you need for real use of your audio data.

 

It was important for us to have a confidence level and metadata for every word. Deepgram’s granularity allowed us to reliably build on top of the transcripts and display the speech patterns we care about on our closed captions.”

 

Enable Key Use Cases

Speech infrastructure for your application

Captioning

Generate closed captions for live audio streams

Analysis

Accurately transcribe and classify calls for better use of data

Attribution

Correctly identify brand names for marketing

Compliance

Transcribe calls for quality assurance and compliance

Real-time enablement

Transcribe calls for real-time agent enablement

Transcribe in +30 languages and dialects.

We speak your customer’s language with coverage for over 30 language varieties and use-case modules—with more added regularly

Learn More

Call the most accurate use-case model for your domain.

Specialized models for phone calls, meetings, conversational AI, and more. Don’t see a model that works for you? Try our general model, or train a tailored model for your needs.

Learn More

Build with what you want.

Use our Python, Node.js, .NET SDKs, or our REST API to get transcripts that read like a human wrote them.

Read the Docs

from deepgram import Deepgram
import asyncio
import json

DEEPGRAM_API_KEY = "YOUR_DEEPGRAM_API_KEY"


async def main():

    # Initialize the Deepgram SDK
    deepgram = Deepgram(DEEPGRAM_API_KEY)

    FILE = 'URL_TO_YOUR_FILE'

    source = {
        'url': FILE
    }

    response = await asyncio.create_task(
        deepgram.transcription.prerecorded(
            source
        )
    )

    print(json.dumps(response, indent=4))

asyncio.run(main())
{
  "channel_index": [
    {
      "channel": "string",
      "num_channels": 0
    }
  ],
  "duration": 0,
  "start": "string",
  "is_final": true,
  "channel": {
    "alternatives": [
      {
        "transcript": "string",
        "confidence": 0,
        "words": [
          {
            "word": "string",
            "start": 0,
            "end": 0,
            "confidence": 0
          }
        ]
      }
    ]
  }
}
const { Deepgram } = require('@deepgram/sdk')

const deepgram = new Deepgram(DEEPGRAM_API_KEY)
const audioSource = { url: URL_OF_FILE }

const response = await deepgram.transcription.preRecorded(audioSource)

console.dir(response, {depth: null})
{
  "channel_index": [
    {
      "channel": "string",
      "num_channels": 0
    }
  ],
  "duration": 0,
  "start": "string",
  "is_final": true,
  "channel": {
    "alternatives": [
      {
        "transcript": "string",
        "confidence": 0,
        "words": [
          {
            "word": "string",
            "start": 0,
            "end": 0,
            "confidence": 0
          }
        ]
      }
    ]
  }
}
using Deepgram;

var deepgram = new DeepgramClient(new Credentials("YOUR_DEEPGRAM_API_KEY"));
var response = await deepgram.Transcription.Prerecorded.GetTranscriptionAsync(
    new UrlSource("URL_TO_FILE"));
{
  "channel_index": [
    {
      "channel": "string",
      "num_channels": 0
    }
  ],
  "duration": 0,
  "start": "string",
  "is_final": true,
  "channel": {
    "alternatives": [
      {
        "transcript": "string",
        "confidence": 0,
        "words": [
          {
            "word": "string",
            "start": 0,
            "end": 0,
            "confidence": 0
          }
        ]
      }
    ]
  }
}

Deploy on-prem, cloud, or VPC.

Our standard deployment is within our cloud, but for more sensitive voice and transcription data, we also offer an on-premises installation or a private cloud installation, where you can control the entire environment. Deepgram is Kubernetes-ready with Docker images, and has pre-built VM images to enable rapid deployment to most cloud providers. Train models and deploy anywhere – on premises or in the cloud.

View Security

See what developers are saying about Deepgram.

The Deepgram API covers the languages we need (and then some), integrates easily with our audio source, is accurate enough, and delivers results quickly. The documentation made it easy to design our code, and the very helpful support engineers were quick to respond to questions and to help us debug our initial efforts.

The speed and accuracy of Deepgram API is the best I have seen.

We provide Fraud Detection services to the insurance industry using intelligent and compliant AI-driven Digital Speech DNA solutions over Blockchain. Using Deepgram allowed us to process a large volume of data quickly and accurately. In addition, Deepgram has the ability to detect different accents which improved the overall accuracy of our scoring module.

The low latency of the response with high accuracy from the websocket connection is the most distinguishing feature from other providers. If this feature was not there then it’s yet another Speech to Text service. I really love the community around it and the team which is driving it, kudos to the DevRel team.

Great speech-to-text results in seconds.

As a software developer, there is plenty to like about Deepgram – complete and easy to follow documentation; easy to use API that allows for quick language-independent implementation; great follow-up support; multiple models including one specifically for telephone-based dictation; not only one of the best but also one of the least expensive speech rec services available; a generous free number of credits are provided at sign-up – plenty enough for experimentation and testing of your application.

We have tested a number of transcription APIs, and Deepgram has consistently come out as the most accurate for our use case. whilst offering a nice Python interface for batch operations. The API schemas are also excellent.

The Best Audio Transcription Service in the Wild!

I have been using Deepgram’s API for a couple of months now, and I am beyond impressed with the accuracy. It is so much better than other voice recognition services that I have tried in the past. I love that it supports so many languages, which is perfect for me because I work with clients worldwide. The best part is that its API is pretty intuitive, which means it doesn’t require any training, which saves me tons of time. I would recommend this to anyone who needs a speech-to-text service!

The ease of use! The simple but powerful APIs make it so quick and easy to start creating something. Not only were the tools very easy to use but they were also incredibly fast and accurate. I came across no translation issues when using the product despite testing it in noisy and non-optimal conditions. And the results were almost instantaneous. Other tools I had looked at were either very restrictive or not very accurate so it was refreshing to find an SDK that gave the flexibility to do whatever I want without compromising on speech and accuracy.

An Automated Speech API with Intuitive Documentation

My favorite part about using Deepgram was the ease of learning. The API documentation is complete and intuitive, and the tutorials in the console left me feeling confident that I could use the API and SDK in either Node or Python projects.

Go further with Speech Understanding

Accurately identify and classify conversational audio. It’s Natural Language Understanding built on accurate, reliable speech-to-text.

View Understanding