Below is an end-to-end example of submitting a ExtractCheck request using Python programming language:


# Simple script to make and process the results of an ExtractCheck request to the LEADTOOLS CloudServices.
# In order to run this script, the following changes will need to be added:
#	1) Place your Application ID in the appId variable.
#	2) Place your Application Password in the password variable
# The script will perform the following operations in order:
#	1)Perform an ExtractCheck request to the LEADTOOLS CloudServices.  A successfully made request will return a unique identifier.
#	2)We will then query the services using the GUID -- if the file is finished processing, the body will contain all the
#	  request data.
#	3)We will take the json data that was returned, parse it, and display all the information that was returned.
#
#
# This script makes use of the Requests Python library.
# More information about this library can be found here: http://docs.python-requests.org/en/master/

import requests
import sys
import time

servicesUrl = "https://azure.leadtools.com/api/"

# The application ID.
appId = "Replace with Application ID"

# The application password.
password = "Replace with Application Password"

# The first page in the file to mark for processing
firstPage = 1

# Sending a value of -1 will indicate to the services that the rest of the pages in the file should be processed.
lastPage = -1

# We will be uploading the file via a URl.  Files can also be passed by adding a PostFile to the request.  Only 1 file will be accepted per request.
# The services will use the following priority when determining what a request is trying to do GUID > URL > Request Body Content
fileURL = 'http://demo.leadtools.com/JavaScript/BankCheckReader/Resources/Samples/BankCheck.jpg'
baseRecognitionUrl = '{}Recognition/ExtractCheck?firstPage={}&lastPage={}&fileurl={}'
formattedRecognitionUrl = baseRecognitionUrl.format(
    servicesUrl, firstPage, lastPage, fileURL)
request = requests.post(formattedRecognitionUrl, auth=(appId, password))

# If uploading a file alongside the HTTP request
#baseRecognitionUrl ='{}Recognition/ExtractCheck?firstPage={}&lastPage={}'
#formattedRecognitionUrl = baseRecognitionUrl.format(
#    servicesUrl,firstPage, lastPage)
#file = {'file' : open('path/to/file', 'rb')}
#request = requests.post(
#    formattedRecognitionUrl, auth=(appId, password), files = file)

if request.status_code != 200:
    print("Error sending the conversion request")
    print(request.text)
    sys.exit()

# Grab the GUID from the Request
guid = request.text
print("Unique ID returned by the services: " + guid + "\n")

# Now, we need to Query the results
print("Now Querying Results....")
baseQueryUrl = '{}Query?id={}'
formattedQueryUrl = baseQueryUrl.format(servicesUrl, guid)

while True:  # Poll the services to determine if the request has finished processing
    request = requests.post(formattedQueryUrl, auth=(appId, password))
    returnedData = request.json()
    if returnedData['FileStatus'] != 100 and returnedData['FileStatus'] != 123:
        break
    time.sleep(5)

print("File finished processing with file status: " +
      str(returnedData['FileStatus']))

if returnedData['FileStatus'] != 200:
    sys.exit()

try:
    print("Results:")
    returnedJson = returnedData['RequestData']
    for requestObject in returnedJson:
        print("Service Type: " + requestObject['ServiceType'])
        if requestObject['ServiceType'] == 'Recognition' and requestObject['RecognitionType'] == 'MICR':
            print("MICR Data:")
            for micrObject in requestObject['data']:
                for micrResult in micrObject:
                    print(micrResult + ":")
                    print("Text: " + micrObject[micrResult]['Text'])
                    print("Bounds: " + micrObject[micrResult]['Bounds'])
                    print()
except Exception as e:
    print("Failed to Parse JSON")
    print(str(e))