Document Fraud Detection API

Can You Spot All the Fakes? Trust AI to Detect Document Fraud!

Document Fraud Detection offers advanced capabilities to detect and prevent fraudulent activities across various document formats. Leveraging AI algorithms and pattern recognition, the app can analyze varied documents, including IDs, passports, invoices, and more, to identify anomalies and inconsistencies that may indicate fraud.

    Cutting-Edge Features    

Why Arya Document Fraud Detection?

High-Volume Document Processing

Scales effortlessly to handle high volumes of documents without compromising performance

Integrates with Existing Systems

Seamlessly enhance any workflow with AI as it integrates effortlessly with your existing systems

25M+ Documents Analysed

With advanced AI, our solution delivers reliable results, significantly reducing the risk of undetected fraud

85% Manual Reviews Eliminated

Utilizes deep learning algorithms to identify patterns indicative of fraudulent documents, saving time and costs

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

29 Feb 2024

A Comprehensive Guide to Document Classification

Data is crucial for any organization or business, especially for banks and...

Blog
Card image cap

8 May 2024

How lenders can leverage AI-powered document fraud detection systems?

Several types of financial fraud exist, including credit card...

Samples to try

Check out the API results using samples provided below.

Drag and drop files

Supports: PDF, JPG, PNG, etc

Drag and drop files

Supports: PDF, JPG, PNG, etc

Please wait...

Uploaded File

File name
JSON
 
Copied

Document Authenticity : {{output.isTampered ? 'Tampered' : 'Authentic' }}

Severity :  {{output.severity}}

Page number :  {{output.page_no}}

Trust Score:  {{output.trust_score}}

Heatmap :

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',
		"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', "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', "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', "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", "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'," + "" +
@"    "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", "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", "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 {
  "req_id" : < string >,
  "doc_type" : < string >,
  "doc_base64": < base64 encoded string >
  "heatmap" : < Boolean >

}

Response Parameters

Status: 200 - API Request Successful
Body parameters
Name Description
body {
  "req_id" : < string >,
  "success" : < boolean >,
  "error_message" : < string >,
  "doc_type" : < string >,
  "severity" : < string >,
  "isTampered" : < Boolean >
  "page_no" : < integer >
  "trust_score" : < integer >
  "heatmap" : < string >
}

Field Details

Request Field Details
Fields Values/Description
req_id Unique request ID used for processing requests
doc_base64 Base64 encoded string of the document
heatmap Flag to get heatmap
Response Field Details
Fields Values/Description
req_id Corresponding request id
success Flag if the request is processed successfully
doc_type Type of document uploaded
error_message If success is False then: Error message
severity Fraud severity type
heatmap Base64 data of affected area in the document
page_no Page number if document is PDF
trust_score Trust Score