Eagle Doc Any Doc OCR API is a versatile tool for extracting structured data from any document type in any language. The API is designed to be developer-friendly and easy to integrate into your document processing workflows.

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.

alternative



Any Doc Processing Endpoints




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) File 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 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.
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
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"
                                            }
                                        ]
                                    },
                                    "processingInfo": {
                                        "Language": "en",
                                        "Version": "2.06.18",
                                        "FileHash": "199b7bad9b61cfb94c53871830b23281",
                                        "Duration": "7.032",
                                        "NumberOfPages": "1",
                                        "DocType": "BankStatement"
                                    }
                                }
                                
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.






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) File 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) 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"
                                            }
                                        ]
                                    },
                                    "processingInfo": {
                                        "Language": "en",
                                        "Version": "2.06.18",
                                        "FileHash": "199b7bad9b61cfb94c53871830b23281",
                                        "Duration": "7.032",
                                        "NumberOfPages": "1",
                                        "DocType": "BankStatement"
                                    }
                                }
                                
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.






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) File 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) 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": "2.06.18", "FileHash": "58223d83965cfaefe4c9bc1eac123b3b", "Duration": "6.593", "NumberOfPages": "1" } }
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.






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) File 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) Since the target document is a bank statement, 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": "2.06.18",
                                        "FileHash": "fdabf62b2c44559853134825624340c4",
                                        "Duration": "4.152",
                                        "NumberOfPages": "1",
                                        "DocType": "DeliverySheet"
                                    }
                                }                      
                                
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.






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 "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) File 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) 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": "2.06.18",
                                        "FileHash": "0b0ff6eb7bc59bd853f8a064539a6ca6",
                                        "Duration": "8.484",
                                        "NumberOfPages": "1"
                                    }
                                }
                                
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.