Server

Our API infrastructure is hosted in Frankfurt, Germany, ensuring high performance and data sovereignty. The system is architected for reliability and scalability. For enterprise requirements, such as dedicated instances or specific geographic locations, please contact us.

alternative


Any Doc OCR API - version 1 (v1)

This endpoint converts images or files of any document into structure information in JSON format. By given parameter "configId", this API can extract the key information based on the customization information defined under config with "configId". By given parameter "docType", this API can extract correspondent key information associated with "docType". If neither "configId" nor "docType" is given, this API first classify the document into one docType. And then extract the structure information.

Click the following box to see the detailed description of this API if the box is not expanded.

Parameters
Name Description
api-key (header) API key which you will receive with your subscription here
file (form-data) The document to process. To be sent in the body as form-data with the key 'file'. Supported formats: PNG, JPG/JPEG, TIF/TIFF and PDF. If the document has multiple pages, you can attach them all as separate image files, as a multi-page TIFF or as a PDF. The limit is 200 MB per file and 200 MB per request.
privacy (query parameter) Boolean (true, false) to indicate whether the uploaded file is stored on the server to further enhance the algorithm or not. 'true' means the file is not stored, 'false' means the file is stored. The default value is true, so by default nothing is kept. To change, you can set it: &privacy=false. Note that saveResult=true stores the file as well, independently of this parameter.
saveResult (query parameter) Boolean (true, false). If set to 'true', the extraction result is persisted as a record in your Eagle Doc account and the uploaded file is stored, so that you can retrieve, review and correct it later. The default value is false.
configId (query parameter) String to indicate the configuration you want to use for extract the document. 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. The value is case sensitive and has to be spelled exactly as listed above.
Responses
Code Description
200 OK is returned to indicate that the document was processed successfully.

The response contains the following fields:
Field Name Description
docType Type of the document: BankStatement, TravelTicket, Passport, BusinessCard, EmployeeIdCard, StudentIdCard, DrivingLicense, BirthCertificate, DeliverySheet, Resume or your customised definition of the document type
general Summarizes general information about the document, which includes an array of key-value pairs.
Possible keys depend on the document type. For example, for a bank statement, the keys can be: BankName, AccountHolderName, AccountNumber, StatementPeriod, OpeningBalance, ClosingBalance, TotalDeposits, TotalWithdrawals, BranchAddress, BranchCode, IFSCCode, MICRCode, SWIFTCode, Currency, AccountType, InterestEarned, FeesCharged, MinimumBalanceRequired, AccountStatus
lists Contains an array of the expected extractions. Each list is an array of key-value pairs.
Possible list types depend on the document type. For example, for a bank statement, the list types can be: TransactionList
signatures Only present for document types for which signature detection is enabled. Contains one entry per detected signature. See the signature extraction documentation for the structure.
verification Automatic plausibility checks on the extracted document. Each entry has the shape {"flagValid": true|false, "message": "..."}.
The key NonDuplication is always returned: flagValid is false when the very same file was already sent to the API by your account before, and the message then lists when it was processed.
processingInfo Here contains the processing information of the document. It includes a list of key value pairs. The keys are Language, Version, FileHash, Duration, NumberOfPages, DocType and DocConfigId.

An example result from a bank statement can look like this:

                                
                                {
                                    "docType": "BankStatement",
                                    "general": {
                                        "BankName": "CHASE",
                                        "AccountHolderName": "VICTOR FRANCO",
                                        "AccountNumber": "000000797746625",
                                        "StatementPeriod": "2009-07-23 to 2009-08-24",
                                        "OpeningBalance": "408.86",
                                        "ClosingBalance": "916.03",
                                        "TotalDeposits": "1,579.48",
                                        "TotalWithdrawals": "682.31",
                                        "BranchAddress": "6962 W PALO VERDE DR\nGLENDALE AZ 85303-4405",
                                        "BranchCode": "",
                                        "IFSCCode": "",
                                        "MICRCode": "",
                                        "SWIFTCode": "",
                                        "Currency": "USD",
                                        "AccountType": "Checking",
                                        "InterestEarned": "",
                                        "FeesCharged": "",
                                        "MinimumBalanceRequired": "",
                                        "AccountStatus": ""
                                    },
                                    "lists": {
                                        "TransactionList": [
                                            {
                                                "TransactionAmount": "331.00",
                                                "TransactionType": "Deposit",
                                                "TransactionDescription": "Deposit 551611914",
                                                "TransactionDate": "2009-07-27"
                                            },
                                            {
                                                "TransactionAmount": "391.50",
                                                "TransactionType": "Deposit",
                                                "TransactionDescription": "Deposit 23203176",
                                                "TransactionDate": "2009-08-06"
                                            }
                                        ]
                                    },
                                    "verification": {
                                        "NonDuplication": {
                                            "flagValid": true,
                                            "message": "No previous fresh uploads found with the same file hash."
                                        }
                                    },
                                    "processingInfo": {
                                        "Language": "en",
                                        "Version": "3.01.12",
                                        "FileHash": "199b7bad9b61cfb94c53871830b23281",
                                        "Duration": "7.032",
                                        "NumberOfPages": "1",
                                        "DocType": "BankStatement",
                                        "DocConfigId": "665f1c2e9a4b3d0012ab34cd"
                                    }
                                }
                                
