Whenever a call recording is made, Twilio will automatically store the recording file as long as you wish. Twilio stores the first 10,000 minutes of single-channel call recordings (or the first 5,000 minutes of dual-channel recordings) for free. To prevent added costs for recording storage, here are some methods for managing call recordings.
Automate Recordings Management with Recording Status Callbacks
Recording Status Callbacks tell us to reach out to the callback URL provided in your request with a link to the posted recording file as soon as we upload it. These callbacks to your app can be used to trigger REST API commands for downloading and/or deleting the call recording file. This method allows you to automatically download and store your recordings locally, and help prevent unnecessary Twilio storage charges.
Recording Status Callbacks can be requested for each of our Programmable Voice call recording options:
- API requested outbound calls use the
- Outbound <Dial> calls use the
- Incoming calls use the
- Ad-hoc (Start/Stop) call recordings use the
- One-way <Record> TwiML command recordings use the
Notice: Elastic SIP Trunking does not support recording status callbacks.
Download Recordings Programmatically via the REST API
Call recordings can be downloaded via HTTP GET calls to the Recordings API resource, and appending the desired file extension to the URI:
- Use no extension, or
.wavto download a 128kbps WAV file.
.mp3to download a 32kbps MP3 file.
For more information, please see Fetch a Recording media file (Twilio Docs).
Delete Recordings Programmatically via the REST API
Call recordings can be deleted via HTTP DELETEcalls to the Recordings API resource. For more information, please see Delete a Recording resource (Twilio Docs).
Download and/or Delete Multiple Recordings
To download and/or delete multiple recordings at once, we recommend using the REST API. To do this, a script would be required that pulls the list of recordings, downloads them, and then deletes them. For more information, including sample code and best practices, please see Manage Your Call Recordings with the REST API (Twilio Blog).
Download or Delete Recordings Manually from Console
Single call recordings can be manually downloaded and deleted one at a time from the logs in Console:
- Access the Programmable Voice Dashboard in Console.
- Navigate to and select the desired recordings -
- From Call logs: Click Calls, select the desired call, and then click the Recording SID.
- From Recording logs: Click Recordings, and then select the desired recording.
- Click the desired file type to download the recording, or scroll to the bottom of the page and click Delete this Recording.
Recording Data Deletion Details
When a Call Recording is deleted via the API or Console, a request to delete the Recording file is issued. The Recording file will no longer be accessible via the API or Console. Please note it may take up to 30 days for the Recording file to be completely removed from all systems.
The Recording resource metadata (e.g. the Recording SID, Date Created, etc) is preserved for a period of 40 days after the Recording deletion is issued, during which time the metadata is still visible in the Console.
Legal implications of call recording
If you choose to record calls, you need to comply with certain laws and regulations, including those regarding obtaining consent to record (such as California’s Invasion of Privacy Act and similar laws in other jurisdictions). Additional information on the legal implications of call recording can be found here.
Notice: Twilio recommends that you consult with your legal counsel to make sure that you are complying with all applicable laws in connection with communications you record or store using Twilio.