NAV undefined
undefined
bash ruby python php javascript go csharp java

Introduction

API Endpoint

https://crime.getupforchange.com/api/

Welcome to the CrimeCheck API! You can use our API to access court cases and other data in our database.

The Data APIs provide access to selected data sources, other than court records (which are available under Crime Records and Crime Reports APIs).

We have provided examples in cURL, Ruby, Python, PHP, JavaScript, Go, C# and Java! You can view code examples in the dark area to the right, and you can switch the programming language of the examples with the tabs in the top right.

The CrimeCheck APIs are organized around REST. Our API has predictable, resource-oriented URLs, and uses HTTP response codes to indicate API errors. We support cross-origin resource sharing, allowing you to interact securely with our API from a client-side web application (though you should never expose your secret API key in any public website's client-side code). JSON is returned by all API responses, including errors.

To make the API as explore-able as possible, accounts have test mode and live mode API keys. There is no "switch" for changing between modes, just use the appropriate key to perform a live or test transaction.

Basic API

Authentication

To authorize, use this code:

  curl https://crime.getupforchange.com/api/v3/authenticate \
   -u 'test_apikey:'

Note: curl uses the -u flag to pass basic auth credentials(adding
a colon after your API key prevents cURL from asking for a password).
require 'uri'
require 'net/http'

url = URI("https://crime.getupforchange.com/api/v3/authenticate")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Get.new(url)
request.basic_auth("test_apikey", "")

response = http.request(request)
end
import requests

requests.get('https://crime.getupforchange.com/api/v3/uthenticate', auth=('test_apikey', ''))
$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, "https://crime.getupforchange.com/api/v3/authenticate");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "GET");

curl_setopt($ch, CURLOPT_USERPWD, "test_apikey" . ":" . "");

$result = curl_exec($ch);
if (curl_errno($ch)) {
    echo 'Error:' . curl_error($ch);
}
curl_close ($ch);
var request = require('request');

var options = {
    url: 'https://crime.getupforchange.com/api/v3/authenticate',
    auth: {
        'user': 'test_apikey',
        'pass': ''
    }
};

function callback(error, response, body) {
    if (!error && response.statusCode == 200) {
        console.log(body);
    }
}

request(options, callback);

  req, err := http.NewRequest("GET", "https://crime.getupforchange.com/api/v3/authenticate", nil)
  if err != nil {
    // handle err
  }
  req.SetBasicAuth("test_apikey", "")

  resp, err := http.DefaultClient.Do(req)
  if err != nil {
    // handle err
  }
  defer resp.Body.Close()

var restClient = new RestClient('https://crime.getupforchange.com/api/v3/authenticate')
{
    Authenticator = new HttpBasicAuthenticator('test_apikey', '')
};
var request = new RestRequest(Method.GET);
IRestResponse response = client.Execute(request);
HttpResponse<String> response = Unirest.get("https://crime.getupforchange.com/api/v3/authenticate")
  .basicAuth("test_apikey", "")
  .asString();

The above command returns JSON structured like this:

  {
    'status': 'OK'
  }

Authenticate your account when using the API by including your secret API key in the request. Your API keys carry many privileges, so be sure to keep them secret! Do not share your secret API keys in publicly accessible areas such GitHub, client-side code, and so forth.

Authentication to the API is performed via HTTP Basic Auth. Provide your API key as the basic auth username value. You do not need to provide a password.

If you need to authenticate via bearer auth (e.g., for a cross-origin request), use -H "Authorization: test_apikey" instead of -u test_apikey:.

CrimeCheck expects for the API key to be included in all API requests to the server. API requests without authentication will fail.

API Status

  curl https://crime.getupforchange.com/api/v3/status \
   -u 'test_apikey:'

Note: curl uses the -u flag to pass basic auth credentials (adding
a colon after your API key prevents cURL from asking for a password).
require 'uri'
require 'net/http'

url = URI("https://crime.getupforchange.com/api/v3/status")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Get.new(url)
request.basic_auth("test_apikey", "")

response = http.request(request)
end
import requests

requests.get('https://crime.getupforchange.com/api/v3/status', auth=('test_apikey', ''))
$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, "https://crime.getupforchange.com/api/v3/status");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "GET");

curl_setopt($ch, CURLOPT_USERPWD, "test_apikey" . ":" . "");

$result = curl_exec($ch);
if (curl_errno($ch)) {
    echo 'Error:' . curl_error($ch);
}
curl_close ($ch);
var request = require('request');

var options = {
    url: 'https://crime.getupforchange.com/api/v3/status',
    auth: {
        'user': 'test_apikey',
        'pass': ''
    }
};

function callback(error, response, body) {
    if (!error && response.statusCode == 200) {
        console.log(body);
    }
}

request(options, callback);

  req, err := http.NewRequest("GET", "https://crime.getupforchange.com/api/v3/status", nil)
  if err != nil {
    // handle err
  }
  req.SetBasicAuth("test_apikey", "")

  resp, err := http.DefaultClient.Do(req)
  if err != nil {
    // handle err
  }
  defer resp.Body.Close()

var restClient = new RestClient('https://crime.getupforchange.com/api/v3/status')
{
    Authenticator = new HttpBasicAuthenticator('test_apikey', '')
};
var request = new RestRequest(Method.GET);
IRestResponse response = client.Execute(request);
HttpResponse<String> response = Unirest.get("https://crime.getupforchange.com/api/v3/status")
  .basicAuth("test_apikey", "")
  .asString();

The above command returns JSON structured like this:

  {
    'status': 'OK'
  }

GET https://crime.getupforchange.com/api/v3/status

Check if apiKey is valid using this API.

Errors

CrimeCheck uses conventional HTTP response codes to indicate the success or failure of an API request. In general, codes in the 2xx range indicate success, codes in the 4xx range indicate an error that failed given the information provided (e.g., a required parameter was omitted, invalid API key etc.), and codes in the 5xx range indicate an error with CrimeCheck servers (these are rare).

HTTP status code summary