400 The request is malformed. Most often the body is not multipart form-data, or it contains no field with the key 'file' (messageCode 2011). A body that cannot be parsed returns messageCode 3002.
403 Access to the API is not allowed. Possible reasons: you reached the agreed quota or your contract expired (messageCode 3001), your account is not active (3004), your Stripe subscription is not valid (3005), or the business API key is unknown or revoked (3009).
404 Either the API key was not found (messageCode 3003), no file was found in the request (2000, 2006), or the configId you passed does not exist (7006).
406 The file format is not supported (messageCode 2003). Only PNG, JPG/JPEG, TIF/TIFF and PDF are accepted.
413 The request exceeds the upload limit of 200 MB per file or 200 MB per request (messageCode 2001). Please split the document into several requests or reduce the image resolution.
422 The file was accepted but could not be processed. Possible reasons: no readable content in the document (messageCode 2004), an image resolution outside the supported range of 50x50 to 10000x10000 pixels (2012), image data that cannot be decoded (2013), a file that is too large for the text recognition step (2014), or a docType that is not available for your account (5000).
500 Something went wrong on our side and the reason is not known (messageCode 1001). Please contact us if the error persists.
503 The text recognition service is temporarily unavailable or rate limited (messageCode 2015). Please retry in a few minutes.



Any Doc OCR API - version 2 (v2)

This endpoint does the same extraction as version 1, but returns every extracted field as a grounded value: next to the value itself you also receive how confident the extraction is, how confident the text recognition was, on which page the value was found and the polygon of the position on that page. This lets you highlight the source of every field in your own viewer and route only the uncertain fields to a human reviewer. Use version 1 if you only need the plain values.

Click the following box to see the detailed description of this API if the box is not expanded.

Parameters
Name Description
api-key (header) API key which you will receive with your subscription here
file (form-data) The document to process. To be sent in the body as form-data with the key 'file'. Supported formats: PNG, JPG/JPEG, TIF/TIFF and PDF. If the document has multiple pages, you can attach them all as separate image files, as a multi-page TIFF or as a PDF. The limit is 200 MB per file and 200 MB per request.
privacy (query parameter) Boolean (true, false) to indicate whether the uploaded file is stored on the server to further enhance the algorithm or not. 'true' means the file is not stored, 'false' means the file is stored. The default value is true, so by default nothing is kept. To change, you can set it: &privacy=false. Note that saveResult=true stores the file as well, independently of this parameter.
saveResult (query parameter) Boolean (true, false). If set to 'true', the extraction result is persisted as a record in your Eagle Doc account and the uploaded file is stored, so that you can retrieve, review and correct it later. The default value is false.
configId (query parameter) String to indicate the configuration you want to use for extract the document. 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. The value is case sensitive and has to be spelled exactly as listed above. If neither docType nor configId is given, the document is classified first and then extracted.
Responses
Code Description
200 OK is returned to indicate that the document was processed successfully.

The response contains the following fields:
Field Name Description
docType Type of the document: BankStatement, TravelTicket, Passport, BusinessCard, EmployeeIdCard, StudentIdCard, DrivingLicense, BirthCertificate, DeliverySheet, Resume or your customised definition of the document type
general General information about the document as key-value pairs. In contrast to version 1, the value of each key is not a plain string but a grounded field object (see the table below).
Possible keys depend on the document type.
lists The repeating parts of the document, for example the transactions of a bank statement or the positions of a delivery sheet. Each list is an array of rows, and every cell of a row is a grounded field object.
signatures Only present for document types for which signature detection is enabled. Contains one entry per detected signature. See the signature extraction documentation for the structure.
qrCodes Only present when QR code and barcode extraction is enabled for the document type. Each entry contains the decoded message, the page, the bounding box in pixels and the same box normalized to values between 0 and 1.
fullText The complete recognized text, one entry per page. This is returned in the response only and is never stored with the record.
verification Automatic plausibility checks on the extracted document. Each entry has the shape {"flagValid": true|false, "message": "..."}.
The key NonDuplication is always returned: flagValid is false when the very same file was already sent to the API by your account before, and the message then lists when it was processed. Depending on the document type you may also receive VAT, TaxPercentage, ProductsSumVsTotalPrice and ReverseCharge.
processingInfo The processing information of the document as key value pairs. The keys are Language, Version, FileHash, Duration, NumberOfPages, DocType, DocConfigId, SignatureDetectionEnabled, AgenticLoopCount and LLMPriceLevel.

Every value in general and in the rows of lists is a grounded field with the following structure:
Field Name Description
value The extracted value. Numbers and dates are returned in a canonical form. null when the field could not be found in the document.
confidence How certain the extraction is about this value: 'H' (high), 'M' (medium) or 'L' (low). A good starting point for a review workflow is to let a person check everything that is not 'H'.
ocrConfidence How well the text recognition could read the underlying text, between 0.0 and 1.0. This is independent of 'confidence'. It is null when the value was not taken literally from the page, for example when it was calculated.
page The page on which the value was found, starting at 1. null when the value is not bound to a position.
polygon The position of the value on that page as four corner points p1 to p4. Each point is given as [x, y] with values between 0 and 1 relative to the page, so you can draw the box without knowing the resolution of the image. null when the value is not bound to a position.
agentRounds Only filled when the agentic review is enabled for your account. It documents per review round which value was seen and why it was kept or corrected, so that a decision can be traced afterwards.

