Bank Voucher Data Extraction API

Streamlined Processing Of Bank Vouchers

For Voucher documents, our module can extract the digitally printed and handwritten information along with signature verification and stamp identification required to process the transaction automatically.

    Cutting-Edge Features    

Why Arya Bank Voucher Extraction

Printed and Handwritten Data Extraction

Captures both digitally printed and handwritten information from vouchers

High Accuracy and Reliability

Ensures precise and dependable extraction of voucher details

Comprehensive Data Capture

Extracts all essential information from bank vouchers for complete data processing

Easy Integration

Simple to integrate with existing systems for seamless data flow

An AI Platform that you've
always wanted
With more than 80+ APIs, we stand out as the go-to-platform for developers, consistently delivering unparalleled success rates in driving critical decisions.
200 M+

Annual API Volume

95 %+

Accuracy Rate

720 K

Daily API Volume

< 5 Mins

Time to launch

    Effortless AI For Everyone    

More Reasons To Love Arya AI

Hassle-Free,

No Code Platform

Easy to adopt

& integrate

99.99%

API Success Rate

Reliable &

Secure

    Helpful Resources    

Learn More From Our Resources

Blog
Card image cap

14 March 2024

KYC Automation with AI [A Complete Guide]

The current KYC procedures have been resource-intensive, prone to errors...

Blog
Card image cap

22 May 2024

Document Workflow Automation [Challenges & Opportunities]

Every business and organization relies on documents and critical files...

Blog
Card image cap

6 June 2024

What is Intelligent Document Processing? - Everything You Need to Know

The amount of data handled by organisations worldwide has reached...

Please wait...

Sample to try

Check out the API results using samples provided below.

Uploaded File

Drag and drop files

Supports: PDF, JPG, PNG, etc

Drag and drop files

Supports: PDF, JPG, PNG, etc

JSON
 
Copied

					
Key Value
Payee Name :  {{output.page1['Payee name']||'-'}}
Amount in words :  {{output.page1['Amount in words']||'-'}}
Date :  {{output.page1['Date']||'-'}}
Account Name :  {{output.page1['Account name']||'-'}}
Instrument Number :  {{output.page1['Instrument number']||'-'}}
Amount in Figures : {{output.page1['Amount in figures']||'-'}}
Account Number :  {{output.page1['A/C number']||'-'}}

Documentation

HTTP Method: Post
Endpoint
{{getEndpoint(url, api_version, pageDetails.ping_endpoint)}}
Copied
API Token
{{tokenDisplay}}
Copied
API Token UAT
postman wrapper button
{{tokenUDisplay}}
Copied

Usage and Code Samples

curl --location --request POST '{{getEndpoint(url, api_version, pageDetails.ping_endpoint)}}' \
--header 'token: < your private token >' \
--header 'content-type: application/json' \
--data-raw '{
		"doc_type":'image',
		"action":'extract',
		"doc_base64": '< base64 string of document >',
		"req_id": '< string >'
	     }'
OkHttpClient client = new OkHttpClient().newBuilder().build();
MediaType mediaType = MediaType.parse("application/javascript");
RequestBody body = RequestBody.create(mediaType, "{ "doc_type":'image', "action":'extract', "doc_base64": '< base64 string of document >',"req_id": '< string >'  }");
Request request = new Request.Builder()
	.url("{{getEndpoint(url, api_version, pageDetails.ping_endpoint)}}")
	.method("POST", body)
	.addHeader("token", "< your private token >")
	.addHeader("content-type", "application/json")
	.build();
