The Analytics API, available for Analytics+ customers, lets you pull call and user metrics directly into your own reporting tools, without manually exporting data from the Aircall Dashboard. You can automate recurring extracts on a daily, weekly, or monthly cadence and use the data to build custom reports tailored to your business.
This article covers what the Analytics API offers, how it works, and what to keep in mind when setting up automated exports.
Important: The Analytics API is available exclusively to customers on the Analytics+ add-on. If you are unsure whether your plan includes Analytics+, contact the customer success team.
What you can export
The API gives you access to three categories of data:
- Call History: Detailed records of inbound and outbound calls.
- User Status History+: A log of agent availability status over time.
- User Activity+: A set of per-user performance metrics, including call volumes, in-call time, after-call work time, ringing attempts, and time spent in each status.
Each category maps to the reports available in your Aircall Dashboard. For the full list of exportable reports and their corresponding API parameter values, see the Analytics API documentation.
Getting started: generating an API key
To use the Analytics API, you need an API key. This key identifies your account and authorises your requests. You create and manage API keys directly in the Aircall dashboard.
Important: Your API secret token is displayed only once, immediately after you create it. Copy and store it securely before leaving the page as it cannot be retrieved later.
Steps:
- Go to Aircall Dashboard > Integrations & API > API Keys.
- Click Generate an API key below the API Keys table.
- Give your key a recognizable name (for example, the name of the tool or script that will use it).
- Copy the API secret token and store it in a secure location.
Your key will then appear in the API Keys list. Pass the secret token in the authorisation header of your API requests. For full technical details, refer to the Analytics API documentation.
How an export works
Exports from the Analytics API follow a simple three-step process. The data is prepared asynchronously, meaning the file is generated in the background rather than returned instantly.
- Request the export. Specify which report you want and the date range. The API returns a unique export ID.
- Check when it's ready. Use the export ID to check the status of your request. Once the status shows as completed, your file is ready.
- Download the CSV. Retrieve the download link from the status response and download your file.
The whole process typically takes a few seconds to a few minutes, depending on the date range and volume of data.
Important: The download link expires 1 hour after it is generated. Download your file as soon as it's ready.
Filters and date ranges
Every API request requires the following parameters:
- Report type: The specific report you want to export. See the full list in the Analytics API documentation.
- Date range: The time period the export should cover.
- Timezone: The timezone applied to the data. Defaults to UTC if not specified.
You can also pass optional filters to narrow the results, matching the filters available for each report in the Aircall dashboard. The available optional filters vary by report type. Refer to the Analytics API documentation for the full list per report.
Important: Requests missing a mandatory parameter will fail. Test each report type with all required parameters before scheduling automated exports.
Data retention
Exported data covers the same period as what is visible in the Aircall Dashboard:
| Report area | Retention period |
|---|---|
| Call History | 6 months |
| User Status History+ | 7 days |
| User Activity+ | Unlimited |
Best practices
The following recommendations apply whether you are running one-off exports or building a fully automated pipeline.
Set up scheduling on your side
The API does not schedule exports automatically. If you want exports to run on a daily, weekly, or monthly cadence, you will need to set that up in your own system or automation tool.
Schedule exports during off-peak hours
Where possible, trigger automated exports outside of business hours. This reduces the risk of delays during periods of high API load and helps ensure consistent data availability.
Download immediately after each request
The download link expires after 1 hour. Build your automation to download the file as soon as the API response is received, rather than storing the link for later retrieval.
Check your destination system's row limits
The API does not impose a row limit on exports. However, some import tools and spreadsheet applications cap the number of rows they can process. Verify your destination system's limits before running large exports in production.
Test before you automate
Run each report type manually before scheduling recurring exports. This helps you catch missing or incorrect parameters early, before they cause silent failures in an automated workflow.
FAQs
Does the API include a built-in scheduler?
No. The API returns data on request. You are responsible for setting up any recurring automation (daily, weekly, monthly) on your side.
Why does the download link expire after 1 hour?
The short expiry is a security measure to protect your data. Make sure your workflow downloads the file immediately after a successful API response.
What file format are exports delivered in?
All exports are delivered as CSV files.
Can I use the Analytics API without the Analytics+ add-on?
No. Analytics+ is required. Reach out to our customer success team to discuss your options. You can also request a trial to explore the add-on.
The data I need isn't showing up in my export. What should I check?
First, confirm that the Analytics+ add-on is active on your account. Then verify your date range, timezone, and any optional filters against the Analytics API documentation.
Can I filter exports by user or team?
Most reports support optional filters. See the Analytics API documentation for the parameters available for each report.
Is there a row limit on exports?
The API itself does not impose a row limit. Keep in mind that your destination tool may have its own import limits.