An example result can look like this:

                                
                                {
                                    "docType": "DeliverySheet",
                                    "general": {
                                        "DeliveryNoteNumber": {
                                            "value": "LS-2024-04711",
                                            "confidence": "H",
                                            "ocrConfidence": 0.98,
                                            "page": 1,
                                            "polygon": {
                                                "p1": [0.612, 0.144],
                                                "p2": [0.781, 0.144],
                                                "p3": [0.781, 0.167],
                                                "p4": [0.612, 0.167]
                                            },
                                            "agentRounds": []
                                        },
                                        "DeliveryDate": {
                                            "value": "2024-03-18",
                                            "confidence": "H",
                                            "ocrConfidence": 0.96,
                                            "page": 1,
                                            "polygon": {
                                                "p1": [0.612, 0.181],
                                                "p2": [0.744, 0.181],
                                                "p3": [0.744, 0.204],
                                                "p4": [0.612, 0.204]
                                            },
                                            "agentRounds": []
                                        }
                                    },
                                    "lists": {
                                        "ProductList": [
                                            {
                                                "ProductName": {
                                                    "value": "Aluminium profile 40x40",
                                                    "confidence": "H",
                                                    "ocrConfidence": 0.94,
                                                    "page": 1,
                                                    "polygon": {
                                                        "p1": [0.133, 0.452],
                                                        "p2": [0.455, 0.452],
                                                        "p3": [0.455, 0.474],
                                                        "p4": [0.133, 0.474]
                                                    },
                                                    "agentRounds": []
                                                },
                                                "Quantity": {
                                                    "value": "12",
                                                    "confidence": "M",
                                                    "ocrConfidence": 0.71,
                                                    "page": 1,
                                                    "polygon": {
                                                        "p1": [0.634, 0.452],
                                                        "p2": [0.668, 0.452],
                                                        "p3": [0.668, 0.474],
                                                        "p4": [0.634, 0.474]
                                                    },
                                                    "agentRounds": []
                                                }
                                            }
                                        ]
                                    },
                                    "verification": {
                                        "NonDuplication": {
                                            "flagValid": true,
                                            "message": "No previous fresh uploads found with the same file hash."
                                        }
                                    },
                                    "fullText": [
                                        "Lieferschein LS-2024-04711 ..."
                                    ],
                                    "processingInfo": {
                                        "Language": "de",
                                        "Version": "3.01.12",
                                        "FileHash": "199b7bad9b61cfb94c53871830b23281",
                                        "Duration": "9.418",
                                        "NumberOfPages": "1",
                                        "DocType": "DeliverySheet",
                                        "DocConfigId": "665f1c2e9a4b3d0012ab34cd",
                                        "AgenticLoopCount": 0,
                                        "SignatureDetectionEnabled": false
                                    }
                                }
                                
400 The request is malformed. Most often the body is not multipart form-data, or it contains no field with the key 'file' (messageCode 2011). A body that cannot be parsed returns messageCode 3002.
403 Access to the API is not allowed. Possible reasons: you reached the agreed quota or your contract expired (messageCode 3001), your account is not active (3004), your Stripe subscription is not valid (3005), or the business API key is unknown or revoked (3009).
404 Either the API key was not found (messageCode 3003), no file was found in the request (2000, 2006), or the configId you passed does not exist (7006).
406 The file format is not supported (messageCode 2003). Only PNG, JPG/JPEG, TIF/TIFF and PDF are accepted.
413 The request exceeds the upload limit of 200 MB per file or 200 MB per request (messageCode 2001). Please split the document into several requests or reduce the image resolution.
422 The file was accepted but could not be processed. Possible reasons: no readable content in the document (messageCode 2004), an image resolution outside the supported range of 50x50 to 10000x10000 pixels (2012), image data that cannot be decoded (2013), a file that is too large for the text recognition step (2014), or a docType that is not available for your account (5000).
500 Something went wrong on our side and the reason is not known (messageCode 1001). Please contact us if the error persists.
503 The text recognition service is temporarily unavailable or rate limited (messageCode 2015). Please retry in a few minutes.



Any Doc Classification API - version 1 (v1)

This endpoint only determines what kind of document you uploaded, without extracting any content from it. Use it when you receive a mixed stream of documents and want to route each of them to the right process before you extract it. If you want the document type and the content in one call, use the Any Doc OCR API above instead, which classifies the document automatically when no docType is given.

Click the following box to see the detailed description of this API if the box is not expanded.

Parameters
Name Description
api-key (header) API key which you will receive with your subscription here
file (form-data) The document to classify. To be sent in the body as form-data with the key 'file'. Supported formats: PNG, JPG/JPEG, TIF/TIFF and PDF. If the document has multiple pages, you can attach them all as separate image files, as a multi-page TIFF or as a PDF. The limit is 200 MB per file and 200 MB per request.
privacy (query parameter) Boolean (true, false) to indicate whether the uploaded file is stored on the server to further enhance the algorithm or not. 'true' means the file is not stored, 'false' means the file is stored. The default value is true, so by default nothing is kept. To change, you can set it: &privacy=false
Responses
Code Description
200 OK is returned to indicate that the document was classified successfully.