Response response = client.newCall(request).execute();
require "uri"
require "net/http"
url = URI("{{getEndpoint(url, api_version, pageDetails.ping_endpoint)}}")
https = Net::HTTP.new(url.host, url.port)
https.use_ssl = true
request = Net::HTTP::Post.new(url)
request["token"] = "< your private token >"
request["content-type"] = "application/json"
request.body = "{"doc_type":'image', "action":'extract', "doc_base64": '< base64 string of document >',"req_id": < string >  }"
response = https.request(request)
puts response.read_body
CURL *curl;
CURLcode res;
curl = curl_easy_init();
if(curl) {
  curl_easy_setopt(curl, CURLOPT_CUSTOMREQUEST, "POST");
  curl_easy_setopt(curl, CURLOPT_URL, "{{getEndpoint(url, api_version, pageDetails.ping_endpoint)}}");
  curl_easy_setopt(curl, CURLOPT_FOLLOWLOCATION, 1L);
  curl_easy_setopt(curl, CURLOPT_DEFAULT_PROTOCOL, "https");
  struct curl_slist *headers = NULL;
  headers = curl_slist_append(headers, "token: < your private token >");
  headers = curl_slist_append(headers, "content-type: application/json");
  curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headers);
  const char *data = "{"doc_type":'image', "action":'extract', "doc_base64": '< base64 string of document >',"req_id": < string >  }";
  curl_easy_setopt(curl, CURLOPT_POSTFIELDS, data);
  res = curl_easy_perform(curl);
}
curl_easy_cleanup(curl);
var request = require('request');
var options = {
  'method': 'POST',
  'url': '{{getEndpoint(url, api_version, pageDetails.ping_endpoint)}}',
  'headers': {
  'token': '< your private token >',
  'content-type':'application/json'
},
body: '{"doc_type":'image', "action":'extract', "doc_base64": "< base64 string of document >","req_id": < string >  }'
};
request(options, function (error, response) {
if (error) throw new Error(error);
  console.log(response.body);
});
var client = new RestClient("{{getEndpoint(url, api_version, pageDetails.ping_endpoint)}}");
ṣclient.Timeout = -1;
var request = new RestRequest(Method.POST);
request.AddHeader("token", "< your private token >");
request.AddHeader("content-type", "application/json");
var body = @"{" + "" +
@"    "doc_type": 'image'," + "" +
@"    "action": 'extract'," + "" +
@"    "doc_base64": '< base64 string of document >'," + "" +
@"    "req_id": < string >" + "" +
@"  }";
request.AddParameter("application/json", body,  ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
Console.WriteLine(response.Content);
php
require_once 'HTTP/Request2.php';
$request = new HTTP_Request2();
$request->setUrl('{{getEndpoint(url, api_version, pageDetails.ping_endpoint)}}');
$request->setMethod(HTTP_Request2::METHOD_POST);
$request->setConfig(array(
'follow_redirects' => TRUE
));
$request->setHeader(array(
  'token' => '< your private token >',
  'content-type' => 'application/json'
));
$request->setBody('{"doc_type":'image', "action":'extract', "doc_base64": "< base64 string of document >","req_id": < string >  }');
try {
  $response = $request->send();
  if ($response->getStatus() == 200) {
  echo $response->getBody();
  }
  else {
  echo 'Unexpected HTTP status: ' . $response->getStatus() . ' ' .
  $response->getReasonPhrase();
  }
}
catch(HTTP_Request2_Exception $e) {
  echo 'Error: ' . $e->getMessage();
}
?>
import requests
url = "{{getEndpoint(url, api_version, pageDetails.ping_endpoint)}}"
payload = {"doc_type":'image', "action":'extract', "doc_base64": "< base64 string of document >", "req_id": < string >  }
headers = {
  'token': '< your private token >',
  'content-type':'application/json'
}
response = requests.request("POST", url, json=payload, headers=headers)
print(response.text)

Request Parameters

Header parameters
Name Description
token String
Body parameters
Name Description
body {
  "doc_type" : < string >,
  "action" : < string >,
  "req_id" : < string >,
  "doc_base64": < base64 encoded string >
}

Response Parameters

Status: 200 - API Request Successful
Body parameters
Name Description
body {
  "req_id" : < string >,
  "success" : < boolean >,
  "document": < string >
  "error_message" : < string >,
  "data" : < dict >,
}

Field Details

Request Field Details
Fields Values/Description
doc_type “image”
req_id Unique request ID used for processing requests
doc_base64 Base64 encoded string of the document
action extract
Response Field Details
Fields Values/Description
req_id Corresponding request id
success Flag if the request is processed successfully
doc_type Type of KYC document uploaded
error_message If success is False then: Error message
data Nested Dictionary with keys corresponding to the number of pages in the input image
( For e.g : data[“page1”] , data[“page2”], data[“page3”] and so on )