# Technical Limitations

## Overview

These limitations are designed to ensure the safety and stability of the Mindee API and platform.

Unless noted otherwise, any action that exceeds or does not comply with the limitations will be rejected with an error.

## Accepted Files

### PDF Files

All Portable Document Format (PDF) types can be processed, either single page or multiple pages.

Each PDF page can be a combination of text and image elements.

{% hint style="warning" %}
PDF files cannot be password-protected.
{% endhint %}

### Image Files

Most common image types can be processed.

Specifically, we accept the following image types:

<table><thead><tr><th width="140">Type</th><th width="158.5">Media Type</th><th width="135.5">Extensions</th><th>Notes</th></tr></thead><tbody><tr><td><a data-footnote-ref href="#user-content-fn-1">JPEG</a></td><td>image/jpeg</td><td>jpeg, jpg</td><td></td></tr><tr><td><a data-footnote-ref href="#user-content-fn-2">PNG</a></td><td>image/png</td><td>png</td><td>non-animated only</td></tr><tr><td>WebP</td><td>image/webp</td><td>webp</td><td></td></tr><tr><td><a data-footnote-ref href="#user-content-fn-3">TIFF</a></td><td>image/tiff</td><td>tiff, tif</td><td>single page or multiple pages</td></tr><tr><td><a data-footnote-ref href="#user-content-fn-4">HEIC</a></td><td>image/heic</td><td>heic</td><td></td></tr></tbody></table>

### File Limits

These limits apply to all files, regardless of source or type.

| Limit type              | Limit value |
| ----------------------- | ----------- |
| Max file size           | 100 MB      |
| Maximum number of pages | 200 pages   |

If you have access to the file locally, there are workarounds available for these limits:

* [#manipulate-pdf-pages](https://docs.mindee.com/client-libraries-sdk/load-and-adjust-a-file#manipulate-pdf-pages "mention")
* [#compress-files](https://docs.mindee.com/client-libraries-sdk/load-and-adjust-a-file#compress-files "mention")

Requires using our [client-libraries-sdk](https://docs.mindee.com/integrations/client-libraries-sdk "mention").

### URLs

When sending a file as an URL rather than as binary data.

All [#accepted-files](#accepted-files "mention") may be used, if they adhere to the [#file-limits](#file-limits "mention").

In addition, the source URL must adhere to the following rules:

* Secured using TLS (HTTPS).
* Publicly available using only the URL, no authentication *headers*.
* Authentication may be provided in the URL as query parameters: username+password or token.\
  For example, Amazon S3 signed URLs will work.
* Contents must be a binary file (raw bytes, **not** base64-encoded).
* File contents cannot be encrypted, PDFs must not be password protected.
* The Mindee server will **not** follow redirections (HTTP 3xx).

## Rate Limits

Calls to the Mindee API are limited to ensure the stability of the platform for all users.

These limits apply to an entire organization, meaning the combination of all models, origin IPs, and API keys.

The following limits are enforced:

<table><thead><tr><th width="254">Limit Type</th><th>Limit Value</th></tr></thead><tbody><tr><td><a href="../client-libraries-sdk/send-a-file-or-url#send-for-processing">Send for Processing</a></td><td>200 requests per minute</td></tr><tr><td>Polling</td><td>1200 requests per minute<br><em>Normally, this is handled by the client library.</em></td></tr></tbody></table>

If rate limits are exceeded, the server will return a HTTP 429 error.

{% hint style="success" %}
If you have needs beyond these limits, get in touch with the [sales team](mailto:hello@mindee.com) for a custom solution.
{% endhint %}

## Data Schema

### Number of Fields in the Data Schema

The recommended maximum number of fields is 25 for a Data Schema.

Beyond this limit, performance may be drastically reduced.

### Names of Fields

The field *name* must only contain:

* lowercase Latin letters without accents (a-z)
* numbers (0-9)
* underscores (`_`), but neither first nor last characters can be an underscore.

## Webhooks

Webhook URLs must adhere to the the following rules:

* Secured using TLS (HTTPS).
* Publicly available using only the URL, no authentication *headers*.
* Authentication may be provided in the URL as query parameters: username+password or token
* The Mindee server will **not** follow redirections (HTTP 3xx).
* The route should return OK (HTTP 2xx) when successful.

[^1]: Joint Photographic Experts Group

[^2]: Portable Network Graphics

[^3]: Tag Image File Format

[^4]: High-Efficiency Image Container
