Overview
If you’ve recently configured your Twilio account to store call recordings in your own AWS S3 bucket, but you’re still seeing “Call Recording Storage” charges on your Twilio invoice, you’re not alone. This article explains why these charges may still appear, how Twilio’s recording storage works, and what steps you can take to avoid unnecessary costs.
What You Need To Know
Understanding Twilio Call Recording Storage Charges
Twilio charges for call recording storage based on the total number of minutes stored within Twilio’s own storage across your parent account and all sub-accounts. If you have migrated to external storage (such as AWS S3), you should only be charged for recordings that remain in Twilio’s storage. Key points include:
- Storage charges apply to all recordings still stored in Twilio, even if you have enabled external storage for new recordings.
- Twilio does not charge for recordings that are only stored in your external S3 bucket.
- No temporary storage fees are incurred for recordings that are immediately transferred to S3.
Continue Seeing Charges
If you continue to see storage charges after setting up S3 storage, it usually means that some recordings are still retained in Twilio’s storage. This can happen if:
- Older recordings were not migrated or deleted.
- Sub-accounts have recordings that remain in Twilio storage.
- The migration to S3 only applies to new recordings, not existing ones.
How to Stop Twilio Storage Charges
To avoid further charges:
- Review All Accounts: Check your parent and all sub-accounts for any recordings still stored in Twilio.
- Delete or Migrate Old Recordings: Move any remaining recordings to your S3 bucket or delete them from Twilio storage.
- Verify Your S3 Configuration: Ensure your S3 storage setup is active and correctly configured for all new recordings.
- Check Your Invoice Details: Use the CSV export from your Twilio invoice to identify which sub-accounts are generating storage charges.
How to Check Remaining Recordings
To check for remaining recordings after transferring them to S3, you can use the Twilio Recordings REST API to list resources and inspect their status and mediaUrl attributes.
Step 1: Identify Storage Location with mediaUrl
When you enable external S3 storage, Twilio adds a mediaUrl property to the Recording Resource:
-
External S3: The
mediaUrlwill contain the full URL to your S3 bucket. -
Twilio Hosted: The
mediaUrl(oruri) will point to Twilio's cloud storage.
Note: If external storage is active, Twilio does not retain a copy of the media file in its own cloud.
Step 2: List Remaining Recordings via API
You can fetch a list of all recording records to see which still exist in Twilio’s metadata.
-
API Endpoint:
GET https://api.twilio.com/2010-04-01/Accounts/{AccountSid}/Recordings.json -
Filter by Status: Use the
Statusparameter to find files that are still active versus those already removed:-
completed: The recording exists and is available for download (either from Twilio or S3). -
deleted: The media file has been removed, but the metadata remains for 30 days.
-
Step 3: Verification Steps
To confirm if recordings are still "left" on Twilio's servers specifically:
-
Check for "Completed" Status: Loop through the List of Recordings and identify those with a status of
completed. -
Inspect the
mediaUrl: If themediaUrldoes not point to your S3 bucket, the file is likely still hosted on Twilio's infrastructure. -
Manual Deletion: If you find recordings that were successfully transferred but still have a
completedstatus on Twilio, you must issue an HTTP DELETE request to that specific Recording SID to remove the media from Twilio's cloud.
Frequently Asked Questions
Does Twilio keep a temporary copy of recordings before moving them to S3?
No. Once S3 external storage is enabled, Twilio does not retain or charge for temporary copies.
Do I need to change any retention policies or settings?
No additional settings are required. Just ensure all old recordings are deleted or moved from Twilio storage.
How can I see which sub-accounts are responsible for storage charges?
Download the CSV file from your invoice and filter by sub-account to see detailed usage.
Additional Information
- How Much Programmable Voice Recording Storage Is Being Used by a Subaccount?
- Twilio Programmable Voice Recording Storage Pricing
If you have reviewed all your accounts and are still seeing unexpected charges, or if you need help with your S3 configuration, your Twilio account team is here to help.