Skip to main content
The Daily REST API uses API keys to authenticate requests. Your API key is available in the Developers section of the Daily dashboard.
  • Admins can view and regenerate the API key.
  • Members do not have access to the API key. Request it from an Admin, or ask an Admin to change your role to Admin. See dashboard user roles for what each role can do.
Using Daily through Pipecat Cloud? You have a separate, integrated Daily API key that comes with your Pipecat Cloud account. Find it under Settings → Daily (WebRTC) in the Pipecat Cloud dashboard. It has the same capabilities as a key from dashboard.daily.co, and 1:1 voice minutes are free when your agent runs on Pipecat Cloud. The two keys belong to different accounts, so a recording or session created with one key won’t show up when you query with the other. See the Daily WebRTC guide for details.

Staging and testing

Daily doesn’t support adding a second domain to an existing account. To set up a staging environment, sign up for a separate Daily account using a variant of your domain name (e.g. yourdomain-dev). The new account’s API key is immediately available under the Developers tab in the dashboard.

Making authenticated requests

Include your API key in the Authorization header of every request:
Each API key is scoped to a single Daily domain.
Never include your API key in client-side browser code. Treat it like a password.
HTTPS is required for all Daily REST API requests.

Authentication errors

Rate limits

Daily rate-limits the API to ensure stability for all users. If you exceed the limits, you’ll receive a 429 response with error: "rate-limit-error". Limits are counted per API key, per endpoint. These are the number of requests that succeed in each window. The next request in the same window gets a 429. Starting dial-out, starting dial-in, and starting a live stream all pull from the same budget. If you start a dial-out and a live stream back to back with the same API key, both count against that one budget. Starting a recording is counted on its own. A recording start does not use up any of the budget shared by dial-out, dial-in, and live streaming. Handle 429 responses by retrying with exponential backoff. Contact support if you need higher limits.