Introduction
API Endpoint
https://crime.getupforchange.com/api/
Welcome to the CrimeCheck API! You can use our API to access court cases in our database.
Currently, the API checks for Court Records in all courts across India, including Supreme Court, All High Courts, District Courts and Tribunals. This includes pending and disposed cases. It also searches in important defaulter lists. The total number of records being searched is 17 Crores (17,16,85,644) as on 26-07-2020.
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 API is 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.
Watch this short video to understand more about Report API integration.
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=600, HOUR=3000, DAY=30000) |
500 | Crimecheck service issue |
CrimeReport API
CrimeReport API accepts the profile of a company or individual. After we receive the request, our team of analysts and lawyers will work and provide a report (PDF file) within the agreed Turn Around Time (TAT). There are two APIs available as a part of CrimeReport.
1. Add Report
curl -X POST \
https://crime.getupforchange.com/api/v3/addReport \
-u 'test_apikey:' \
-H 'content-type: application/x-www-form-urlencoded' \
-d 'companyName=Getupforchange Services Private Limited' \
-d 'cinNumber=U74900KA2014PTC073629' \
-d 'companyAddress=#L66, First Floor, 9th B Main, Sector 11, LIC colony, HAL 3rd Stage, Jeevan Bheem Nagar Bangalore Bangalore'
require 'uri'
require 'net/http'
url = URI("https://crime.getupforchange.com/api/v3/addReport")
http = Net::HTTP.new(url.host, url.port)
request = Net::HTTP::Post.new(url)
request.basic_auth("test_apikey", "")
request["content-type"] = 'application/x-www-form-urlencoded'
request.body = "companyName=Getupforchange%20Services%20Private%20Limited&cinNumber=U74900KA2014PTC073629&companyAddress=%23L66%2C%20First%20Floor%2C%209th%20B%20Main%2C%20Sector%2011%2C%20LIC%20colony%2C%20HAL%203rd%20Stage%2C%20Jeevan%20Bheem%20Nagar%20Bangalore%20Bangalore"
response = http.request(request)
puts response.read_body
import requests
headers = {
'content-type': 'application/x-www-form-urlencoded',
}
data = [
('companyName','Getupforchange Services Private Limited'),
('cinNumber','U74900KA2014PTC073629'),
('companyAddress','#L66, First Floor, 9th B Main, Sector 11, LIC colony, HAL 3rd Stage, Jeevan Bheem Nagar Bangalore Bangalore')
]
requests.post('https://crime.getupforchange.com/api/v3/addReport', headers=headers, data=data, auth=('test_apikey', ''))
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://crime.getupforchange.com/api/v3/addReport",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => "companyName=Getupforchange%20Services%20Private%20Limited&cinNumber=U74900KA2014PTC073629&companyAddress=%23L66%2C%20First%20Floor%2C%209th%20B%20Main%2C%20Sector%2011%2C%20LIC%20colony%2C%20HAL%203rd%20Stage%2C%20Jeevan%20Bheem%20Nagar%20Bangalore%20Bangalore",
CURLOPT_HTTPHEADER => array(
"content-type: application/x-www-form-urlencoded"
),
));
curl_setopt($ch, CURLOPT_USERPWD, "test_apikey" . ":" . "");
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
var request = require("request");
var options = { method: 'POST',
url: 'https://crime.getupforchange.com/api/v3/addReport',
auth: {
'user': 'test_apikey',
'pass': ''
}
headers: {
'content-type': 'application/x-www-form-urlencoded',
},
form: { 'companyName':'Getupforchange Services Private Limited','cinNumber':'U74900KA2014PTC073629','companyAddress':'#L66, First Floor, 9th B Main, Sector 11, LIC colony, HAL 3rd Stage, Jeevan Bheem Nagar Bangalore Bangalore' };
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});
body := strings.NewReader(`companyName=Getupforchange%20Services%20Private%20Limited&cinNumber=U74900KA2014PTC073629&companyAddress=%23L66%2C%20First%20Floor%2C%209th%20B%20Main%2C%20Sector%2011%2C%20LIC%20colony%2C%20HAL%203rd%20Stage%2C%20Jeevan%20Bheem%20Nagar%20Bangalore%20Bangalore`)
req, err := http.NewRequest("POST", "https://crime.getupforchange.com/api/v3/addReport", body)
if err != nil {
// handle err
}
req.SetBasicAuth("test_apikey", "")
req.Header.Set("Content-Type", "application/x-www-form-urlencoded")
resp, err := http.DefaultClient.Do(req)
if err != nil {
// handle err
}
defer resp.Body.Close()
var client = new RestClient('https://crime.getupforchange.com/api/v3/addReport'){
Authenticator = new HttpBasicAuthenticator('test_apikey', '')
};
var request = new RestRequest(Method.POST);
request.AddHeader("content-type", "application/x-www-form-urlencoded");
request.AddParameter("application/x-www-form-urlencoded", "companyName=Getupforchange%20Services%20Private%20Limited&cinNumber=U74900KA2014PTC073629&companyAddress=%23L66%2C%20First%20Floor%2C%209th%20B%20Main%2C%20Sector%2011%2C%20LIC%20colony%2C%20HAL%203rd%20Stage%2C%20Jeevan%20Bheem%20Nagar%20Bangalore%20Bangalore", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
HttpResponse<String> response = Unirest.post("https://crime.getupforchange.com/api/v3/addReport")
.basicAuth("test_apikey", "")
.header("content-type", "application/x-www-form-urlencoded")
.body("companyName=Getupforchange%20Services%20Private%20Limited&cinNumber=U74900KA2014PTC073629&companyAddress=%23L66%2C%20First%20Floor%2C%209th%20B%20Main%2C%20Sector%2011%2C%20LIC%20colony%2C%20HAL%203rd%20Stage%2C%20Jeevan%20Bheem%20Nagar%20Bangalore%20Bangalore")
.asString();
AddReport API accepts details of the company, and it will return a unique requestId for each request. This unique requestId is needed to retrieve the report of the company.
HTTP Request
POST https://crime.getupforchange.com/api/v3/addReport
Format of optional directors JSON array
(only name is mandatory, others will increase relevance of results):
----------------------------------------------------------------
[
{
"name" : "...", <-- Mandatory
"fatherName" : "",
"dob" : "...",
"address" : "...",
"reportMode" : "",
"priority" : "",
"panNumber" : "",
"reqTag" : "",
"gstNumber" : "",
"ticketSize" : "",
}
]
Possible values of companyType
------------------------------
Private Limited => "PvtLtd"
Public Limited => "Limited"
Limited Liability Company => "LLC"
Limited Liability Partnership => "LLP"
Registered Firm => "RegFirm"
Unregistered Firm => "UnregFirm"
Proprietary => "Proprietary"
URL Parameters - For Company
companyName: | string Mandatory Name of the company |
cinNumber: | string Optional CIN Number of the company |
companyAddress: | string Optional Registered address of the company |
directors | JSON array Optional Director(s)/Owner(s)/Partner(s) of the company Each object in the array represents one individual (see sidebar) |
companyType | string Optional Type of the company. See sidebar for possible options. |
clientRefNo | string Optional Unique Reference Number which will be included in the report |
reportMode | string Optional If the value realTimeHighAccuracy is passed, generates a Real-time report, compiling all cases returned by highAccuracy mode of Crime Records API. Report will be available in next few mins. There is no manual scrutiny by legal team. If no value is passed, report generation will happen through usual process of filtering by CrimeCheck's operations team, including manual scrutiny by legal team. Report will be available in agreed TAT (4 - 24 hours usually). |
priority | string Optional Default: normal If value is set to high , it will be targeted to be finished within 4 hours. If completed within 4 hours, higher charges will be applicable (contact CrimeCheck for details). If not completed within 4 hours, charges will be normal. |
callbackUrl: | string Optional We will do an HTTP POST back to this URL when the report is ready |
crimewatch | boolean Optional Default: false If set to true , we'll monitor this profile at a regular frequency for any new cases or updates to existing cases, and send you updated reports via callback (more info) The CrimeWatch callback body will have crimewatch key set to true to indicate that it is a CrimeWatch response. It'll also have an additional crimewatch object inside each case object, which has a flag field indicating the nature of change from previous report (new,modified,nochange), followed by a modified_fields array listing the fields that were changed if any. See sample response below.Note: Usage of CrimeWatch needs to be enabled for each API key from CrimeCheck side. Request explicitly to enable this before use. |
gstNumber: | string Optional GST Number of Company |
reqTag: | string Optional Any string tag you want to attach to this request. E.g. "Agri Loan", "Auto Loan" |
ticketSize: | string Optional Slab of the monetary value to be delivered to the assessee, based on this request's risk profile. Will be used to determine the risk, comparing with the kind of cases the assessee is involved in. Possible values are: 0 - 1 Lakh ₹ , 1 - 10 Lakh ₹ , More than 10 lakh ₹ |
URL Parameters - For Individual
name: | string Mandatory Name of the Individual |
fatherName: | string Optional Father name |
dob: | string Optional Date of birth |
address: | string Optional Address |
panNumber: | string Optional PAN of the individual |
callbackUrl: | string Optional We will do an HTTP POST back to this URL when the report is ready |
crimewatch | boolean Optional Default: false If set to true , we'll monitor this profile at a regular frequency for any new cases or updates to existing cases, and send you updated reports via callback (more info) The CrimeWatch callback body will have crimewatch key set to true to indicate that it is a CrimeWatch response. It'll also have an additional crimewatch object inside each case object, which has a flag field indicating the nature of change from previous report (new,modified,nochange), followed by a modified_fields array listing the fields that were changed if any. See sample response below.Note: Usage of CrimeWatch needs to be enabled for each API key from CrimeCheck side. Request explicitly to enable this before use. |
Response
Response for addReport API
{
"status": "OK",
"requestTime": "11/04/2018 12:58:17",
"requestId": "1523431697863"
}
If successful, Add report API will return a JSON response containing unique id of the request.
If callbackUrl
is provided, We will do an HTTP POST to the callbackUrl. Results from callback are bundled and sent through a parameter named data
.
Response via callBack
{
"status":"OK",
"uniqueId":"1533629553214",
"requestTime":"01:42 PM - 07/08/2018 ",
"responseTime":"01:43 PM - 07/08/2018 ",
"downloadLink":"https://crime.getupforchange.com/api/v3/downloadReport/1533629553214/test_apikey"
}
In case of failure, API will return error code listed in error section
2. Download PDF Report
Reports uploaded by our team can be retrieved using the download report API.
HTTP Request
GET https://crime.getupforchange.com/api/v3/downloadReport/<requestId>/<apiKey>
URL Parameters
requestId: | string Mandatory Unique requestId sent by addReport API |
apiKey: | string Mandatory This parameter is mandatory if apiKey is not passed via Authorization header. |
Response
{
"status": "OK",
"message": "Invalid UniqueId or APIKey"
}
{
"status": "OK",
"message": "Report not available. Please try again later."
}
If successful, PDF file blob will be sent which can be saved and opened via PDF readers.
In case of failure, following responses will be sent.
Message | Description |
---|---|
Invalid UniqueId or APIKey | Invalid Unique ID or APIKey is passed |
Report not available. Please try again later. | Our team has not uploaded the report. Please try later. |
3. Download JSON Report
Report uploaded by our team can be retrieved as a JSON response, which also includes a link to the PDF report described above.
HTTP Request
GET https://crime.getupforchange.com/api/v3/downloadJsonReport/<requestId>/<apiKey>
URL Parameters
requestId: | string Mandatory Unique requestId sent by addReport API |
apiKey: | string Mandatory This parameter is mandatory if apiKey is not passed via Authorization header. |
Response
See sidebar for sample responses on failure and success.
Failure
-------
{
"status": "failed",
"message": "Invalid UniqueId or APIKey"
}
Or,
{
"status": "failed",
"message": "Report not available. Please try again later."
}
Success
-------
{
"status": "OK",
"requestId": "1597298625363",
"downloadLink": "https://crime.getupforchange.com/api/v3/downloadReport/1597298625363/sample-key",
"riskType": "Very High Risk",
"riskSummary": "There is a pending case filed against the subject,the case is filed for Husband or relative of husband of a woman subjecting her to cruelty.",
"numberOfCases": 1,
"caseDetails": [
{
"slNo": 1,
"petitioner": "Antophill Police Staion",
"respondent": "Sanjay Akhilesh Gupta",
"cinNumber": "MHMM130045422012",
"caseTypeName": "PW - Police Warrant Trible",
"courtName": "Additional Chief Metropolitan Magistrate, Kurla,M",
"state": "MAHARASHTRA",
"district": "MUMBAI",
"petitionerAddress": "1) Name: Antophill Police StaionAddress: C.G.S. Colony, Sector No. 6, Kane Nagar Antophill, Mumbai",
"respondentAddress": "1) Name: Sanjay Akhilesh GuptaAddress: B. NO. B-1 ROOM NO. 18 SARDAR NGR NO. 4 SION KOLIWADA MUMBAI 37gfc_pincode: 400037",
"caseNumber": "208551015842012",
"caseYear": "2012",
"underAct": "U/s 498A406, Indian Penal Code",
"section": "498A406",
"caseStatus": "Pending",
"firLink": "N/A",
"judgementLink": "https://judgements.getupforchange.com/MHMM130045422012.pdf",
"caseLink": "https://services.ecourts.gov.in/ecourtindia_v6/",
"caseType": "Criminal",
"caseRemarks": "Address: B. NO. B-1 ROOM NO. 18 SARDAR NGR NO. 4 SION KOLIWADA MUMBAI 37",
"natureOfDisposal": "",
"final_riskType": null,
"final_riskSummary": null,
"courtType": "Magistrate Court",
"caseDetailsLink": "https://crime.getupforchange.com/getDetails?id=AWK5YCr-aQi7HkqivKOM"
}
]
}
Message | Description |
---|---|
Invalid UniqueId or APIKey | Invalid Unique ID or APIKey is passed |
Report not available. Please try again later. | Our team has not uploaded the report. Please try later. |
Usage Count
API Endpoint
https://crime.getupforchange.com/api/v3/usage?apiKey=sample-key
The above command returns JSON structured like this:
{
"usage": 48,
"limit": 100
}
CrimeCheck APIs work based on credits added to your API Key. To check the balance credits, call this API and pass in your apiKey as a GET parameter.
Appendix
List of States and Union Territories
- Andaman and Nicobar
- Andhra Pradesh
- Assam
- Bihar
- Chandigarh
- Chhattisgarh
- Delhi
- Diu and Daman
- DNH at Silvasa
- Goa
- Gujarat
- Haryana
- Himachal Pradesh
- Jammu and Kashmir
- Jharkhand
- Karnataka
- Kerala
- Madhya Pradesh
- Maharashtra
- Manipur
- Meghalaya
- Mizoram
- Orissa
- Punjab
- Rajasthan
- Sikkim
- Tamil Nadu
- Telangana
- Tripura
- Uttar Pradesh
- Uttarakhand
- West Bengal
List of Districts
- Andaman and Nicobar
- Port Blair
Andhra Pradesh
- Ananthapur
- Chittoor
- East Godavari
- Guntur
- Kadapa
- Krishna
- Kurnool
- Nellore
- Prakasham
- Srikakulam
- Visakapatnam
- Vizianagaram
- West Godavari
Assam
- Barpeta
- Bongaigaon
- Cachar
- Darrang
- Dhemaji
- Dhubri
- Dibrugarh
- Goalpara
- Golaghat
- Hailakandi
- Jorhat
- Kamrup
- Kamrup Metro
- Karimganj
- Kokrajhar
- Lakhimpur
- Morigaon
- Nagaon
- Nalbari
- Sivasagar
- Sonitpur
- Tinsukia
- Udalguri
Bihar
- Araria
- Aurangabad
- Banka
- Begusarai
- Bettiah
- Bhagalpur
- Bhojpur
- Buxar
- Darbhanga
- Gaya
- Gopalganj
- Jamui
- Jehanabad
- Kaimur At Bhabhua
- Katihar
- Khagaria
- Kishanganj
- Lakhisarai
- Madhepura
- Madhubani
- Motihari
- Munger
- Muzaffarpur
- Nalanda
- Nawada
- Patna
- Purnea
- Rohtas Sasaram
- Saharsa
- Samastipur
- Saran At Chapra
- Sheikhpura
- Sheohar
- Sitamarhi
- Siwan
- Supaul
- Vaishalit
Chandigarh
- Chandigarh
Chhattisgarh
- Balod
- Balodabazar
- Bastar
- Bemetara
- Bilaspur
- Dantewada
- Dhamtari
- Durg
- Janjgir
- Jashpur
- Kanker
- Kawardha
- Kondagaon
- Korba
- Koriya
- Mahasamund
- Mungeli
- Raigarh
- Raipur
- Rajnandgaon
- Surajpur
- Surgujalt
Delhi
- Central
- East
- New Delhi
- North
- North East
- North West
- Shahdara
- South
- South East
- South West
- West
Diu and Daman
- Dama
- Diu
DNH at Silvasa
- Silvassa
Goa
- North Goa
- South Goa
Gujarat
- Ahmedabad
- Amreli
- Anand
- Aravalli At Modasa
- Banaskanth At Palanpur
- Bharuch
- Bhavnagar
- Chhota Udepur
- Dahod
- Devbhumi Dwarka At Khambhaliya
- Gandhinagar
- Gir Somnath At Veraval
- Jamnagar
- Junagadh
- Kachchh At Bhuj
- Kheda At Nadiad
- Mahesana
- Mahisagar At Lunawada
- Morbi
- Narmada
- Navsari
- Panchmahal At Godhra
- Patan
- Porbandar
- Rajkot
- Sabarkantha At Himmatnagar
- Surat
- Surendranagar
- Tapi
- Vadodara
- Valsa
Haryana
- Ambala
- Bhiwani
- Faridabad
- Fatehabad
- Gurgaon
- Hisar
- Jhajjar
- Jind
- Kaithal
- Karnal
- Kurukshetra
- Narnaul
- Nuh
- Palwal
- Panchkula
- Panipat
- Rewari
- Rohtak
- Sirsa
- Sonepat
- Yamunanagar
Himachal Pradesh
- Bilaspur
- Chamba
- Hamirpur
- Kangra
- Kinnaur
- Kullu
- Mandi
- Shimla
- Sirmaur
- Solan
- una
Jammu and Kashmir
- Anantnag
- Bandipora
- Baramulla
- Budgam
- Doda
- Ganderbal
- Jammu
- Kargil
- Kathua
- Kulgam
- Kupwara
- Leh
- Poonch
- Pulwama
- Rajouri
- Ramban
- Reasi
- Shopian
- Srinagar
- Udhampur
Jharkhand
- Bokaro
- Chatra
- Daltonganj
- Deoghar
- Dhanbad
- Dumka
- East Singhbhum At Jamshedpur
- Garhwa
- Giridih
- Godda
- Gumla
- Hazaribagh
- Jamtara
- Koderma
- Latehar
- Lohardaga
- Pakur
- Ranchi
- Sahibganj
- Seraikella
- Simdega
- West Singhbhum At Chaibasa
Karnataka
- Bagalkot
- Ballari
- Belagavi
- Bengaluru
- Bengaluru Rural
- Bidar
- Chamrajnagar
- Chikkaballapur
- Chikkamagaluru
- Chitradurga
- Dakshina Kannada
- Davangere
- Dharwad
- Gadag
- Hassan
- Haveri
- Kalaburagi
- Kodagu
- Kolar
- Koppal
- Mandya
- Mysuru
- Raichur
- Ramanagaram
- Shivamogga
- Tumakuru
- Udupi
- Uttara Kannada
- Vijayapura
- Yadgir
Kerala
- Alappuzha
- Ernakulam
- Idukki
- Kannur
- Kasaragod
- Kollam
- Kottayam
- Kozhikode
- Lakshadweep
- Malappuram
- Palakkad
- Pathanamthitta
- Thiruvananthapuram
- Thrissur
- Wayanadlt
Madhya Pradesh
- Alirajpur
- Anuppur
- Ashoknagr
- Balaghat
- Barwani
- Betul
- Bhind
- Bhopal
- Burhanpur
- Chhatarpur
- Chhindwara
- Damoh
- Datia
- Dewas
- Dhar
- Dindori
- Guna
- Gwalior
- Harda
- Hoshangabad
- Indore
- Jabalpur
- Jhabua
- Katni
- Khandwa
- Mandla
- Mandleshwar
- Mandsaur
- Morena
- Narsinghpur
- Neemuch
- Panna
- Raisen
- Rajgarh
- Ratlam
- Rewa
- Sagar
- Satna
- Sehore
- Seoni
- Shahdol
- Shajapur
- Sheopur
- Shivpuri
- Sidhi
- Singrauli
- Tikamgarh
- Ujjain
- Umaria
- Vidisha
Maharashtra
- Ahmednagar
- Akola
- Amravati
- Aurangabad
- Beed
- Bhandara
- Buldhana
- Chandrapur
- Dhule
- Gadchiroli
- Gondia
- Jalgaon
- Jalna
- Kolhapur
- Latur
- Maharashtra-Family Courts
- Maharashtra Industrial And Lab
- Maharashtra-School Tribunals
- Mah State Cooperative Appellat
- Mumbai City Civil Court
- Mumbai Cmm Courts
- Mumbai Motor Accident Claims T
- Mumbai Small Causes Court
- Nagpur
- Nanded
- Nandurbar
- Nashik
- Osmanabad
- Parbhani
- Pune
- Raigad
- Ratnagiri
- Sangli
- Satara
- Sindhudurg
- Solapur
- Thane
- Wardha
- Washim
- Yavatmal
Manipur
- Bishnupur
- Chandel
- Churachandpur
- Imphal East
- Imphal West
- Senapati
- Tamenglong
- Thoubal
- Ukhrul
Meghalaya
- East Khasi Hills
- West Garo Hills
- West Jaintia Hills
Mizoram
- Aizawl
- Lunglei
Orissa
- Anugul
- Balangir
- Balasore
- Bargarh
- Bhadrak
- Boudh
- Cuttack
- Deogarh
- Dhenkanal
- Gajapati
- Ganjam
- Jagatsinghpur
- Jajpur
- Jharsuguda
- Kalahandi
- Kandhamal
- Kendrapada
- Keonjhar
- Khurda
- Koraput
- Malkangiri
- Mayurbhanj
- Nabarangpur
- Nayagarh
- Nuapada
- Puri
- Rayagada
- Sambalpur
- Sonepur
- Sundargarh
Punjab
- Amritsar
- Barnala
- Bathinda
- Faridkot
- Fatehgarh Sahib
- Ferozepur
- Gurdaspur
- Hoshiarpur
- Jalandhar
- Kapurthala
- Ludhiana
- Mansa
- Moga
- Mohali
- Pathankot
- Patiala
- Rupnagar
- Sangrur
- Sbs Nagar
- Sri Muktsar Sahib
- Tarn Taran
Rajasthan
- Ajmer
- Alwar
- Balotra Barmer
- Banswara
- Baran
- Bharatpur
- Bhilwara
- Bikaner
- Bundi
- Chittorgarh
- Churu
- Dausa
- Dholpur
- Dungarpur
- Ganganagar
- Hanumangarh
- Jaipur District
- Jaipur Metro
- Jaiselmer
- Jalore
- Jhalawar
- Jhunjhunu
- Jodhpur District
- Jodhpur Metro
- Karauli
- Kota
- Merta (Nagaur)
- Pali
- Pratapgarh
- Rajsamand
- Sawai Madhopur
- Sikar
- Sirohi
- Tonk
- Udaipur
Sikkim
- Gangtok
- Gyalshing
- Mangan
- Namchiu
Tamil Nadu
- Ariyalur
- Chennai
- Coimbatore
- Cuddalore
- Dharmapuri
- Dindigul
- Erode
- Kancheepuram
- Kanniyakumari
- Karur
- Krishnagiri
- Madurai
- Nagapattinam
- Namakkal
- Perambalur
- Puducherry
- Pudukkottai
- Ramanathapuram
- Salem
- Sivagangai
- Thanjavur
- Theni
- The Nilgiris
- Thoothukudi
- Tiruchirappalli
- Tirunelveli
- Tiruppur
- Tiruvallur
- Tiruvannamalai
- Tiruvarur
- Vellore
- Viluppuram
- Virudhunagar
Telangana
- Adilabad
- Hyderabad
- Karimnagar
- Khammam
- Mahabubnagar
- Mahabubnagar
- Medak
- Nalgonda
- Nizamabad
- Rangareddy
- Warangal
Tripura
- Gomati Tripura
- North Tripura
- Southtripura
- Unakoti Tripura
- West Tripura
Uttar Pradesh
- Agra
- Aligarh
- Allahabad
- Ambedkar Nagar
- Auraiya
- Azamgarh
- Baghpat
- Bahraich
- Ballia
- Balrampur
- Banda
- Barabanki
- Bareilly
- Basti
- Bhadohi Sr Nagar
- Bijnor
- Budaun
- Bulandshahr
- Chitrakoot
- Deoria
- Etah
- Etawah
- Faizabad
- Farrukhabad
- Fatehpur
- Firozabad
- Gautam Buddha Nagar
- Ghaziabad
- Ghazipur
- Gonda
- Gorakhpur
- Hamirpur
- Hapur
- Hardoi
- Hathras
- Jalaun
- Jaunpur
- Jhansi
- Jyotiba Phule Nagar
- Kannauj
- Kanpur Dehat
- Kanpur Nagar
- Kanshi Ram Nagar
- Kaushambi
- Kushinagar
- Lakhimpur
- Lalitpur
- Lucknow
- Maharajganj
- Mahoba
- Mainpuri
- Mathura
- Mau
- Meerut
- Mirzapur
- Moradabad
- Muzaffarnagar
- Pilibhit
- Pratapgarh
- Raebareli
- Rampur
- Saharanpur
- Santkabir Nagar
- Shahjahanpur
- Shravasti
- Siddharthnagar
- Sitapur
- Sonbhadra
- Sultanpur
- Unnao
- Varanasi
Uttarakhand
- Almora
- Bageshwar
- Chamoli
- Champawat
- Dehradun
- Haridwar
- Nainital
- Pauri Garhwal
- Pithoragarh
- Tehri Garhwal
- Udham Singh Nagar
- Uttarkashi
West Bengal
- Bankura
- Birbhum
- Burdwan
- Calcutta
- Coochbehar
- Darjeeling
- Hooghly
- Howrah
- Jalpaiguri
- Malda
- Murshidabad
- Nadia
- North Dinajpur
- North Twenty Four Parganas
- Paschim Medinpur
- Purba Medinipur
- Purulia
- South Dinajpur
- South Twenty Four Parganas
List of court names
- High Court of Gauhati
- High Court of Andhra Pradesh
- High Court of Patna
- Consumer Court
- Court of Chhattisgarh
- National Company Law Tribunal
- High Court of Delhi
- Debts Recovery Tribunal
- High Court of Bombay at Goa
- High Court of Gujarat
- High Court of Himachal Pradesh
- Income Tax Appellate Tribunal
- High Court of Jarkhand
- High Court of Jammu & Kashmir
- High Court of Karnataka
- High Court of Kerala
- High Court of Meghalaya
- High Court of Bombay
- High Court of Manipur
- High Court of Madhya Pradesh - Gwalior
- High Court of Madhya Pradesh - Indore
- High Court of Madhya Pradesh - Jabalpur
- High Court of Orissa
- High Court of Punjab and Haryana
- High Court of Rajasthan - Jaipur
- High Court of Rajasthan - Jodhpur
- Supreme Court of India
- High Court of Sikkim
- High Court of Madras
- High Court of Madras - Madurai Bench
- High Court of Tripura
- High Court of Uttarakhand
- High Court of Allahabad
- High Court of Calcutta
- High Court of Calcutta - Appellate Side
Sample Response
Real-time report
curl -X POST \
https://crime.getupforchange.com/api/v3/addReport \
-u 'test_apikey:' \
-H 'content-type: application/x-www-form-urlencoded' \
-d 'name=Ramakant Shankarmal Pilani&address=Plot No 10 Shanti Sadan J B Nagar,near Subhash Hotel,andheri East Mumbai,maharashtra,mumbai,400059'
require 'uri'
require 'net/http'
url = URI("https://crime.getupforchange.com/api/v3/addReport")
http = Net::HTTP.new(url.host, url.port)
request = Net::HTTP::Post.new(url)
request.basic_auth("test_apikey", "")
request["content-type"] = 'application/x-www-form-urlencoded'
request.body = "name=Ramakant Shankarmal Pilani&address=Plot No 10 Shanti Sadan J B Nagar,near Subhash Hotel,andheri East Mumbai,maharashtra,mumbai,400059"
response = http.request(request)
puts response.read_body
import requests
headers = {
'content-type': 'application/x-www-form-urlencoded',
}
data = [
('name', 'Ramakant Shankarmal Pilani'),
('address', 'Plot No 10 Shanti Sadan J B Nagar,near Subhash Hotel,andheri East Mumbai,maharashtra,mumbai,400059'),
]
requests.post('https://crime.getupforchange.com/api/v3/addReport', headers=headers, data=data, auth=('test_apikey', ''))
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://crime.getupforchange.com/api/v3/addReport",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => "name=Ramakant Shankarmal Pilani&address=Plot No 10 Shanti Sadan J B Nagar,near Subhash Hotel,andheri East Mumbai,maharashtra,mumbai,400059",
CURLOPT_HTTPHEADER => array(
"content-type: application/x-www-form-urlencoded"
),
));
curl_setopt($ch, CURLOPT_USERPWD, "test_apikey" . ":" . "");
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
var request = require("request");
var options = { method: 'POST',
url: 'https://crime.getupforchange.com/api/v3/addReport',
auth: {
'user': 'test_apikey',
'pass': ''
}
headers: {
'content-type': 'application/x-www-form-urlencoded',
},
form: { name: 'Ramakant Shankarmal Pilani', address: 'Plot No 10 Shanti Sadan J B Nagar,near Subhash Hotel,andheri East Mumbai,maharashtra,mumbai,400059' } };
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});
body := strings.NewReader(`name=Ramakant Shankarmal Pilani&address=Plot No 10 Shanti Sadan J B Nagar,near Subhash Hotel,andheri East Mumbai,maharashtra,mumbai,400059`)
req, err := http.NewRequest("POST", "https://crime.getupforchange.com/api/v3/addReport", body)
if err != nil {
// handle err
}
req.SetBasicAuth("test_apikey", "")
req.Header.Set("Content-Type", "application/x-www-form-urlencoded")
resp, err := http.DefaultClient.Do(req)
if err != nil {
// handle err
}
defer resp.Body.Close()
var client = new RestClient('https://crime.getupforchange.com/api/v3/addReport'){
Authenticator = new HttpBasicAuthenticator('test_apikey', '')
};
var request = new RestRequest(Method.POST);
request.AddHeader("content-type", "application/x-www-form-urlencoded");
request.AddParameter("application/x-www-form-urlencoded", "name=Ramakant Shankarmal Pilani&address=Plot No 10 Shanti Sadan J B Nagar,near Subhash Hotel,andheri East Mumbai,maharashtra,mumbai,400059", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
HttpResponse<String> response = Unirest.post("https://crime.getupforchange.com/api/v3/addReport")
.basicAuth("test_apikey", "")
.header("content-type", "application/x-www-form-urlencoded")
.body("name=Ramakant Shankarmal Pilani&address=Plot No 10 Shanti Sadan J B Nagar,near Subhash Hotel,andheri East Mumbai,maharashtra,mumbai,400059")
.asString();
The above command returns JSON structured like this:
{
"status": "OK",
"requestTime": "28/05/2021 18:16:34",
"requestId": "1622205994888"
}
Example Data used:
Name: Ramakant Shankarmal Pilani
Address: Plot No 10 Shanti Sadan J B Nagar,near Subhash Hotel,andheri East Mumbai,maharashtra,mumbai,400059
CrimeWatch response
See sidebar for sample response. Observe that top-level field crimewatch
is set to true
. Observe that each object inside caseDetails
array has an object called crimewatch
, which indicates the nature of the change and the case fields that were changed.
{
"status": "OK",
"requestId": "1650885132243",
"requestTime": "25/04/2022 04:42 pm",
"responseTime": "25/04/2022 04:46 pm",
"searchTerm": [
{
"companyName": "AYURWIN PHARMA PRIVATE LIMITED",
"cinnumber": "",
"address": "1ST BLOCK, RAJAJINAGAR NO. 1094, 19TH MAIN 560010 BANGALORE India 560010 INDIA"
}
],
"crimewatch": true,
"crimewatchNewCasesCount": 13,
"downloadLink": "https://crime.getupforchange.com/api/v3/downloadReport/1650885132243/..........",
"riskType": "Very High Risk",
"riskSummary": "The subject is a defaulter in the CIBIL defaulter list for an amount of Rs. 623.20 lakhs",
"numberOfCases": 17,
"caseDetails": [
{
"slNo": 1,
"petitioner": "CORPORATION BANK",
"respondent": "AYURWIN PHARMA PRIVATE LIMITED, Mr.P.B.Shivakumar--3331842, Mrs.P.R.Shwetha--3640307",
"cinNumber": "m",
"caseTypeName": "",
"hearingDate": "n",
"courtNumberAndJudge": "",
"courtName": "CIBIL - Willful Defaulters list",
"state": "Center",
"district": "",
"petitionerAddress": "1) Name: CORPORATION BANK Address: BANGALORE-MALLESHWARAM",
"respondentAddress": "1) Name: AYURWIN PHARMA PRIVATE LIMITED Address: NO 1094 19TH MAIN, I BLOCK RAJAJINAGAR BANGALORE -560010----------------------------2) Name: Mr.P.B.Shivakumar ----------------------------3) Name: Mrs.P.R.Shwetha ----------------------------",
"caseNumber": "",
"caseNo": "",
"caseYear": "Unknown",
"underAct": "CIBIL - Willful Defaulters list",
"section": "",
"underSection": "",
"caseStatus": "Other",
"firLink": "N/A",
"judgementLink": "",
"caseFlow": [],
"gfc_uniqueid": "LIST_0_0_CIBIL_CORPORATIONBANK_AYURWINPHARMAPRIVATE_30_09_19_NA",
"caseLink": "https://suit.cibil.com/",
"caseType": "Civil",
"natureOfDisposal": "",
"riskType": "High Risk",
"riskSummary": " The subject is a defaulter in the CIBIL - Willful defaulter list and has done a default of Rs. 623.20 lakhs\"\n",
"severity": "CIBIL - Willful Defaulters listmmk",
"judgementSummary": "There are no judgement/order's provided in the court records",
"caseRegDate": "30-09-19",
"regNumber": "",
"filingDate": "",
"filingNumber": "",
"courtType": "Willfull Defaulters List",
"crimewatch": {
"flag": "modified",
"modified_fields": [
"riskType"
]
},
"gfc_orders_data": {
"petitioners": [],
"respondents": []
},
"gfc_respondents": [
{
"name": "<em>AYURWIN</em> <em>PHARMA</em> <em>PRIVATE</em> <em>LIMITED</em> ",
"address": "<mem>NO</mem> <mem>1094</mem> <mem>19TH</mem> <mem>MAIN</mem>, I <mem>BLOCK</mem> <mem>RAJAJINAGAR</mem> <mem>BANGALORE</mem> -<mem>560010</mem>"
},
{
"name": " Mr.P.B.Shivakumar "
},
{
"name": " Mrs.P.R.Shwetha "
}
],
"gfc_petitioners": [
{
"name": "CORPORATION BANK ",
"address": "<mem>BANGALORE</mem>-MALLESHWARAM"
}
],
"matchingAddress": "1) Name: AYURWIN PHARMA PRIVATE LIMITED Address: NO 1094 19TH MAIN, I BLOCK RAJAJINAGAR BANGALORE -560010----------------------------",
"caseDetailsLink": "https://crime.getupforchange.com/getDetails?gfcId=0e30f2e3e49d976567da6d54c83fc8fc39ddda057134ed5d46fb07e125cd8eeefe0a1dd093e6984a39362bbfebbaf97ae184b6f718ef8a9d74dc99fb6ea45f"
}
]
}
Change History
Date | Version | Author | Change Description |
---|---|---|---|
06/05/2022 | 1.12 | Aswin | HTTP Error Codes updated, CrimeWatch response details added |
12/04/2022 | 1.11 | Aswin | CrimeWatch details added |
26/01/2022 | 1.10 | Aswin | Add API Integration video, add Usage Count API details |
07/07/2021 | 1.9 | Mukul | Update with priority field |
29/05/2021 | 1.8 | Mukul | Update with reportMode info |
26/08/2020 | 1.7 | Aswin | Add details of downloadJsonReport API |
30/07/2020 | 1.6 | Aswin | Add PAN number to Individual CrimeReport, JSON array format for directors |
06/03/2018 | 1.5 | Vinoth | Added courtType and courtName Filters. |
05/11/2017 | 1.4 | Vinoth | Added searchFields. |
24/10/2017 | 1.3 | Vinoth | Added resultsPerPage and courtType. |
09/10/2017 | 1.2 | Vinoth | Added filters and pagination. |
01/09/2017 | 1.1 | Vinoth | Added SearchType for Partial searches. |
28/08/2017 | 1.0 | Pradeep | Incorporated review comments. |
26/08/2017 | 0.3 | Vinoth | Added detailed description for all the parameters. |
25/08/2017 | 0.2 | Vinoth | Fixed formatting errors. Added some examples. |
24/08/2017 | 0.1 | Prasad | Added categories for status of response. |
20/08/2017 | First Draft | Vinoth | Created first version with API and details. |