Tracking and Calculating Usage
How usage is calculated and how to create billing reports
Usage by workspaceUsage is scoped to individual workspaces. To get usage by workspace, you can call the list endpoint for the related model and sum the usage
Tracking usage on the dashboard
You can get a high-level overview of your overall usage by checking the Usage page of the Recall dashboard. See below for the correct link by Recall region:
View the usage dashboard
Meeting bot usage
How to get a single bot's usage
A single bot's usage is considered the time the bot is "active" and is calculated from when the bot triggers the joining_call event until a terminal event (done). We do not bill for bots that terminate in the fatal state.
- The
joining_callevent occurs when the bot first loads the meeting URL. - The
doneevent is used when the bot leaves the call/can't record (e.g. meeting ID doesn't exist) - The "active" time includes time spent in
waiting_roomand/orin_call_no_recordingstates.
Bot usage per workspaceYou can use the Get Usage endpoint to retrieve the number of bot hours used within a specific time period for a given workspace.
How to track bot usage for your own customers
You may want to track usage for an individual user or specific organization. For these cases, you can track bot usage with custom metadata
Example
Imagine you want to view all usage from the customer with ID 1234 in October. You can:
- Create a bot that includes the
customer_idin themetadatafield. - Call the List Bots endpoint and filter by the
customer_idand date range. This will return a paginated list of bots. - Calculate the usage for each bot and sum up bot usage for all bots returned from the above query.
You can use this sample app to see how to calculate bot usage over a time range and/or for a specific customer.
Meeting bot usage rates
Meeting bot usage rates for our pay-as-you-go plan can be found on our pricing page, with discounts available at higher tiers, and are rounded to the nearest second. For example, if you have a bot that is running for 5 min and 10 seconds, your bot usage will be 5 minutes and 10 seconds.
Bots operate on dedicated machines and usage is based on the machine's runtime (not just the time the bot is recording). This means that:
- There is no additional charge for scheduling bots in advance. Since the machine isn't running until the bot becomes active, you only incur charges once the bot starts.
- There is no additional costs to use specific features - Note that some bot features are more CPU intensive so you can opt to use a larger bot instance with more CPU via bot variants
- There is no additional charges for individual API requests
Bot variants
Some features may require more compute (e.g. output media, real-time H264 video per participant) and you can choose to use more powerful machines (called variants) for smoother bot and recording experiences. Due to the inherent cost of running larger machines, the prices for some variants are higher:
| Variant | Monthly plans |
|---|---|
| (default) | standard bot usage rate |
web_4_core | standard bot usage rate + $0.10/hour |
web_gpu | standard bot usage rate + $1.00/hour |
You can set a custom variant by adding the following to your Create Bot config:
{
...
"variant": {
"zoom": "web_4_core",
"google_meet": "web_4_core",
"microsoft_teams": "web_4_core"
}
}
Transcription Usage
How to get a single recording's transcription usage
There are different ways to get a recording's transcription usage for a given recording depending on what transcription provider you're using
Calculating usage for Recall.ai Transcription
For a given recording, calculate the difference between the started_at and completed_at timestamps.
Calculating usage for Third-party Transcription Providers
For a given recording, check the transcription provider's data directly by querying the recording.transcript.data.provider_data_download_url field. This contains the raw data received from the transcription provider and indicates the exact audio duration that was transcribed.
Calculating usage for Third-party Transcription Providers (with Perfect Diarization)
If using your own API key for the third party transcription provider, you can query the third party transcription provider directly to get usage data.
If you are not using your own API key for the third party transcription provider, then it is not possible to calculate billing usage outside of what is on your invoice at this time.
Meeting Caption Transcription
There is no cost associated with meeting caption transcription.
Transcription usage rates
The transcription usage rates vary by provider, and you can supply your own API key to use the custom rates you have negotiated directly.
Recall.ai transcription rates start at $0.15 per hour on our pay-as-you-go plan, with discounts available at higher tiers, and are rounded to the nearest second.
Desktop Recording SDK usage
How to get a single DSDK's recording usage
Usage for a Desktop SDK (DSDK) recording is calculated from the recording’s lifecycle timestamps.
Each DSDK session produces a single recording object with started_at and completed_at fields, and the billable usage for that recording is the time difference between those two values (i.e., completed_at - started_at). This captures the total duration of the recording session from when capture began to when it fully completed.
You can use this sample app to calculate DSDK usage over a time range and/or for a specific customer.
FAQs
Why does my bot usage show more hours than my recording time?
Bot usage is calculated as the bot’s active time, not just recorded minutes. Active time is measured from when the bot enters the joining_call state until it reaches a terminal state (e.g., done or fatal). This means usage can include time spent in the waiting room and time spent in the call even if the bot isn’t recording.
If you want to reduce usage for these cases, you can:
- Decrease waiting room time: reduce the
automatic_leave.waiting_room_timeoutin your Create Bot request config - Decrease in call not recording time: reduce the
automatic_leave.in_call_not_recording_timeoutin your Create Bot request config
See Making a bot automatically leave a meeting to learn more about how to reduce usage for the above cases.
Updated 3 days ago