Status Description
200 OK - Everything worked as expected
400 INVALID_REQUEST_ERROR - The request was unacceptable, often due to missing a required parameter or invalid value
401 INVALID_API_KEY, API_LIMIT_EXCEEDED - Authorization related
429 Too Many Requests (Rate limit of Max per MINUTE=1200, HOUR=7000, DAY=170000)
500 Crimecheck service issue

MCA API

Given a CIN (Company Identification Number), the MCA API returns all details available about the company.

MCA

 curl --location --request GET 'https://crime.getupforchange.com/api/v3/mca?apiKey=test_apikey&cin=U74900TG2016PTC103075'
require "uri"
require "net/http"

url = URI("https://crime.getupforchange.com/api/v3/mca?apiKey=test_apikey&cin=U74900TG2016PTC103075")

http = Net::HTTP.new(url.host, url.port);
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body
import requests

url = "https://crime.getupforchange.com/api/v3/mca?apiKey=test_apikey&cin=U74900TG2016PTC103075"

payload={}
headers = {}

response = requests.request("GET", url, headers=headers, data=payload)

print(response.text)
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => 'https://crime.getupforchange.com/api/v3/mca?apiKey=test_apikey&cin=U74900TG2016PTC103075',
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => '',
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => 'GET',
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;
 var myHeaders = new Headers();

var requestOptions = {
  method: 'GET',
  headers: myHeaders,
  redirect: 'follow'
};

fetch("https://crime.getupforchange.com/api/v3/mca?apiKey=test_apikey&cin=U74900TG2016PTC103075", requestOptions)
  .then(response => response.text())
  .then(result => console.log(result))
  .catch(error => console.log('error', error));
  package main

import (
  "fmt"
  "net/http"
  "io/ioutil"
)

func main() {

  url := "https://crime.getupforchange.com/api/v3/mca?apiKey=test_apikey&cin=U74900TG2016PTC103075"
  method := "GET"

  client := &http.Client {
  }
  req, err := http.NewRequest(method, url, nil)

  if err != nil {
    fmt.Println(err)
    return
  }

  res, err := client.Do(req)
  if err != nil {
    fmt.Println(err)
    return
  }
  defer res.Body.Close()

  body, err := ioutil.ReadAll(res.Body)
  if err != nil {
    fmt.Println(err)
    return
  }
  fmt.Println(string(body))
}
  var client = new RestClient("https://crime.getupforchange.com/api/v3/mca?apiKey=test_apikey&cin=U74900TG2016PTC103075");
client.Timeout = -1;
var request = new RestRequest(Method.GET);
IRestResponse response = client.Execute(request);
Console.WriteLine(response.Content);
 Unirest.setTimeouts(0, 0);
HttpResponse<String> response = Unirest.get("https://crime.getupforchange.com/api/v3/mca?apiKey=test_apikey&cin=U74900TG2016PTC103075")
  .asString();

HTTP Request

GET https://crime.getupforchange.com/api/v3/mca?apiKey=test_apikey&cin=U74900TG2016PTC103075

URL Parameters

cin: string
Mandatory
Corporate/Company Identity Number of the company
apiKey: string
Mandatory
The secret API key assigned for your account. This parameter is mandatory if apiKey is not passed via Authorization header

Response

Response for MCA API
{
    "companyname": "BRAND SPACE INDIA PRIVATE LIMITED",
    "number_of_member": "0",
    "company_status": null,
    "inc29": "",
    "roc": "RoC-Hyderabad",
    "activity_description": "Business Services",
    "country_of_incorporation": null,
    "sub_category": "Indian Non-Government Company",
    "foreign_office_address": null,
    "state": "Telangana",
    "class": "Private",
    "company_type": null,
    "authorized_capital": "100000",
    "category": "Company limited by shares",
    "cin": "U74900TG2016PTC103075",
    "activity_code": null,
    "date_of_registration": "03/02/16",
    "month_name": null,
    "paid_up_capital": "100000",
    "type_of_office": null,
    "gfc_uniqueid": "MCA_BRANDSPACEINDIAPRIVATELIMITED_U74900TG2016PTC103075_TELANGANA_ROCHYDERABAD_BUSINESSSERVICES",
    "companyaddress": "8-2-293/82/BE/89, NAVANIRMAN NAGAR ROAD NO 71, JUBLIEE HILLS   HYDERABAD Telangana INDIA 500033"
}

If successful, MCA API will return a JSON response containing company details.

In case of failure, API will return error code listed in error section.

EPFO API

The EPFO API accepts an organization's Employee's Provident Fund Organization (EPFO) establishment ID, and returns all details available in the EPFO database.

EPFO

curl --location --request GET 'https://crime.getupforchange.com/api/v3/epfo?apiKey=test_apikey&establishmentId=BGBNG0005791000'
require "uri"
require "net/http"

url = URI("https://crime.getupforchange.com/api/v3/epfo?apiKey=test_apikey&establishmentId=BGBNG0005791000")

http = Net::HTTP.new(url.host, url.port);
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body
import requests

url = "https://crime.getupforchange.com/api/v3/epfo?apiKey=test_apikey&establishmentId=BGBNG0005791000"

payload={}
headers = {}

response = requests.request("GET", url, headers=headers, data=payload)

print(response.text)
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => 'https://crime.getupforchange.com/api/v3/epfo?apiKey=test_apikey&establishmentId=BGBNG0005791000',
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => '',
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => 'GET',
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;
var myHeaders = new Headers();

var requestOptions = {
  method: 'GET',
  headers: myHeaders,
  redirect: 'follow'
};

fetch("https://crime.getupforchange.com/api/v3/epfo?apiKey=test_apikey&establishmentId=BGBNG0005791000", requestOptions)
  .then(response => response.text())
  .then(result => console.log(result))
  .catch(error => console.log('error', error));
package main

import (
  "fmt"
  "net/http"
  "io/ioutil"
)