The response contains the following fields:
Field Name Description
DocType The recognized type of the document, for example BankStatement, TravelTicket, Passport, BusinessCard, EmployeeIdCard, StudentIdCard, DrivingLicense, BirthCertificate, DeliverySheet, Resume, Invoice or Receipt. You can pass this value straight into the docType parameter of the Any Doc OCR API. It is empty when the document could not be assigned to a type.
NumberOfPages The number of pages that were processed. This is the number of pages that is charged against your quota.
FileHash Checksum over the uploaded files. You can use it to recognize that you sent the very same document before.
Duration Processing time of the request in seconds.
Version Version of the Eagle Doc engine that processed the request.

An example result can look like this:

                                
                                {
                                    "DocType": "BankStatement",
                                    "NumberOfPages": 1,
                                    "FileHash": "199b7bad9b61cfb94c53871830b23281",
                                    "Duration": 3.184,
                                    "Version": "3.01.12"
                                }
                                
400 The request is malformed. Most often the body is not multipart form-data, or it contains no field with the key 'file' (messageCode 2011). A body that cannot be parsed returns messageCode 3002.
403 Access to the API is not allowed. Possible reasons: you reached the agreed quota or your contract expired (messageCode 3001), your account is not active (3004), your Stripe subscription is not valid (3005), or the business API key is unknown or revoked (3009).
404 Either the API key was not found (messageCode 3003), no file was found in the request (2000, 2006), or the configId you passed does not exist (7006).
406 The file format is not supported (messageCode 2003). Only PNG, JPG/JPEG, TIF/TIFF and PDF are accepted.
413 The request exceeds the upload limit of 200 MB per file or 200 MB per request (messageCode 2001). Please split the document into several requests or reduce the image resolution.
422 The file was accepted but could not be processed. Possible reasons: no readable content in the document (messageCode 2004), an image resolution outside the supported range of 50x50 to 10000x10000 pixels (2012), image data that cannot be decoded (2013), a file that is too large for the text recognition step (2014), or a docType that is not available for your account (5000).
500 Something went wrong on our side and the reason is not known (messageCode 1001). Please contact us if the error persists.
503 The text recognition service is temporarily unavailable or rate limited (messageCode 2015). Please retry in a few minutes.



Bank Statement OCR API - version 1 (v1)

This endpoint converts images or files of a bank statement into structure information in JSON format. Parameter "docType" should be set as "BankStatement".

Click the following box to see the detailed description of this API if the box is not expanded.

Parameters
Name Description
api-key (header) API key which you will receive with your subscription here
file (form-data) The document to process. To be sent in the body as form-data with the key 'file'. Supported formats: PNG, JPG/JPEG, TIF/TIFF and PDF. If the document has multiple pages, you can attach them all as separate image files, as a multi-page TIFF or as a PDF. The limit is 200 MB per file and 200 MB per request.
privacy (query parameter) Boolean (true, false) to indicate whether the uploaded file is stored on the server to further enhance the algorithm or not. 'true' means the file is not stored, 'false' means the file is stored. The default value is true, so by default nothing is kept. To change, you can set it: &privacy=false. Note that saveResult=true stores the file as well, independently of this parameter.
saveResult (query parameter) Boolean (true, false). If set to 'true', the extraction result is persisted as a record in your Eagle Doc account and the uploaded file is stored, so that you can retrieve, review and correct it later. The default value is false.
docType (query parameter) Since the target document is a bank statement, docType should be set as 'BankStatement'
Responses
Code Description
200 OK is returned to indicate that the bank statement was processed successfully.

The response contains the following fields:
Field Name Description
docType Type of the document: BankStatement, TravelTicket, Passport, BusinessCard, EmployeeIDCard, StudentIDCard, DrivingLicense, BirthCertificate, DeliverySheet, Resume or your customised definition of the document type
general Summarizes general information about the document, which includes an array of key-value pairs.
For a bank statement, the keys can be: BankName, AccountHolderName, AccountNumber, StatementPeriod, OpeningBalance, ClosingBalance, TotalDeposits, TotalWithdrawals, BranchAddress, BranchCode, IFSCCode, MICRCode, SWIFTCode, Currency, AccountType, InterestEarned, FeesCharged, MinimumBalanceRequired, AccountStatus
lists Contains an array of the expected extractions. Each list is an array of key-value pairs.
For a bank statement, the list types contains: TransactionList (with keys: TransactionAmount, TransactionType, TransactionDescription, TransactionDate)
processingInfo Here contains the processing information of the document. It includes a list of key value pairs. The keys are Language, Version, FileHash, Duration, NumberOfPages, and DocType.

