Retell AI
  • Get Started
    • Build your first phone agent in 5 minutes
    • SDKs
  • Build
    • Overview
    • Handle background noise
    • Handle voicemail
  • Test
    • Best Practices
    • LLM Playground
    • Web Call
  • Deploy
    • Purchase phone number
    • Overview
    • Make & receive phone calls
    • Connect to web call
    • Understand concurrency & limits
Powered by GitBook
On this page
Export as PDF
  1. Get Started

SDKs

PreviousBuild your first phone agent in 5 minutesNextOverview

Last updated 4 months ago

Learn how to use Retell’s Node.js and Python SDKs

While you can use our for most operations, we recommend using our SDKs to speed up development and reduce code complexity. Our SDKs provide typed methods and a more structured approach to integrating with Retell.

Available SDKs & Requirements

  • Node.js TypeScript SDK

    • Requires Node.js version 18.10.0 or higher

  • Python SDK

    • Requires Python 3.x

1

Get Your API Key

Navigate to the “API Keys” tab in your dashboard to obtain your API key.

2

Install the SDK

Choose your preferred language and install the SDK:

Node ClientPython Client

npm i retell-sdk

3

Initialize the Client

Create a new client instance using your API key:

Node ClientPython Client

import Retell from 'retell-sdk';

const retellClient = new Retell({
  apiKey: "YOUR_API_KEY",
});

4

Make API Calls

Here’s an example of making a phone call using the SDK:

Node ClientPython Client

try {
  const response = await retellClient.call.createPhoneCall({
    from_number: '+14157774444',
    to_number: '+12137774445',
  });
  console.log('Call initiated:', response);
} catch (error) {
  console.error('Error making call:', error);
}

To illustrate the benefits of using our SDK, here’s a comparison of creating an agent using both methods:

const options = {
  method: 'POST',
  headers: {
    Authorization: '<authorization>',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    response_engine: {
      type: 'retell-llm',
      llm_id: 'llm_234sdertfsdsfsdf'
    },
    agent_name: 'Jarvis',
    voice_id: '11labs-Adrian',
    // ... many more configuration options
  })
};

fetch('https://api.retellai.com/create-agent', options)
  .then(response => response.json())
  .then(response => console.log(response))
  .catch(err => console.error(err));
import Retell from 'retell-sdk';

const client = new Retell({
  apiKey: 'YOUR_RETELL_API_KEY',
});

async function main() {
  const params: Retell.AgentCreateParams = {
    response_engine: { 
      llm_id: 'llm_234sdertfsdsfsdf',
      type: 'retell-llm'
    },
    voice_id: '11labs-Adrian',
  };
  const agentResponse = await client.agent.create(params);
}
  1. Error Handling: Always wrap SDK calls in try-catch blocks

  2. Type Safety: Take advantage of TypeScript types in the Node.js SDK

Find more SDK examples in our test suites to learn more about how to use the SDK:

SDK vs REST API Example

Using REST API (More Verbose)

Using SDK (More Concise)

Best Practices

API Reference: Refer to our for all available parameters

Additional Resources

​
​
​
​
API documentation
​
Node.js SDK Examples
Python SDK Examples
REST API
​
NPM Package
PyPI Package