Bank Statement Data Extraction API

Transform your workflows with AI-Enhanced Bank Statement Extraction

Arya's bank statement extraction module works for extraction of Account holder information from provided bank statement. It localises and extracts multiple fields including account number, statement duration, first and last transaction record along with account holder name. This module works for all types of statement formats from major banks across India.

    Cutting-Edge Features    

Why Arya Bank Statement Extraction?

Automated Field Localization and Extraction

Get critical data from bank statements, eliminating the need for manual data entry

Multiple Statement Format Support

Supports various formats including PDF and image files (JPG, PNG), providing flexibility and compatibility

Secure Data Handling

Data is protected throughout the extraction process, ensuring confidentiality and compliance with data protection regulations

<1 Minute Insight Generation

Unlock actionable insights in under a minute, empowering swift and informed decision-making

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

6 Dec 2023

Ten Types of Document Fraud to Know in 2024

Financial document fraud has increased in the last two years. Scammers...

Blog
Card image cap

19 March 2024

How to Identify Fake Bank Statements

While we expect bank statements to be accurate records of financial transactions...

Blog
Card image cap

30 April 2024

AI Risk Management in Banking

With banks and financial institutions heavily relying on large volumes of data, they...

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
{{k|clean|capitalize:true}} {{v}}

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 '{
	"req_id": '< req id string>',
	"doc_base64": '< base64 string of document >',
	     }'
OkHttpClient client = new OkHttpClient().newBuilder().build();
MediaType mediaType = MediaType.parse("application/javascript");
RequestBody body = RequestBody.create(mediaType, "{ "req_id": '< req id string>',  "doc_base64": '< base64 string of document >' }");
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 = "{"req_id": '< req id string>',  "doc_base64": '< base64 string of document >'   }"
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 = "{"req_id": '< req id string>',  "doc_base64": '< base64 string of document >'   }";
  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: '{ "req_id": '< req id string>',  "doc_base64": '< base64 string of document >'   }'
};
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_base64": '< base64 string of document >'," + "" +
@"    "req_id": '< 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('{ "req_id": '< req id string>',  "doc_base64": '< base64 string of document >'   }');
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 = {"req_id": '< req id string>',  "doc_base64": '< base64 string of document >'   }
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 {
  "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 >,
  "error_message" : < string >,
  "data" : < json >,
}

Field Details

Request Field Details
Fields Values/Description
req_id Request ID used for processing requests
doc_base64 Base64 encoded string of the document
Response Field Details
Fields Values/Description
req_id Corresponding request id
success Flag if the request is processed successfully
error_message If success is False then: Error message
data JSON parameters as retrieved from Bank Statement Extraction