An example result from a bank statement can look like this:

                                
                                {
                                    "docType": "BankStatement",
                                    "general": {
                                        "BankName": "CHASE",
                                        "AccountHolderName": "VICTOR FRANCO",
                                        "AccountNumber": "000000797746625",
                                        "StatementPeriod": "2009-07-23 to 2009-08-24",
                                        "OpeningBalance": "408.86",
                                        "ClosingBalance": "916.03",
                                        "TotalDeposits": "1,579.48",
                                        "TotalWithdrawals": "682.31",
                                        "BranchAddress": "6962 W PALO VERDE DR\nGLENDALE AZ 85303-4405",
                                        "BranchCode": "",
                                        "IFSCCode": "",
                                        "MICRCode": "",
                                        "SWIFTCode": "",
                                        "Currency": "USD",
                                        "AccountType": "Checking",
                                        "InterestEarned": "",
                                        "FeesCharged": "",
                                        "MinimumBalanceRequired": "",
                                        "AccountStatus": ""
                                    },
                                    "lists": {
                                        "TransactionList": [
                                            {
                                                "TransactionAmount": "331.00",
                                                "TransactionType": "Deposit",
                                                "TransactionDescription": "Deposit 551611914",
                                                "TransactionDate": "2009-07-27"
                                            },
                                            {
                                                "TransactionAmount": "391.50",
                                                "TransactionType": "Deposit",
                                                "TransactionDescription": "Deposit 23203176",
                                                "TransactionDate": "2009-08-06"
                                            }
                                        ]
                                    },
                                    "verification": {
                                        "NonDuplication": {
                                            "flagValid": true,
                                            "message": "No previous fresh uploads found with the same file hash."
                                        }
                                    },
                                    "processingInfo": {
                                        "Language": "en",
                                        "Version": "3.01.12",
                                        "FileHash": "199b7bad9b61cfb94c53871830b23281",
                                        "Duration": "7.032",
                                        "NumberOfPages": "1",
                                        "DocType": "BankStatement",
                                        "DocConfigId": "665f1c2e9a4b3d0012ab34cd"
                                    }
                                }
                                
400 The request is malformed. Most often the body is not multipart form-data, or it contains no field with the key 'file' (messageCode 2011). A body that cannot be parsed returns messageCode 3002.
403 Access to the API is not allowed. Possible reasons: you reached the agreed quota or your contract expired (messageCode 3001), your account is not active (3004), your Stripe subscription is not valid (3005), or the business API key is unknown or revoked (3009).
404 Either the API key was not found (messageCode 3003), no file was found in the request (2000, 2006), or the configId you passed does not exist (7006).
406 The file format is not supported (messageCode 2003). Only PNG, JPG/JPEG, TIF/TIFF and PDF are accepted.
413 The request exceeds the upload limit of 200 MB per file or 200 MB per request (messageCode 2001). Please split the document into several requests or reduce the image resolution.
422 The file was accepted but could not be processed. Possible reasons: no readable content in the document (messageCode 2004), an image resolution outside the supported range of 50x50 to 10000x10000 pixels (2012), image data that cannot be decoded (2013), a file that is too large for the text recognition step (2014), or a docType that is not available for your account (5000).
500 Something went wrong on our side and the reason is not known (messageCode 1001). Please contact us if the error persists.
503 The text recognition service is temporarily unavailable or rate limited (messageCode 2015). Please retry in a few minutes.



Resume OCR API - version 1 (v1)

This endpoint converts images or files of a resume into structure information in JSON format. Parameter "docType" should be set as "Resume".

Click the following box to see the detailed description of this API if the box is not expanded.

Parameters
Name Description
api-key (header) API key which you will receive with your subscription here
file (form-data) The document to process. To be sent in the body as form-data with the key 'file'. Supported formats: PNG, JPG/JPEG, TIF/TIFF and PDF. If the document has multiple pages, you can attach them all as separate image files, as a multi-page TIFF or as a PDF. The limit is 200 MB per file and 200 MB per request.
privacy (query parameter) Boolean (true, false) to indicate whether the uploaded file is stored on the server to further enhance the algorithm or not. 'true' means the file is not stored, 'false' means the file is stored. The default value is true, so by default nothing is kept. To change, you can set it: &privacy=false. Note that saveResult=true stores the file as well, independently of this parameter.
saveResult (query parameter) Boolean (true, false). If set to 'true', the extraction result is persisted as a record in your Eagle Doc account and the uploaded file is stored, so that you can retrieve, review and correct it later. The default value is false.
docType (query parameter) Since the target document is a resume, docType should be set as 'Resume'
Responses
Code Description
200 OK is returned to indicate that the resume was processed successfully.

The response contains the following fields:
Field Name Description
docType Type of the document: BankStatement, TravelTicket, Passport, BusinessCard, EmployeeIDCard, StudentIDCard, DrivingLicense, BirthCertificate, DeliverySheet, Resume or your customised definition of the document type
general Summarizes general information about the document, which includes an array of key-value pairs.
For a resume, the keys can be: FullName, Email, Phone, Address, Street, City, State, Zip, Country, LinkedIn, GitHub, Url, Objective, Summary, Hobbies, ProgrammingLanguages
lists Contains an array of the expected extractions. Each list is an array of key-value pairs.
For a resume, the list types contains: EducationList (with keys: StartDate, EndDate, DegreeName, InstitutionName, City, State, Country, Description, GPA, Majors, Minors, Honors), WorkExperienceList (with keys: StartDate, EndDate, City, State, Country, JobTitle, Employer, Description, Achievements, Responsibilities, SkillsTools), VolunteerExperienceList (with keys: StartDate, EndDate, City, State, Country, JobTitle, Employer, Description, Achievements), PublicationList (with keys: Date, Title, Authors, Journal), CertificationList (with keys: Date, Title, Institution), HardSkillList (with keys: Skill, SkillLevel), SoftSkillList (with keys: Skill, SkillLevel), LanguageList (with keys: Language, LanguageLevel)
processingInfo Here contains the processing information of the document. It includes a list of key value pairs. The keys are Language, Version, FileHash, Duration, NumberOfPages, and DocType.

