Eagle Doc Document Batch Processing OCR API is a powerful tool for extracting structured data from multiple documents in a single request. The API is designed to process a batch of documents in a single request, making it ideal for automating document processing workflows. The API supports a wide range of document types, including invoices, receipts, bank statements, resumes, delivery sheets, and passports. The API is easy to use and provides accurate results with industry-leading accuracy.
We continually refine the algorithm's performance. While the interface retains its current form, there will be no adjustments to the API version. However, distinct version numbers will be evident in the 'version' field of the JSON response.
Server
We currently operate one server in Frankfurt, Germany. This server is supported by a load balancer, allowing it to scale smoothly based on the workload. If you require a dedicated server or specific location, please get in touch with us.
Document Batching Processing OCR Endpoints
Finance Document Batch OCR API - version 1 (v1)
This end point allows you to send task for batch processing finance documents (receipts & invoices).
Click the following box to see the detailed description of this API if the box is not expanded.
Parameters
api-key (header) |
API key which you will receive with your subscription here |
file (form-data) |
Files of the receipts or invoices. To be sent in the body as form-data with the key 'file'. If the document has multiple pages, you can attach them all as separate image files (supported image formats include: png, jpg, tif) or as a PDF.
|
privacy (query parameter) |
Boolean (true, false) to indicate if the uploaded file is stored on the server to further enhance the algorithm or not. 'true' means that the file is not stored, 'false' means that the file is stored. The default value is false. To change, you can set it: &privacy=true |
docType (query parameter) |
If you know the document type of the document, set the value of docType to get expected results. The docType can be: Invoice, Receipt. |
polygon (query parameter) |
Boolean (true, false) to indicate if you want to receive coordinate information of the extracted data. The data provides you with the ability to draw polygons around the extracted text on the input file. The default value is false. To change, you can set it: &polygon=true |
fullText (query parameter) |
Boolean (true, false) to indicate if you want to receive the full text of the extracted data. The data will be an array of strings per page (in case of multiple pages of the receipt/invoice). The data can be used for example to make receipts/invoices searchable in your database. The default value is false. To change, otherwise you can set it: &fullText=true |
Responses
200 |
OK is returned to indicate that the task of batch processing receipts/invoices was created successfully.
The response contains the following fields:
createdTime |
The time when the task was received and created. |
finishedTime |
The time when the task was finished. |
numberOfFiles |
The number of files submitted for this task |
numberOfPages |
The number of pages of files submitted for this task |
result |
Placeholder for carrying the result when the task is designed to process one document, which has one result for the input files. Not applicable here, therefore, result will not be filled. |
results |
When the task is finished in processing documents, the results will be assigned with an array of structured results in json format. |
queryParams |
Contains a list of key value pairs to record the query parameters of the task. The keys are endpoint, privacy, docType, polygon, and fullText.
|
messages |
messages from the system for the user to inform any issues about this task. |
status |
Status of the task, the value can be "Received", "Processing", "Error", "Finished". |
An example of how task looks like:
{
"id": "TaskMultiDocs-6430682530dc4b73a840bd81-2025-03-14T074724430Z-1Fw5m6ff",
"createdTime": "2025-03-14T07:47:24.429Z",
"finishedTime": null,
"numberOfFiles": 2,
"numberOfPages": 2,
"result": null,
"results": null,
"queryParams": {
"privacy": "false",
"fullText": "false",
"endpoint": "api/finance/extract/batch/task",
"polygon": "false",
"docType": ""
},
"messages": null,
"status": "Received"
}
|
403 |
BadCredentialException is used to indicate that for example the API key is not valid.
|
404 |
FileNotFoundException is used to indicate that there is no file found.
|
405 |
MethodNotAllowedException: Access to the API not allowed. There are multiple reasons possible: you reached the agreed quota, your contract expired or another internal error. Please contact us if the error persists.
|
500 |
InternalServerErrorException is used to indicate that something went wrong. Reason is not known.
|
Any Doc Document Batch OCR API - version 1 (v1)
This end point allows you to send task for batch processing any type documents, ranging from bank statements, delivery sheets, resumes, passports, documents with customised extraction configuration and so on.
Click the following box to see the detailed description of this API if the box is not expanded.
Parameters
api-key (header) |
API key which you will receive with your subscription here |
file (form-data) |
Files of the receipts or invoices. To be sent in the body as form-data with the key 'file'. If the document has multiple pages, you can attach them all as separate image files (supported image formats include: png, jpg, tif) or as a PDF.
|
privacy (query parameter) |
Boolean (true, false) to indicate if the uploaded file is stored on the server to further enhance the algorithm or not. 'true' means that the file is not stored, 'false' means that the file is stored. The default value is false. To change, you can set it: &privacy=true |
configId (query parameter) |
String to indicate the configuration you want to use for extract those documents. If configId is set, the extraction is supposed to be customised to your specific need. The configId you will get from Eagle Doc Team. If the documents are standard types which supported by Eagle Doc, and the extractions meet your need, you can leave this parameter empty. |
docType (query parameter) |
If you know the document type of the document, set the value of docType to get stable results. The docType can be: BankStatement, TravelTicket, Passport, BusinessCard, EmployeeIDCard, StudentIDCard, DrivingLicense, BirthCertificate, DeliverySheet, Resume. |
Responses
200 |
OK is returned to indicate that the task of batch processing documents was created successfully.
The response contains the following fields:
createdTime |
The time when the task was received and created. |
finishedTime |
The time when the task was finished. |
numberOfFiles |
The number of files submitted for this task |
numberOfPages |
The number of pages of files submitted for this task |
result |
Placeholder for carrying the result when the task is designed to process one document, which has one result for the input files. Not applicable here, therefore, result will not be filled. |
results |
When the task is finished in processing documents, the results will be assigned with an array of structured results in json format. |
queryParams |
Contains a list of key value pairs to record the query parameters of the task. The keys are endpoint, privacy, docType, polygon, and fullText.
|
messages |
messages from the system for the user to inform any issues about this task. |
status |
Status of the task, the value can be "Received", "Processing", "Error", "Finished". |
An example of how task looks like:
{
"id": "TaskMultiDocs-6430682530dc4b73a840bd81-2025-03-14T074724430Z-1Fw5m6ff",
"createdTime": "2025-03-14T07:47:24.429Z",
"finishedTime": null,
"numberOfFiles": 2,
"numberOfPages": 2,
"result": null,
"results": null,
"queryParams": {
"privacy": "false",
"fullText": "false",
"endpoint": "api/anydoc/extract/batch/task",
"polygon": "false",
"docType": ""
},
"messages": null,
"status": "Received"
}
|
403 |
BadCredentialException is used to indicate that for example the API key is not valid.
|
404 |
FileNotFoundException is used to indicate that there is no file found.
|
405 |
MethodNotAllowedException: Access to the API not allowed. There are multiple reasons possible: you reached the agreed quota, your contract expired or another internal error. Please contact us if the error persists.
|
500 |
InternalServerErrorException is used to indicate that something went wrong. Reason is not known.
|
Results Check API of Batch Processing OCR- version 1 (v1)
The submitted tasks are queued and will be processed when the resources allow. This end point allows you to check the status and results of the task you has submitted to batch process your documents.
Click the following box to see the detailed description of this API if the box is not expanded.
Parameters
api-key (header) |
API key which you will receive with your subscription here |
taskId (query parameter) |
Id of the task you got when you submitted documents for batch processing |
Responses
200 |
OK is returned to indicate that the task of batch processing receipts/invoices was created successfully.
The response contains the following fields:
createdTime |
The time when the task was received and created. |
finishedTime |
The time when the task was finished. |
numberOfFiles |
The number of files submitted for this task |
numberOfPages |
The number of pages of files submitted for this task |
result |
Placeholder for carrying the result when the task is designed to process one document, which has one result for the input files. Not applicable here, therefore, result will not be filled. |
results |
When the task is finished in processing documents, the results will be assigned with an array of structured results in json format. |
queryParams |
Contains a list of key value pairs to record the query parameters of the task. The keys are endpoint, privacy, docType, polygon, and fullText.
|
messages |
messages from the system for the user to inform any issues about this task. |
status |
Status of the task, the value can be "Received", "Processing", "Error", "Finished". |
An example of how task looks like:
{
"id": "TaskMultiDocs-6430682530dc4b73a840bd81-2025-03-14T074724430Z-1Fw5m6ff",
"createdTime": "2025-03-14T07:47:24.429Z",
"finishedTime": null,
"numberOfFiles": 2,
"numberOfPages": 2,
"result": null,
"results": null,
"queryParams": {
"privacy": "false",
"fullText": "false",
"endpoint": "api/finance/extract/batch/task",
"polygon": "false",
"docType": ""
},
"messages": null,
"status": "Received"
}
|
403 |
BadCredentialException is used to indicate that for example the API key is not valid.
|
404 |
FileNotFoundException is used to indicate that there is no file found.
|
405 |
MethodNotAllowedException: Access to the API not allowed. There are multiple reasons possible: you reached the agreed quota, your contract expired or another internal error. Please contact us if the error persists.
|
500 |
InternalServerErrorException is used to indicate that something went wrong. Reason is not known.
|
Results Check API of Batch Processing OCR- version 1 (v1)
The submitted tasks are queued and will be processed when the resources allow. This end point allows you to check the status and results of all the tasks you has submitted to batch process your documents.
Click the following box to see the detailed description of this API if the box is not expanded.
Parameters
api-key (header) |
API key which you will receive with your subscription here |
Responses
200 |
OK is returned to indicate that the task of batch processing receipts/invoices was created successfully.
The response contains the following fields:
createdTime |
The time when the task was received and created. |
finishedTime |
The time when the task was finished. |
numberOfFiles |
The number of files submitted for this task |
numberOfPages |
The number of pages of files submitted for this task |
result |
Placeholder for carrying the result when the task is designed to process one document, which has one result for the input files. Not applicable here, therefore, result will not be filled. |
results |
When the task is finished in processing documents, the results will be assigned with an array of structured results in json format. |
queryParams |
Contains a list of key value pairs to record the query parameters of the task. The keys are endpoint, privacy, docType, polygon, and fullText.
|
messages |
messages from the system for the user to inform any issues about this task. |
status |
Status of the task, the value can be "Received", "Processing", "Error", "Finished". |
An example of how task looks like:
{
"id": "TaskMultiDocs-6430682530dc4b73a840bd81-2025-03-14T074724430Z-1Fw5m6ff",
"createdTime": "2025-03-14T07:47:24.429Z",
"finishedTime": null,
"numberOfFiles": 2,
"numberOfPages": 2,
"result": null,
"results": null,
"queryParams": {
"privacy": "false",
"fullText": "false",
"endpoint": "api/finance/extract/batch/task",
"polygon": "false",
"docType": ""
},
"messages": null,
"status": "Received"
}
|
403 |
BadCredentialException is used to indicate that for example the API key is not valid.
|
404 |
FileNotFoundException is used to indicate that there is no file found.
|
405 |
MethodNotAllowedException: Access to the API not allowed. There are multiple reasons possible: you reached the agreed quota, your contract expired or another internal error. Please contact us if the error persists.
|
500 |
InternalServerErrorException is used to indicate that something went wrong. Reason is not known.
|
Batch Processing Task Delete API - version 1 (v1)
The submitted tasks are queued and will be processed when the resources allow. This end point allows you to delete the task you has submitted to batch process your documents.
Click the following box to see the detailed description of this API if the box is not expanded.
Parameters
api-key (header) |
API key which you will receive with your subscription here |
taskId (query parameter) |
Id of the task you got when you submitted documents for batch processing |
Responses
200 |
OK is returned to indicate that the task of batch processing receipts/invoices was created successfully.
|
403 |
BadCredentialException is used to indicate that for example the API key is not valid.
|
404 |
FileNotFoundException is used to indicate that there is no file found.
|
405 |
MethodNotAllowedException: Access to the API not allowed. There are multiple reasons possible: you reached the agreed quota, your contract expired or another internal error. Please contact us if the error persists.
|
500 |
InternalServerErrorException is used to indicate that something went wrong. Reason is not known.
|
API of delete Batch Processing Tasks - version 1 (v1)
The submitted tasks are queued and will be processed when the resources allow. This end point allows you to delete all the tasks you has submitted to batch process your documents.
Click the following box to see the detailed description of this API if the box is not expanded.
Parameters
api-key (header) |
API key which you will receive with your subscription here |
Responses
200 |
OK is returned to indicate that the task of batch processing receipts/invoices was created successfully.
|
403 |
BadCredentialException is used to indicate that for example the API key is not valid.
|
404 |
FileNotFoundException is used to indicate that there is no file found.
|
405 |
MethodNotAllowedException: Access to the API not allowed. There are multiple reasons possible: you reached the agreed quota, your contract expired or another internal error. Please contact us if the error persists.
|
500 |
InternalServerErrorException is used to indicate that something went wrong. Reason is not known.
|