func main() {

  url := "https://crime.getupforchange.com/api/v3/epfo?apiKey=test_apikey&establishmentId=BGBNG0005791000"
  method := "GET"

  client := &http.Client {
  }
  req, err := http.NewRequest(method, url, nil)

  if err != nil {
    fmt.Println(err)
    return
  }

  res, err := client.Do(req)
  if err != nil {
    fmt.Println(err)
    return
  }
  defer res.Body.Close()

  body, err := ioutil.ReadAll(res.Body)
  if err != nil {
    fmt.Println(err)
    return
  }
  fmt.Println(string(body))
}
var client = new RestClient("https://crime.getupforchange.com/api/v3/epfo?apiKey=test_apikey&establishmentId=BGBNG0005791000");
client.Timeout = -1;
var request = new RestRequest(Method.GET);
IRestResponse response = client.Execute(request);
Console.WriteLine(response.Content);
Unirest.setTimeouts(0, 0);
HttpResponse<String> response = Unirest.get("https://crime.getupforchange.com/api/v3/epfo?apiKey=test_apikey&establishmentId=BGBNG0005791000")
  .asString();

HTTP Request

GET https://crime.getupforchange.com/api/v3/epfo?apiKey=test_apikey&establishmentId=BGBNG0005791000

URL Parameters

establishmentId: string
Mandatory
The organization's establishmentID as registered with EPFO
apiKey: string
Mandatory
The secret API key assigned for your account. This parameter is mandatory if apiKey is not passed via Authorization header

Response

Response for EPFO API
{
    "establishmentname": "JANATHA BAZAAR",
    "establishmentaddress": "CORPORATION SHOPPING COMPLEXJAYANAGAR",
    "establishmentid": "BGBNG0005791000"
}

If successful, EPFO API will return a JSON response containing establishment details.

In case of failure, API will return error code listed in error section

FSSAI API

The FSSAI API accepts the license number given to an entity by the Food Safety and Standards Authority of India (FSSAI), and returns all details available in the FSSAI database.

FSSAI

 curl --location --request GET 'https://crime.getupforchange.com/api/v3/fssai?apiKey=test_apikey&licenseNo=22915202000001' \
require "uri"
require "net/http"

url = URI("https://crime.getupforchange.com/api/v3/fssai?apiKey=test_apikey&licenseNo=22915202000001")

http = Net::HTTP.new(url.host, url.port);
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body
import requests

url = "https://crime.getupforchange.com/api/v3/fssai?apiKey=test_apikey&licenseNo=22915202000001"

payload={}
headers = {}

response = requests.request("GET", url, headers=headers, data=payload)

print(response.text)
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => 'https://crime.getupforchange.com/api/v3/fssai?apiKey=test_apikey&licenseNo=22915202000001',
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => '',
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => 'GET',
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;
var myHeaders = new Headers();

var requestOptions = {
  method: 'GET',
  headers: myHeaders,
  redirect: 'follow'
};

fetch("https://crime.getupforchange.com/api/v3/fssai?apiKey=test_apikey&licenseNo=22915202000001", requestOptions)
  .then(response => response.text())
  .then(result => console.log(result))
  .catch(error => console.log('error', error));
package main

import (
  "fmt"
  "net/http"
  "io/ioutil"
)

func main() {

  url := "https://crime.getupforchange.com/api/v3/fssai?apiKey=test_apikey&licenseNo=22915202000001"
  method := "GET"

  client := &http.Client {
  }
  req, err := http.NewRequest(method, url, nil)

  if err != nil {
    fmt.Println(err)
    return
  }

  res, err := client.Do(req)
  if err != nil {
    fmt.Println(err)
    return
  }
  defer res.Body.Close()

  body, err := ioutil.ReadAll(res.Body)
  if err != nil {
    fmt.Println(err)
    return
  }
  fmt.Println(string(body))
}
var client = new RestClient("https://crime.getupforchange.com/api/v3/fssai?apiKey=test_apikey&licenseNo=22915202000001");
client.Timeout = -1;
var request = new RestRequest(Method.GET);
IRestResponse response = client.Execute(request);
Console.WriteLine(response.Content);
Unirest.setTimeouts(0, 0);
HttpResponse<String> response = Unirest.get("https://crime.getupforchange.com/api/v3/fssai?apiKey=test_apikey&licenseNo=22915202000001")
  .asString();

HTTP Request

GET https://crime.getupforchange.com/api/v3/fssai?apiKey=test_apikey&licenseNo=22915202000001

URL Parameters

licenseNo: string
Mandatory
The FSSAI license number of the entity
apiKey: string
Mandatory
The secret API key assigned for your account. This parameter is mandatory if apiKey is not passed via Authorization header

Response

Response for FSSAI API
{
    "districtname": "Andamans",
    "useddistrictname": null,
    "applytype": "New Registration",
    "gfccompanyname_phonetic": "Manohar Halder",
    "displayid": "30151217165323017",
    "statusdesc": "License Issued",
    "gfc_companyaddress": [
        {
            "companyname": "Manohar Halder ",
            "address": "No 5, Sitapur(V), Neil Island(P.O)",
            "address_processed": "No 5, Sitapur(V), Neil Island(P.O)",
            "name_processed": "Manohar Halder ",
            "name": "Manohar Halder "
        }
    ],
    "refid": "102487913",
    "gfccompanyname": "Manohar Halder",
    "gfc_updated_at": "2022-07-20T14:02:30.000Z",
    "gfccompanyname_auto_suggest": "Manohar Halder",
    "companyaddress_processed": "No 5, Sitapur(V), Neil Island(P.O)",
    "fboid": "71993344",
    "address": "No 5, Sitapur(V), Neil Island(P.O)",
    "villagename": null,
    "categoryid": "3",
    "pincode": "744104",
    "licenseactive": "0",
    "id": 1,
    "talukname": "Port Blair 8",
    "companyname": "Manohar Halder ",
    "gfccompanyname_compound": "Manohar Halder",
    "@version": "1",
    "date": "2022-06-21T10:42:28.000Z",
    "statename": "Andaman And Nicobar Islands",
    "@timestamp": "2022-07-20T14:09:10.403Z",
    "licenseno": "22915202000001",
    "categoryname": "Registration",
    "gfc_uniqueid": "FSSAI_FSSAIREGISTRATIONS_22915202000001_REGISTRATION_71993344_NEWREGISTRATION_ANDAMANS_ANDAMANANDNICOBARISLANDS"
}

