Client Libraries / SDKs
Officially supported client libraries for integrating the Mindee platform.
By using the client libraries you'll be able to integrate faster and lower your maintenance costs.
Some useful tools are also provided, for example PDF processing and image compression.
You can use the client libraries to make API requests following the polling and webhook patterns.
All our client libraries are open-source (MIT license) and hosted on GitHub.
Supported languages/frameworks: Python, Node.js (JS/TS), PHP, Ruby, Java, .NET (C#).
Installation Instructions
Requires Python ≥ 3.9. Python ≥ 3.11 is recommended.
Simply install the PyPi package using pip:
pip install -U mindee~=5.1Requires Node.js ≥ 20.1. Node.js ≥ 22 is recommended.
Simply install the NPM package:
npm install mindee@^5.5.0Requires PHP ≥ 8.1. PHP ≥ 8.3 is recommended.
Simply install the Packagist package using composer:
php composer.phar require "mindee/mindee:>=3.0"Requires Java ≥ 11. Java ≥ 17 is recommended.
Group ID: com.mindee.sdk
Artifact ID: mindee-api-java
Version: 5.2.0 or greater
There are various installation methods, Maven, Gradle, etc:
.NET ≥ 8.0 is recommended.
Simply install the NuGet package using dotnet add:
dotnet add package Mindee --version 4.4Don't see support for your favorite language or framework? Make a feature request!
Usage Details
Overall, the steps to using the Mindee service are:
Initialize the Mindee client.
Set inference parameters, in particular the model ID to use.
Load a file from various supported sources: path, bytes, etc.
Optional: adjust the source file before sending.
Send the file or an URL with the proper parameters.
Optional: load from a webhook.
Optional: access document metadata
Handle the field values extracted from the document
Optional: access field metadata (polygons, confidence score)
Frequently Asked Questions
Can I send requests in parallel?
Yes. All clients can be used to send requests in parallel.
The exact implementation is left to the user:
For Node.js, you'll want to use asynchronous processing.
For all others, you'll want to use threads or processes.
Can I use the v1 and v2 APIs together?
Yes. Each client library has support for both v1 and v2 APIs.
You'll need to make a separate instance of the client classes:
.NET and Java, use
MindeeClientandMindeeClientV2all others, use
ClientandClientV2
The code to make requests and to process results is very different between v1 and v2.
We highly recommend having different files (or even modules) for handling each API version.
Can I send only a specific page of a multi-page PDF?
Yes. All libraries have support for cutting/extracting PDF pages.
For more information, consult: Manipulate PDF Pages.
How to stop PDFs with too many pages from being sent?
Do not use file size, a text PDF with 200 pages can be smaller than a single photo.
Much more reliable to count the actual number of pages in the PDF document.
Use the built-in file metadata methods and properties to easily add business rules based on the number of pages (among other data).
For more information, consult: Source File Metadata.
I'm using a Supabase edge function, should I use the API directly?
We recommend using the Mindee Node.js client library in Supabase.
You can install it in your edge function(s) using npm.
Which library features are officially supported?
Anything documented here is officially supported and is considered stable for production use.
Anything in a library that is not documented here, is not officially supported and subject to change or removal.
There is a bug with the SDK, how can I get help?
If you are encountering a persistant issue, you should try first:
Asking the Docs Assistant for help:
Asking your local agent for help by using one of our SKILL files
After this, if you determine (or are told) there is a problem with the SDK itself, the best bet would be to open a bug report on the relevant SDK's GitHub repository:
Our SDK engineers will be automatically notified of the new issue.
Note: Pro and above plans can contact our support teams directly.
Last updated
Was this helpful?

