Select Language:
If you’re wondering whether Azure API Management (APIM) stores historical quota data, the answer is no. The API that provides quota counters only shows the current active period, including the start and end times along with the number of calls made during this period. There isn’t a built-in way to access previous cycles or past quota usage directly through the API. This is because quotas are designed mainly for real-time enforcement rather than historical records. If you need to analyze past quota usage, your best source of information will be the APIM analytics and report features.
There’s no specific API to get details about old quota boundaries or previous cycles. When you set up your policies, the ‘first-period-start’ attribute marks the beginning of the initial quota cycle. Subsequent cycles are expected to renew based on the configured renewal period. However, APIM doesn’t provide direct access to data about these overlapping or past cycles.
To figure out historical usage outside of real-time data, you’ll need to reconstruct it from logs. Here’s how you can do that:
Use the Reports API. Various endpoints like /reports/bySubscription or /reports/byRequest allow you to filter by specific dates and get data on API calls within any chosen period. For example, you can make a request like this:
GET https://management.azure.com/subscriptions/{subId}/resourceGroups/{rg}/providers/Microsoft.ApiManagement/service/{serviceName}/reports/bySubscription?$filter=timestamp ge datetime’2025-09-01T00:00:00′ and timestamp le datetime’2025-09-30T23:59:59’&api-version=2024-05-01
This will return aggregate metrics such as total call count, bandwidth used, and other relevant data for that time frame. You can review the detailed API documentation for more options:
Reports – List By Subscription – REST API (Azure API Management)
To manually track quota usage over each cycle, you can:
- Use the
first-period-startandrenewal-periodsettings in your policies (for example, a renewal period of about 30 days). - Calculate the start and end times of each cycle based on these settings.
- Then, query the report API for each cycle’s date range to get historical data.
Alternatively, a more automated way is to export your APIM logs to Azure Monitor or Log Analytics and run queries to analyze data by month. This method allows for detailed, ongoing tracking without relying solely on the built-in reports.
For reference, check out the monitoring documentation here:
Monitor Azure API Management | Microsoft Learn
If you have any questions or need further help with this process, feel free to ask!




