---
metadata:
  - name: generator
    content: Diplodoc Platform v5.50.6
alternate:
  - https://yandex.com/support/appmetrica-io/en/mobile-api/datastream/limits.md
  - https://yandex.com/support/appmetrica-io/ru/mobile-api/datastream/limits.md
---
> **Documentation Index:** Fetch the complete configuration index at https://yandex.com/support/appmetrica-io/en/llms.txt

# Terms of use of the Data Stream API

To use the Data Stream API, there is a monthly limit on the number of events in the export. The limit applies to all applications included in the organization.

In the **Free** and **Custom** plans, 100 million Data Stream API events per month are available for free. In the **Pro** plan, 400 million events per month are included. If you need a higher volume, you can extend the limit in the **Custom** and **Pro** plans. For more information, see [Pricing plans in USD and AED](https://yandex.com/support/appmetrica-io/en/common/pricing/uae-currency.md).

If the monthly limit is reached, the Data Stream API becomes unavailable for downloading new data. After the limit is exceeded, events continue to be exported for another 7 days, but the download API returns a `400` HTTP code. If the limit is not increased during this time, the export of new data stops, and the new data is lost. On the first day of each month, the limit is updated, and the export resumes.

The option **Allow payment for exceeding the limit** is also available in Data Stream. If it is enabled in the tariff settings, data preparation does not stop after exceeding the limit. At the same time, events over the limit are charged additionally for every million events.

The consumption of the limit depends on the amount of data prepared, not on the number of downloads. If the data has already been prepared for export, you don't need to download it at all or download it several times.: This does not decrease or increase the monthly limit.

It is not necessary to enable the export of all data types. When configuring the Data Stream API, you can select only the streams that you need for your tasks, and then change the configuration at any time: add new data types or disable the ones you've already selected. Only the data types for which export is enabled are included in the limit, and `revenue`, `ecommerce`, and `ad_revenue` remain free and are not included in the limit.

For custom events (data types `event` / `attributed_event`), you can further configure filtering using white and black lists of events. If a white list is used, only events with the specified names will be exported. If a black list is used, events from the list will be excluded from export. Such filtered events do not go to the Data Stream API dump and are not counted in the limit consumption.

## What data types are included in the limit {#data-types}

The monthly Data Stream API limit includes the following data types:

- `installation`
- `event`
- `push_token`
- `crash`
- `error`
- `session_start`
- `session_end`
- `click`
- `attributed_event`
- `deeplink`

Each event of these types that is uploaded is counted in the total monthly limit.

## What types of data are uploaded for free {#free-export}

Uploading basic Revenue events does not consume the limit and is available for free in any amount. These data types include:

- `revenue`
- `ecommerce`
- `ad_revenue`

These streams do not need to be taken into account when calculating the total Data Stream API cost.

## Example calculation {#example}

Let's assume that when you activated the Data Stream API, you enabled the export of the `installation`, `deeplink`, `click`, `crash`, `error`, and `ecommerce` data types. Over the course of a month, the following data was generated for all applications in the organization:

- 50,000,000 `click` events
- 25,000 `installation` events
- 150,000 `deeplink` events
- 300,000 `crash` events
- 2,500,000 `error` events
- 5,000,000 `ecommerce` events

The total limit consumption will be:

50,000,000 + 25,000 + 150,000 + 300,000 + 2,500,000 = 52,975,000

Events `ecommerce` are not included in this calculation, because Revenue-data is unloaded for free. Such volume fits into the free limit of 100 million events per month.

In the next month, you decided to additionally enable the export of `event`, `session_start`, and `session_end`. However, the volume of data types that you had already selected remained the same, and there were no new data types for the month:

- 60,000,000 `event` events
- 18,000,000 `session_start` events
- 18,000,000 `session_end` events

Therefore, the total limit consumption would be:

52,975,000 + 60,000,000 + 18,000,000 + 18,000,000 = 148,975,000

Events `ecommerce` still do not increase the limit consumption, but in this case, the free limit of 100 million is no longer sufficient. To continue the unloading in such a volume, a paid Data Stream API extension in the **Custom** or **Pro** plan, which includes 400 million events per month. If data of types `revenue`, `ecommerce`, or `ad_revenue` are uploaded simultaneously, they are not added to this calculation.

<!-- source: en/_includes/feedback-button-2.md -->
If you didn't find the answer you were looking for, you can use the feedback form to submit your question. Please describe the problem in as much detail as possible. Attach a screenshot if possible.

<a href="../../troubleshooting/feedback-new">
  <span class="button">Contact support</span>
</a>

<a href="../../troubleshooting/feedback-docs">
  <span class="button">Suggest an improvement for documentation</span>
</a>
<!-- endsource: en/_includes/feedback-button-2.md -->