If successful, FSSAI API will return a JSON response containing district_name and more details.

In case of failure, API will return error code listed in error section

Cybersafe API

It accepts a phone number and returns whether that phone number is involved in any fraud/spam/crime etc or not, as per data provided by Cyber Safe website (https://cybersafe.gov.in/)

Cybersafe

curl --location --request GET 'https://crime.getupforchange.com/api/v3/cybersafe?apiKey=test_apikey&phoneNumber=9838652193' \
require "uri"
require "net/http"

url = URI("https://crime.getupforchange.com/api/v3/cybersafe?apiKey=test_apikey&phoneNumber=9838652193")

http = Net::HTTP.new(url.host, url.port);
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body
import requests

url = "https://crime.getupforchange.com/api/v3/cybersafe?apiKey=test_apikey&phoneNumber=9838652193"

payload={}
headers = {}

response = requests.request("GET", url, headers=headers, data=payload)

print(response.text)
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => 'https://crime.getupforchange.com/api/v3/cybersafe?apiKey=test_apikey&phoneNumber=9838652193',
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => '',
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => 'GET',
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;
var myHeaders = new Headers();
var requestOptions = {
  method: 'GET',
  headers: myHeaders,
  redirect: 'follow'
};

fetch("https://crime.getupforchange.com/api/v3/cybersafe?apiKey=test_apikey&phoneNumber=9838652193", requestOptions)
  .then(response => response.text())
  .then(result => console.log(result))
  .catch(error => console.log('error', error));
package main

import (
  "fmt"
  "net/http"
  "io/ioutil"
)

func main() {

  url := "https://crime.getupforchange.com/api/v3/cybersafe?apiKey=test_apikey&phoneNumber=9838652193"
  method := "GET"

  client := &http.Client {
  }
  req, err := http.NewRequest(method, url, nil)

  if err != nil {
    fmt.Println(err)
    return
  }

  res, err := client.Do(req)
  if err != nil {
    fmt.Println(err)
    return
  }
  defer res.Body.Close()

  body, err := ioutil.ReadAll(res.Body)
  if err != nil {
    fmt.Println(err)
    return
  }
  fmt.Println(string(body))
}
var client = new RestClient("https://crime.getupforchange.com/api/v3/cybersafe?apiKey=test_apikey&phoneNumber=9838652193");
client.Timeout = -1;
var request = new RestRequest(Method.GET);
IRestResponse response = client.Execute(request);
Console.WriteLine(response.Content);
Unirest.setTimeouts(0, 0);
HttpResponse<String> response = Unirest.get("https://crime.getupforchange.com/api/v3/cybersafe?apiKey=test_apikey&phoneNumber=9838652193")
  .asString();

HTTP Request

GET https://crime.getupforchange.com/api/v3/cybersafe?apiKey=test_apikey&phoneNumber=9838652193

URL Parameters

phoneNumber: string
Mandatory
The phone number that you want to run a check against
apiKey: string
Mandatory
The secret API key assigned for your account. This parameter is mandatory if apiKey is not passed via Authorization header

Response

Response for Cybersafe API
{
    "DATE": "2022-08-22T11:40:10.168Z",
    "recordsFound": 1,
    "phoneNumber": "9838652193",
    "message": "Records Found - The number has been involved in a fraud reported by Intelligence Telangana on 24-02-2021 !!"
}

If successful, Cybersafe API will return a JSON response containing crime details for given Phone Number.

In case of failure, API will return error code listed in error section

AML API

AML - Anti Money Laundering checks - searches for a person/company’s appearance in any of the various black lists published by various national and international bodies, such as Interpol, US Trade Consolidated Screening List, NSE/BSE, MCA, etc. There are over 1000 lists, all categorized into three main categories: Sanctions, Warnings and PEP.

API Endpoint

https://crime.getupforchange.com/api/v3/aml?apiKey=test_apikey&name=ram

CrimeCheck’s AML API accepts a person/company’s name, along with optional parameters such as year of birth, country of origin and many more, to conduct searches. Additionally, users have the option to further refine their searches by limiting them to certain lists under specific categories, or by restricting searches to specific categories altogether.

AML

curl --location --request GET 'https://crime.getupforchange.com/api/v3/aml?apiKey=test_apikey&name=Arturo Castrejon' \
require "uri"
require "net/http"

url = URI("https://crime.getupforchange.com/api/v3/aml?apiKey=test_apikey&name=Arturo Castrejon")

http = Net::HTTP.new(url.host, url.port);
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body
import requests

url = "https://crime.getupforchange.com/api/v3/aml?apiKey=test_apikey&name=Arturo Castrejon"

payload={}
headers = {}

response = requests.request("GET", url, headers=headers, data=payload)

print(response.text)
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => 'https://crime.getupforchange.com/api/v3/aml?apiKey=test_apikey&name=Arturo%20Castrejon',
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => '',
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => 'GET',
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;
var myHeaders = new Headers();
var urlencoded = new URLSearchParams();

var requestOptions = {
  method: 'GET',
  headers: myHeaders,
  body: urlencoded,
  redirect: 'follow'
};

fetch("https://crime.getupforchange.com/api/v3/aml?apiKey=test_apikey&name=Arturo Castrejon", requestOptions)
  .then(response => response.text())
  .then(result => console.log(result))
  .catch(error => console.log('error', error));
package main

import (
  "fmt"
  "strings"
  "net/http"
  "io/ioutil"
)

func main() {

  url := "https://crime.getupforchange.com/api/v3/aml?apiKey=test_apikey&name=Arturo%20Castrejon"
  method := "GET"

  payload := strings.NewReader("")

  client := &http.Client {
  }
  req, err := http.NewRequest(method, url, payload)

  if err != nil {
    fmt.Println(err)
    return
  }

  res, err := client.Do(req)
  if err != nil {
    fmt.Println(err)
    return
  }
  defer res.Body.Close()

  body, err := ioutil.ReadAll(res.Body)
  if err != nil {
    fmt.Println(err)
    return
  }
  fmt.Println(string(body))
}
var client = new RestClient("https://crime.getupforchange.com/api/v3/aml?apiKey=test_apikey&name=Arturo Castrejon");
client.Timeout = -1;
var request = new RestRequest(Method.GET);
IRestResponse response = client.Execute(request);
Console.WriteLine(response.Content);
Unirest.setTimeouts(0, 0);
HttpResponse<String> response = Unirest.get("https://crime.getupforchange.com/api/v3/aml?apiKey=test_apikey&name=Arturo Castrejon")
.asString();

HTTP Request

GET https://crime.getupforchange.com/api/v3/aml?apiKey=test_apikey&name=Arturo Castrejon

URL Parameters

entityType string
Possible values: individual, company
Default: individual
name: string
Mandatory
Name of the person/company
nameFuzziness: number
Controls the fuzziness of the search.
Possible values:
0 - Exact Match, zero fuzziness
1 - Smart Match with Machine Learning-based Fuzziness.
2 - Default Match, standard fuzziness allowing substring matches
Default: 1 (Smart Match)
For more clarity on name fuziness, see examples below
schema: string
Type of the entity
Possible values: person, organization, legalentity, company, vessel and airplane
birthYear: number
4-digit year of birth. E.g. birthYear = 1988
birthYearFuzziness: number
Searches in +/- of input birth year. E.g. if birthYear=1965 and birthYearFuzziness=5, then search includes results where birthYear is in the range 1960 to 1970
amlCategories: string
Category of the AML data to be searched for
Comma-separated values, from: sanctions, warnings, pep
Default: ''
Note: If value for 'amlCategories' is empty, the API will consider all three categories
configDetailId: string
The ID of the configuration created for your account. Each configuration represents a combination of AML categories and lists on which search is to be performed. Reach out to us to create such configurations and get the configDetailId to be used.
apiKey: string
Mandatory
The secret API key assigned for your account. This parameter is mandatory if apiKey is not passed via Authorization header

Advanced Search Parameters for AML API

To enhance the accuracy of your AML searches, consider incorporating the following advanced parameters into your API requests:

pan: string
PAN (Permanent Account Number) of the person
It will be helpful in warnings category search.
fatherName: string
Father's name of the person
It will be helpful in warnings category search.
companyName: string
Name of the company
It will be helpful in warnings category search.
cin: string
CIN (Corporate Identification Number) of the company
It will be helpful in warnings category search.
din: string
DIN (Director Identification Number) of a director of a company
It will be helpful in warnings category search.
directorName: string
Director's name of the company
It will be helpful in warnings category search.
address: string
Address of the person/company
It will be helpful in sanctions, warnings, pep categories search.
countryCodes: string
Comma-separated values of country codes
It will be helpful in sanctions, warnings, pep categories search.

Response

Response for AML API
{
    "sanctions": [
        {
            "name": "RAM",
            "aliases": [
                "Kesha Ram"
            ],
            "birth_date": "",
            "countries": "ru",
            "addresses": "121205, Russian Federation, Moscow, terr. Skolkovo Innovation Center, st. Sikorsky, 11, ground floor, room I, room 59;121205, Российская Федерация, г. Москва, терр. Сколково Инновационного центра, ул. Сикорского, д.11, этаж цок., пом. I, комната 59;121205, Російська Федерація, м. Москва, тер. Сколково Інноваційного Центру, вул. Сікорського, буд.11, поверх цок., прим. I, кімната 59",
            "identifiers": "1057748113092;7727552180",
            "first_name": "",
            "last_name": "",
            "aircraft_name": "",
            "list": "",
            "title": "",
            "program": "",
            "sanctions": "",
            "phones": "",
            "emails": "",
            "vessel_name": "",
            "vessel_flag": "",
            "vessel_type": "",
            "vessel_owner": "",
            "call_sign": "",
            "tonnage": "",
            "gross_registered_tonnage": "",
            "citizenship": "",
            "identifications_details": "",
            "aliases_details": "",
            "address_details": "",
            "designation": "",
            "aka": "",
            "fka": "",
            "nationality": "",
            "link": "",
            "aml_type": "sanctions",
            "gfc_entitytype": "unknown",
            "gfc_uniqueid": "AML_AMLSANCTIONS_NA_UKRAINENABCSANCTIONSTRACKER",
            "remarks": "",
            "created_at": "10th April 2024",
            "gfc_updated_at": "10th April 2024",
            "matched": {},
            "entityname": "",
            "entitytype": "",
            "sourcename": "",
            "listname": [
                "Ukraine NABC Sanctions Tracker"
            ],
            "sourcelink": [],
            "uniqueid": "ua-nazk-company-5218",
            "pob": "",
            "goodqualityaka": "",
            "lowqualityaka": "",
            "passportno": "",
            "nationalidentificationno": "",
            "listedon": "",
            "otherinformation": ""
        }
    ],
    "warnings": [
        {
            "name": "RAM AND RAM",
            "aliases": [],
            "birth_date": "",
            "countries": "",
            "addresses": "",
            "identifiers": "",
            "sanctions": "",
            "phones": "",
            "emails": "",
            "case_year": "",
            "title": "",
            "case_link": "",
            "subject": "",
            "pan": "",
            "status": "Disqualified",
            "type": "",
            "category": "",
            "period": "",
            "din": "",
            "remarks": "",
            "cin": "",
            "roc": "405 Strike off",
            "section": "",
            "petitioner": "",
            "zone": "",
            "source": "",
            "year": "",
            "authority": "",
            "aml_type": "warnings",
            "gfc_entitytype": "unknown",
            "gfc_uniqueid": "AML_AMLMCA_NA_RAMANDRAM_NA_NA",
            "created_at": "15th April 2024",
            "gfc_updated_at": "15th April 2024",
            "matched": {},
            "entityname": "",
            "entitytype": "",
            "listname": [
                "MCA Disqualified Directors"
            ],
            "sourcename": "",
            "sourcelink": [],
            "uniqueid": "",
            "startdate": "",
            "enddate": "",
            "regdate": "",
            "dateoforderemailletter": "",
            "noticeorcircularno": "",
            "noticeorcirculardate": "",
            "filingdate": "",
            "companyname": "RAM AND RAM",
            "directoraddress": "",
            "fathersname": "",
            "branchoffice": "",
            "companyaddress": "",
            "companystatus": "",
            "periodfrom": "01.11.2016",
            "periodto": "31.10.2021",
            "orderdate": "",
            "orderparticulars": "",
            "defaulteddate": "",
            "exchangenotice": "",
            "ordercopy": "",
            "poname": "",
            "internalcaseno": "",
            "officername": "",
            "undersection": "",
            "directorname": "",
            "issuesize": "",
            "taxarrear": "",
            "otherdetails": ""
        },
        {
            "name": "RAM CHAND ARORA",
            "aliases": [],
            "birth_date": "",
            "countries": "us",
            "addresses": "BLOOMFIELD HILLS, 48302, USA",
            "identifiers": "",
            "sanctions": "Reciprocal - 2003-10-20,Reciprocal - 2003-12-23",
            "phones": "",
            "emails": "",
            "case_year": "",
            "title": "",
            "case_link": "",
            "subject": "",
            "pan": "",
            "status": "",
            "type": "",
            "category": "",
            "period": "",
            "din": "",
            "remarks": "",
            "cin": "",
            "roc": "",
            "section": "",
            "petitioner": "",
            "zone": "",
            "source": "",
            "year": "",
            "authority": "",
            "aml_type": "warnings",
            "gfc_entitytype": "unknown",
            "gfc_uniqueid": "AML_AMLWARRANTS_NA_USSAMPROCUREMENTEXCLUSIONS",
            "created_at": "9th April 2024",
            "gfc_updated_at": "9th April 2024",
            "matched": {},
            "entityname": "",
            "entitytype": "Person",
            "sourcename": "",
            "listname": [
                "US SAM Procurement Exclusions"
            ],
            "sourcelink": [],
            "uniqueid": "usgsa-s4mr3msbk",
            "startdate": "",
            "enddate": "",
            "regdate": "",
            "dateoforderemailletter": "",
            "noticeorcircularno": "",
            "noticeorcirculardate": "",
            "filingdate": "",
            "companyname": "",
            "directoraddress": "",
            "fathersname": "",
            "branchoffice": "",
            "companyaddress": "",
            "companystatus": "",
            "periodfrom": "",
            "periodto": "",
            "orderdate": "",
            "orderparticulars": "",
            "defaulteddate": "",
            "exchangenotice": "",
            "ordercopy": "",
            "poname": "",
            "internalcaseno": "",
            "officername": "",
            "undersection": "",
            "directorname": "",
            "issuesize": "",
            "taxarrear": "",
            "otherdetails": ""
        }
    ],
    "pep": [
        {
            "name": "Ram Krishna Yadav",
            "aliases": [
                "मा.रामकृष्ण यादब",
                "रामकृष्ण यादव"
            ],
            "birth_date": "",
            "countries": "np",
            "addresses": "",
            "identifiers": "Q19683098",
            "sanctions": "",
            "phones": "4108655",
            "emails": "",
            "first_seen": "2019-05-21T00:00:00.000Z",
            "last_seen": "2024-03-20T18:48:01.000Z",
            "last_change": "",
            "election": "",
            "year": "",
            "url": "",
            "state": "",
            "consituency": "",
            "party": "",
            "education": "",
            "liabilities": "",
            "assembly": "",
            "district": "",
            "sdw": "",
            "age": "",
            "membername": "",
            "children": "",
            "gfc_entitytype": "unknown",
            "profession": "",
            "present_address": "",
            "email": "",
            "aml_type": "pep",
            "gfc_uniqueid": "AML_AMLPEP_NA_EVERYPOLITICIANWIKIDATAPOLITICALLYEXPOSEDPERSONS",
            "remarks": "",
            "created_at": "10th April 2024",
            "gfc_updated_at": "10th April 2024",
            "matched": {},
            "entityname": "",
            "entitytype": "Person",
            "sourcename": "",
            "listname": [
                "Every Politician",
                "Wikidata Politically Exposed Persons"
            ],
            "sourcelink": [],
            "uniqueid": "Q45023343",
            "electionurl": "",
            "canditatelink": "",
            "criminalcase": "",
            "totalassets": "",
            "selfprofession": "",
            "spouseprofession": "",
            "memberid": "",
            "fathersname": "",
            "mothersname": "",
            "pob": "",
            "maritalstatus": "",
            "spousename": "",
            "permanentaddress": "",
            "positionheld": "",
            "freedomfighter": "",
            "otherinfo": ""
        },
        {
            "name": "Arjun Ram Meghwal",
            "aliases": [
                "Meghwal, Shri Arjun Ram",
                "ارجن رام میگھوال",
                "अर्जुन राम मेघवाल",
                "ਅਰਜੁਨ ਰਾਮ ਮੇਘਵਾਲ",
                "અર્જુન રામ મેઘવાલ",
                "ଅର୍ଜୁନ ରାମ ମେଘୱାଲ",
                "అర్జున్ రామ్‍ మేఘవాల్",
                "അർജുൻ രാം മേഘ്‌വാൾ"
            ],
            "birth_date": "1953-12-20",
            "countries": "in",
            "addresses": "",
            "identifiers": "Q4791582",
            "sanctions": "",
            "phones": "",
            "emails": "arjunrammeghwal@gmail.com",
            "first_seen": "2019-05-21T00:00:00.000Z",
            "last_seen": "2024-03-20T18:48:01.000Z",
            "last_change": "",
            "election": "",
            "year": "",
            "url": "",
            "state": "",
            "consituency": "",
            "party": "",
            "education": "",
            "liabilities": "",
            "assembly": "",
            "district": "",
            "sdw": "",
            "age": "",
            "membername": "",
            "children": "",
            "gfc_entitytype": "unknown",
            "profession": "",
            "present_address": "",
            "email": "",
            "aml_type": "pep",
            "gfc_uniqueid": "AML_AMLPEP_NA_EVERYPOLITICIANWIKIDATAPOLITICALLYEXPOSEDPERSONS",
            "remarks": "",
            "created_at": "10th April 2024",
            "gfc_updated_at": "10th April 2024",
            "matched": {},
            "entityname": "",
            "entitytype": "Person",
            "sourcename": "",
            "listname": [
                "Every Politician",
                "Wikidata Politically Exposed Persons"
            ],
            "sourcelink": [],
            "uniqueid": "Q4791582",
            "electionurl": "",
            "canditatelink": "",
            "criminalcase": "",
            "totalassets": "",
            "selfprofession": "",
            "spouseprofession": "",
            "memberid": "",
            "fathersname": "",
            "mothersname": "",
            "pob": "",
            "maritalstatus": "",
            "spousename": "",
            "permanentaddress": "",
            "positionheld": "",
            "freedomfighter": "",
            "otherinfo": ""
        }
    ]
}

If successful, AML API will return a JSON response of AML details available of sanctions, warrants, and pep type including name, address, aml-type etc.

In case of failure, API will return error code listed in error section

The fields in the response and some sample values are documented here.

Name fuziness examples

Examples of Exact Match(0)
Ramesh matches with only Ramesh, not with Remesh or Ramash etc.
Ram matches with only Ram.


Examples of Smart Match(1)
Ramesh matches with Remesh, Ramash or Ramess etc.
kumaar matches with Kumar, Kumar, Shri P. etc.
Ali matches with T T P Ali etc.
Ram matches with Shri Ram Kumar etc.
Raju matches with K. Raju, Shri Raju alias Devappa Anna Shetti etc.


Examples of Exact Match(2)
Ramesh matches with Ramesh Pathirana, Ramesh Chand or Chennamaneni Ramesh etc.
Kumar matches with Kumar Bangarappa, Jilila Kumar and Ajit Kumar Doval etc.
Ali matches with Md. Zafar Ali, Ali Pilli and Mahamoud Ali Youssouf etc.
Ram matches with Kesha Ram, Ram Swaroop Sharma, Ram Karki and Kesha Ram Hinsdale etc.
Raju matches with Raju Khanal, K. Raju, David Raju Palaparthi etc.

Voter API

The API returns voter details of a person based on voter id (EPIC number).

API Endpoint

https://crime.getupforchange.com/api/v4/getVoterData?apiKey=test_apikey&voterId=WJU2379329
If voter ID is found:

{
    "sex": "Female",
    "gaurdian_type": "Father's Name:",
    "electors_name": "DEVI PENDRARAMAP",
    "@timestamp": "2018-04-15T08:34:50.853Z",
    "votercard_no": "WJU2379329",
    "gaurdian_name_phonetic": "PADU PENDRA",
    "gaurdian_name": "PADU PENDRA",
    "@version": "1",
    "houseno": "14-41-31/2",
    "id": 3574857,
    "state": "ANDHRA PRADESH",
    "electors_name_phonetic": "DEVI PENDRARAMAP",
    "age": " 20"
}
If such a voter ID is not found:
{
    "status": "Zero Records Found"
}

HTTP Request

GET https://crime.getupforchange.com/api/v4/getVoterData?apiKey=test_apikey&voterId=WJU2379329

URL Parameters

voterId: string
Pass any person Voter Id to get voter details

Vehicle Number API

Vehicle Number API allows you to search for court cases that mention a given Indian vehicle number.

This API accepts parts of a vehicle number (e.g. MH-46-F-5722) such as state code (e.g. "MH"), district code (e.g. "46"), alphabetical serial (e.g. "F") and the numerical serial number (e.g. "5722"). It returns a list of court cases, just like the Records API.

Vehicle Number API

curl --location 'https://crime.getupforchange.com/api/vehicleSearch' \
--data-urlencode 'stateCode=MH' \
--data-urlencode 'districtCode=46' \
--data-urlencode 'alphabetSerial=F' \
--data-urlencode 'numberSerial=5722' \
--data-urlencode 'apiKey=test_apikey'
require "uri"
require "net/http"

url = URI("https://crime.getupforchange.com/api/vehicleSearch")

https = Net::HTTP.new(url.host, url.port)
https.use_ssl = true

request = Net::HTTP::Post.new(url)
request.body = "stateCode=MH&districtCode=46&alphabetSerial=F&numberSerial=5722&apiKey=test_apikey"

response = https.request(request)
puts response.read_body
import requests

url = "https://crime.getupforchange.com/api/vehicleSearch"

payload='stateCode=MH&districtCode=46&alphabetSerial=F&numberSerial=5722&apiKey=test_apikey'
headers = {}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => 'https://crime.getupforchange.com/api/vehicleSearch',
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => '',
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => 'POST',
  CURLOPT_POSTFIELDS => 'stateCode=MH&districtCode=46&alphabetSerial=F&numberSerial=5722&apiKey=test_apikey',
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;
var urlencoded = new URLSearchParams();
urlencoded.append("stateCode", "MH");
urlencoded.append("districtCode", "46");
urlencoded.append("alphabetSerial", "F");
urlencoded.append("numberSerial", "5722");
urlencoded.append("apiKey", "test_apikey");

var requestOptions = {
  method: 'POST',
  body: urlencoded,
  redirect: 'follow'
};

fetch("https://crime.getupforchange.com/api/vehicleSearch", requestOptions)
  .then(response => response.text())
  .then(result => console.log(result))
  .catch(error => console.log('error', error));
package main

import (
  "fmt"
  "strings"
  "net/http"
  "io/ioutil"
)

func main() {

  url := "https://crime.getupforchange.com/api/vehicleSearch"
  method := "POST"

  payload := strings.NewReader("stateCode=MH&districtCode=46&alphabetSerial=F&numberSerial=5722&apiKey=test_apikey")

  client := &http.Client {
  }
  req, err := http.NewRequest(method, url, payload)

  if err != nil {
    fmt.Println(err)
    return
  }
  res, err := client.Do(req)
  if err != nil {
    fmt.Println(err)
    return
  }
  defer res.Body.Close()

  body, err := ioutil.ReadAll(res.Body)
  if err != nil {
    fmt.Println(err)
    return
  }
  fmt.Println(string(body))
}
var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Post, "https://crime.getupforchange.com/api/vehicleSearch");
var collection = new List<KeyValuePair<string, string>>();
collection.Add(new("stateCode", "MH"));
collection.Add(new("districtCode", "46"));
collection.Add(new("alphabetSerial", "F"));
collection.Add(new("numberSerial", "5722"));
collection.Add(new("apiKey", "test_apikey"));
var content = new FormUrlEncodedContent(collection);
request.Content = content;
var response = await client.SendAsync(request);
response.EnsureSuccessStatusCode();
Console.WriteLine(await response.Content.ReadAsStringAsync());
OkHttpClient client = new OkHttpClient().newBuilder()
  .build();