An example result from a resume can look like this:

                            
                            {
                                "docType": "Resume",
                                "general": {
                                    "FullName": "Melanie Robinson",
                                    "Email": "MELANIE.ROBINSON@MAIL.COM",
                                    "Phone": "+1 (970) 333-3833",
                                    "Address": "",
                                    "Street": "344 ELM STREET",
                                    "City": "MADISON",
                                    "State": "SD",
                                    "Zip": "57042",
                                    "Country": "",
                                    "LinkedIn": "",
                                    "GitHub": "",
                                    "Url": "",
                                    "Objective": "",
                                    "Summary": "Qualified Customer Service Representative with over 4 years in fast-paced customer service and call center environments. As a customer service representative I am personable good at building loyal relationships, solving problems, and Increasing Sales. I also excel in listening to customer needs, articulating product benefits and creating solutions that provide value to the customer.",
                                    "Hobbies": "",
                                    "ProgrammingLanguages": ""
                                },
                                "lists": {
                                    "EducationList": [
                                        {
                                            "StartDate": null,
                                            "Description": null,
                                            "InstitutionName": "Marketing Oregon State University",
                                            "Honors": null,
                                            "State": null,
                                            "Majors": null,
                                            "DegreeName": "Bachelor of Arts",
                                            "Country": null,
                                            "GPA": null,
                                            "City": null,
                                            "EndDate": "2014",
                                            "Minors": null
                                        }
                                    ],
                                    "HardSkillList": [
                                        {
                                            "Skill": "International sales support",
                                            "SkillLevel": null
                                        },
                                        {
                                            "Skill": "Strategic sales knowledge",
                                            "SkillLevel": null
                                        },
                                        {
                                            "Skill": "Exceptional communication skills",
                                            "SkillLevel": null
                                        },
                                        {
                                            "Skill": "Stock records management",
                                            "SkillLevel": null
                                        },
                                        {
                                            "Skill": "Quality assurance and control",
                                            "SkillLevel": null
                                        }
                                    ],
                                    "WorkExperienceList": [
                                        {
                                            "StartDate": "2017-04",
                                            "Description": null,
                                            "SkillsTools": null,
                                            "State": null,
                                            "Employer": "BATS Global Markets Inc.",
                                            "Achievements": null,
                                            "Responsibilities": [
                                                "Contact customer to follow up on purchases, suggest new merchandise and inform on promotions and upcoming events.",
                                                "Promote business as superior provider committed to efficiency and accuracy when engaging with customers.",
                                                "Answer product questions with up-to-date knowledge of sales and store promotions.",
                                                "Provide timely and effective replacement of damaged or missing products."
                                            ],
                                            "Country": null,
                                            "City": "Chicago",
                                            "EndDate": "2018-09",
                                            "JobTitle": "Customer Service Representative"
                                        },
                                        {
                                            "StartDate": "2015-04",
                                            "Description": null,
                                            "SkillsTools": null,
                                            "State": null,
                                            "Employer": "Foodspotting Inc.",
                                            "Achievements": null,
                                            "Responsibilities": [
                                                "Assisted customers with food selection, inquiries and order customization requests.",
                                                "Answered average of 100 calls per day, addressing customer inquiries, solving problems and providing new product information.",
                                                "Recommended, selected and helped locate and obtain out-of-stock product based on customer requests.",
                                                "Contacted customer to follow up on purchases, suggest new merchandise and inform on promotions and upcoming events."
                                            ],
                                            "Country": null,
                                            "City": "Chicago",
                                            "EndDate": "2016-09",
                                            "JobTitle": "Customer Service Representative"
                                        }
                                    ]
                                },
                                "processingInfo": {
                                    "Version": "3.01.12",
                                    "FileHash": "58223d83965cfaefe4c9bc1eac123b3b",
                                    "Duration": "6.593",
                                    "NumberOfPages": "1"
                                }
                            }
                            
                            
400 The request is malformed. Most often the body is not multipart form-data, or it contains no field with the key 'file' (messageCode 2011). A body that cannot be parsed returns messageCode 3002.
403 Access to the API is not allowed. Possible reasons: you reached the agreed quota or your contract expired (messageCode 3001), your account is not active (3004), your Stripe subscription is not valid (3005), or the business API key is unknown or revoked (3009).
404 Either the API key was not found (messageCode 3003), no file was found in the request (2000, 2006), or the configId you passed does not exist (7006).
406 The file format is not supported (messageCode 2003). Only PNG, JPG/JPEG, TIF/TIFF and PDF are accepted.
413 The request exceeds the upload limit of 200 MB per file or 200 MB per request (messageCode 2001). Please split the document into several requests or reduce the image resolution.
422 The file was accepted but could not be processed. Possible reasons: no readable content in the document (messageCode 2004), an image resolution outside the supported range of 50x50 to 10000x10000 pixels (2012), image data that cannot be decoded (2013), a file that is too large for the text recognition step (2014), or a docType that is not available for your account (5000).
500 Something went wrong on our side and the reason is not known (messageCode 1001). Please contact us if the error persists.
503 The text recognition service is temporarily unavailable or rate limited (messageCode 2015). Please retry in a few minutes.