MediaType mediaType = MediaType.parse("text/plain");
RequestBody body = RequestBody.create(mediaType, "stateCode=MH&districtCode=46&alphabetSerial=F&numberSerial=5722&apiKey=test_apikey");
Request request = new Request.Builder()
  .url("https://crime.getupforchange.com/api/vehicleSearch")
  .method("POST", body)
  .build();
Response response = client.newCall(request).execute();

URL Parameters

stateCode string
Two-digit alphabetical code representing the state
districtCode: string
Numerical code indicating the district
alphabetSerial: string
Alphabetical serial number of the registration number
numberSerial: string
Numerical serial number of the registration number
apiKey: string
Mandatory
The secret API key assigned for your account. This parameter is mandatory if apiKey is not passed via Authorization header

Response

Response for Vehicle Number API
{
    "status": "OK",
    "searchTerm": "{\"stateCode\":\"MH\",\"districtCode\":\"46\",\"alphabetSerial\":\"F\",\"numberSerial\":\"5722\"}",
    "matchType": "partial",
    "totalResult": 1,
    "totalHits": 1,
    "page": 1,
    "resultsPerPage": 10,
    "details": [
        {
            "year": "2014",
            "bench": "",
            "crawledDate": "2017-01-26T07:46:15.000Z",
            "judgementDate": "",
            "judgementDescription": "",
            "caseFlow": "",
            "orderFlow": "",
            "petitioner": "P.TRAFFIC PS",
            "stateCode": "3",
            "distCode": "5",
            "courtNumber": "8",
            "regNumber": "391/2014",
            "filingNumber": "",
            "filingDate": "18-06-2014",
            "hearingDate": "19th June 2014",
            "courtNumberAndJudge": " 185-CIVIL JUDGE ( JR. DN.) & JMFC",
            "score": 700,
            "id": "3961852",
            "respondent": "LALBHADUR SO RAMSHIRUMANI YADAV AGE 32 YEAR CASTE YADAV",
            "caseName": "Cr/391/2014",
            "caseTypeName": "Cr - Crime Case",
            "caseTypeNumber": "16",
            "courtName": "CIVIL JUDGE AND JMFC, BASAVAKALYAN",
            "caseStatus": "Disposed",
            "caseNo": "201600003912014",
            "firnumber": "",
            "firlink": "",
            "dist": "",
            "policestation": "",
            "circle": "",
            "state": "Karnataka",
            "courtType": "District Court",
            "district": "Bidar",
            "caseLink": "https://services.ecourts.gov.in/ecourtindia_v6/",
            "gfc_updated_at": "23rd December 2022",
            "created_at": "29th December 2022",
            "cinNumber": "KABD310020682014",
            "caseRegDate": "18-06-2014",
            "petitionerAddress": "1) P.TRAFFIC PS    Address  - P.TRAFFIC PS",
            "respondentAddress": "1) LALBHADUR SO RAMSHIRUMANI YADAV AGE 32 YEAR CASTE YADAV    Address - OCCUP TYANKAR LORRY N0 MH-46-F-5722 IN DRIVER RO ALAHADIYA TQ. SADAR DIST. JONPUR U.P SATE",
            "underAct": "Criminal Case under IPC",
            "underSection": "279IPC",
            "natureOfDisposal": " Uncontested--CLOSED",
            "gfc_respondents": [
                {
                    "name": "LALBHADUR SO RAMSHIRUMANI YADAV AGE 32 YEAR CASTE YADAV",
                    "address": "OCCUP TYANKAR LORRY N0 MH-46-F-5722 IN DRIVER RO ALAHADIYA TQ. SADAR DIST. JONPUR U.P SATE"
                }
            ],
            "gfc_petitioners": [
                {
                    "name": "P.TRAFFIC PS",
                    "address": "P.TRAFFIC PS"
                }
            ],
            "gfc_uniqueid": "DC_3_5_8_16_201600003912014_KABD310020682014_2014",
            "elasticId": "3961852",
            "caseDetailsLink": "https://crime.getupforchange.com/getDetails?gfcId=a3abe6615315a8915bd2f83577233c39180e9d0d471d90c0d372819536283e8f6a9f32988d530df48087a3b51a27e2f247cfaedbe345aee4a2e75dc7c40f0910",
            "gfc_fir_number_court": "",
            "gfc_fir_year_court": "",
            "gfc_fir_policestation_court": "",
            "gfc_orders_data": {
                "petitioners": [],
                "respondents": []
            },
            "caseType": "Criminal",
            "position": 1
        }
    ]
}

If successful, Vehicle Number API will return a JSON response with all cases where the vehicle number is mentioned.

In case of failure, API will return error code listed in error section

Change History

Date Version Author Change Description
05/06/2024 1.4 Upendra Added new features (exact search and user subscription)
05/01/2024 1.3 Upendra Updated AML API details
21/03/2023 1.2 Aswin Added Vechicle Number API details
15/09/2022 1.1 Upendra Added AML API details
25/08/2022 1.0 Upendra Added Data APIs section