Delivery Sheet OCR API - version 1 (v1)

This endpoint converts images or files of a delivery sheet into structure information in JSON format. Parameter "docType" should be set as "DeliverySheet".

Click the following box to see the detailed description of this API if the box is not expanded.

Parameters
Name Description
api-key (header) API key which you will receive with your subscription here
file (form-data) The document to process. To be sent in the body as form-data with the key 'file'. Supported formats: PNG, JPG/JPEG, TIF/TIFF and PDF. If the document has multiple pages, you can attach them all as separate image files, as a multi-page TIFF or as a PDF. The limit is 200 MB per file and 200 MB per request.
privacy (query parameter) Boolean (true, false) to indicate whether the uploaded file is stored on the server to further enhance the algorithm or not. 'true' means the file is not stored, 'false' means the file is stored. The default value is true, so by default nothing is kept. To change, you can set it: &privacy=false. Note that saveResult=true stores the file as well, independently of this parameter.
saveResult (query parameter) Boolean (true, false). If set to 'true', the extraction result is persisted as a record in your Eagle Doc account and the uploaded file is stored, so that you can retrieve, review and correct it later. The default value is false.
docType (query parameter) Since the target document is a delivery sheet, docType should be set as 'DeliverySheet'
Responses
Code Description
200 OK is returned to indicate that the delivery sheet was processed successfully.

The response contains the following fields:
Field Name Description
docType Type of the document: BankStatement, TravelTicket, Passport, BusinessCard, EmployeeIDCard, StudentIDCard, DrivingLicense, BirthCertificate, DeliverySheet, Resume or your customised definition of the document type
general Summarizes general information about the document, which includes an array of key-value pairs.
For a delivery sheet, the keys can be: InvoiceNumber, InvoiceDate, PurchaseOrderNumber, DocumentNumber, IssueDate, SupplierName, SupplierAddress, SupplierEmail, CustomerName, CustomerAddress, CustomerEmail, DeliveryDate, DeliveryLocation, DeliveryPerson, ReceiverName, ShippingMethod, PaymentTerms, AdditionalNotes
lists Contains an array of the expected extractions. Each list is an array of key-value pairs.
For a delivery sheet, the list types contains: ProductList (with keys: ProductName, ProductQuantity, ProductId)
processingInfo Here contains the processing information of the document. It includes a list of key value pairs. The keys are Language, Version, FileHash, Duration, NumberOfPages, and DocType.

An example result from a delivery sheet can look like this:

                                
                                {
                                    "docType": "DeliverySheet",
                                    "general": {
                                        "InvoiceNumber": "",
                                        "InvoiceDate": "",
                                        "PurchaseOrderNumber": "",
                                        "DocumentNumber": "0123",
                                        "IssueDate": "",
                                        "SupplierName": "Example Company Inc.",
                                        "SupplierAddress": "596 High Ridge St.\nWest Babylon\nNY\n11704",
                                        "SupplierEmail": "info@example-company.com",
                                        "CustomerName": "John Doe",
                                        "CustomerAddress": "291 Monroe Street\nPlainview\nNY\n11803",
                                        "CustomerEmail": "jdoe@gmail.com",
                                        "DeliveryDate": "",
                                        "DeliveryLocation": "",
                                        "DeliveryPerson": "",
                                        "ReceiverName": "",
                                        "ShippingMethod": "",
                                        "PaymentTerms": "",
                                        "AdditionalNotes": ""
                                    },
                                    "lists": {
                                        "ProductList": [
                                            {
                                                "ProductQuantity": "15",
                                                "ProductName": "Photo frame",
                                                "ProductId": null
                                            },
                                            {
                                                "ProductQuantity": "10",
                                                "ProductName": "Fountain pen",
                                                "ProductId": null
                                            }
                                        ]
                                    },
                                    "processingInfo": {
                                        "Language": "en",
                                        "Version": "3.01.12",
                                        "FileHash": "fdabf62b2c44559853134825624340c4",
                                        "Duration": "4.152",
                                        "NumberOfPages": "1",
                                        "DocType": "DeliverySheet"
                                    }
                                }                      
                                
400 The request is malformed. Most often the body is not multipart form-data, or it contains no field with the key 'file' (messageCode 2011). A body that cannot be parsed returns messageCode 3002.
403 Access to the API is not allowed. Possible reasons: you reached the agreed quota or your contract expired (messageCode 3001), your account is not active (3004), your Stripe subscription is not valid (3005), or the business API key is unknown or revoked (3009).
404 Either the API key was not found (messageCode 3003), no file was found in the request (2000, 2006), or the configId you passed does not exist (7006).
406 The file format is not supported (messageCode 2003). Only PNG, JPG/JPEG, TIF/TIFF and PDF are accepted.
413 The request exceeds the upload limit of 200 MB per file or 200 MB per request (messageCode 2001). Please split the document into several requests or reduce the image resolution.
422 The file was accepted but could not be processed. Possible reasons: no readable content in the document (messageCode 2004), an image resolution outside the supported range of 50x50 to 10000x10000 pixels (2012), image data that cannot be decoded (2013), a file that is too large for the text recognition step (2014), or a docType that is not available for your account (5000).
500 Something went wrong on our side and the reason is not known (messageCode 1001). Please contact us if the error persists.
503 The text recognition service is temporarily unavailable or rate limited (messageCode 2015). Please retry in a few minutes.



Passport OCR API - version 1 (v1)

This endpoint converts images or files of a passport into structure information in JSON format. Parameter "docType" should be set as "Passport".

Click the following box to see the detailed description of this API if the box is not expanded.

Parameters
Name Description
api-key (header) API key which you will receive with your subscription here
file (form-data) The document to process. To be sent in the body as form-data with the key 'file'. Supported formats: PNG, JPG/JPEG, TIF/TIFF and PDF. If the document has multiple pages, you can attach them all as separate image files, as a multi-page TIFF or as a PDF. The limit is 200 MB per file and 200 MB per request.
privacy (query parameter) Boolean (true, false) to indicate whether the uploaded file is stored on the server to further enhance the algorithm or not. 'true' means the file is not stored, 'false' means the file is stored. The default value is true, so by default nothing is kept. To change, you can set it: &privacy=false. Note that saveResult=true stores the file as well, independently of this parameter.
saveResult (query parameter) Boolean (true, false). If set to 'true', the extraction result is persisted as a record in your Eagle Doc account and the uploaded file is stored, so that you can retrieve, review and correct it later. The default value is false.
docType (query parameter) Since the target document is a passport, docType should be set as 'Passport'
Responses
Code Description
200 OK is returned to indicate that the passport was processed successfully.

The response contains the following fields:
Field Name Description
docType Type of the document: BankStatement, TravelTicket, Passport, BusinessCard, EmployeeIDCard, StudentIDCard, DrivingLicense, BirthCertificate, DeliverySheet, Resume or your customised definition of the document type
general Summarizes general information about the document, which includes an array of key-value pairs.
For a passport, the keys can be: surname, givennames, passportType, issuingCountry, passportNumber, nationality, dateOfBirth, placeOfBirth, gender, dateOfIssue, dateOfExpiry, personalIdNumber, holderSignature, issuingStateCode, machineReadablekey, nationalityCode, checkDigits, issuingAuthority, height, eyeColor, residenceAddress, guardianInfo, emergencyContact, amendments, visaPages, bookletNumber
processingInfo Here contains the processing information of the document. It includes a list of key value pairs. The keys are Language, Version, FileHash, Duration, NumberOfPages, and DocType.

An example result from a passport can look like this:

                                
                                {
                                    "docType": "Passport",
                                    "general": {
                                        "surname": "PUDARSAN",
                                        "givennames": "HENERT",
                                        "passportType": "P",
                                        "issuingCountry": "UNITED KINGDOM OF GREAT BRITAIN AND NORTHERN IRELAND",
                                        "passportNumber": "707797979",
                                        "nationality": "BRITISH CITIZEN",
                                        "dateOfBirth": "1995-05-20",
                                        "placeOfBirth": "CAMTETH GBR",
                                        "gender": "M",
                                        "dateOfIssue": "2012-04-23",
                                        "dateOfExpiry": "2017-04-22",
                                        "personalIdNumber": "",
                                        "holderSignature": "",
                                        "issuingStateCode": "GBR",
                                        "machineReadableKey": "P<GBRPUDARSAN<<HENERT<<<<<<<<<<<<<<<<<<<<<<<",
                                        "nationalityCode": "",
                                        "checkDigits": "",
                                        "issuingAuthority": "FCO",
                                        "height": "",
                                        "eyeColor": "",
                                        "residenceAddress": "",
                                        "guardianInfo": "",
                                        "emergencyContact": "",
                                        "amendments": "",
                                        "visaPages": "",
                                        "bookletNumber": ""
                                    },
                                    "lists": {},
                                    "processingInfo": {
                                        "Version": "3.01.12",
                                        "FileHash": "0b0ff6eb7bc59bd853f8a064539a6ca6",
                                        "Duration": "8.484",
                                        "NumberOfPages": "1"
                                    }
                                }
                                
400 The request is malformed. Most often the body is not multipart form-data, or it contains no field with the key 'file' (messageCode 2011). A body that cannot be parsed returns messageCode 3002.
403 Access to the API is not allowed. Possible reasons: you reached the agreed quota or your contract expired (messageCode 3001), your account is not active (3004), your Stripe subscription is not valid (3005), or the business API key is unknown or revoked (3009).
404 Either the API key was not found (messageCode 3003), no file was found in the request (2000, 2006), or the configId you passed does not exist (7006).
406 The file format is not supported (messageCode 2003). Only PNG, JPG/JPEG, TIF/TIFF and PDF are accepted.
413 The request exceeds the upload limit of 200 MB per file or 200 MB per request (messageCode 2001). Please split the document into several requests or reduce the image resolution.
422 The file was accepted but could not be processed. Possible reasons: no readable content in the document (messageCode 2004), an image resolution outside the supported range of 50x50 to 10000x10000 pixels (2012), image data that cannot be decoded (2013), a file that is too large for the text recognition step (2014), or a docType that is not available for your account (5000).
500 Something went wrong on our side and the reason is not known (messageCode 1001). Please contact us if the error persists.
503 The text recognition service is temporarily unavailable or rate limited (messageCode 2015). Please retry in a few minutes.