API for automatic fraud check and prevention
With our powerful API, you can forget the tedious process of manual fraud detection. We use artificial intelligence to analyze your visitors’ data, such as IP address, to identify potential fraudulent activity at an early stage. Protect your business and your customers with our easy-to-use fraud check API.
A smart way to prevent fraud
Real-time protection against fraud
Improve your fraud protection with our easy-to-use API. You can send us data of your customers such as IP address, telephone number, e-mail address or even the postal address, which we then evaluate anonymously. From this, our system calculates a probability of fraud and gives you control over how you want to deal with it – whether to run a manual check, block access, ask for a second factor, or restrict certain payment types. All in consideration of data protection.
Protection against cybercrime
Reduce fraud on the Internet in a targeted manner
Improved security
Our fraud check API, designed specifically for fraud detection, can enhance your organization's security by automatically detecting potential fraudulent activity.
Increased efficiency
The API can help streamline the fraud detection process, freeing up time and resources that would otherwise be spent manually reviewing transactions.
Higher accuracy
Our system is trained on big data and can detect fraud more accurately than a human, resulting in a more effective fraud detection process.
Better customer experience
By detecting fraud more effectively, the API can help improve the user experience of your service. Transactions can be processed faster and e.g. Captcha queries can be reduced.
Cost savings
Our API can help a business save money by automating the process of fraud detection and reducing the risk of fraudulent activity.
Scalability
The anti-fraud service can process large volumes of transactions, making it particularly suitable for companies that handle a high volume of transactions or have temporary peaks.
With the help of curl, you can easily use our HTTP interface in PHP and calculate the probability of fraud.
With Go, io/ioutil and net/http are imported and already the data of the suspicious case can be sent to us.
Python gives you a number of different ways to interact with our anti-fraud check API. For example, you can use urllib, Requests, Octopus, or HTTPie.
The WebRequest.Create method does the work for you and transfers the most important data of your potential customer to our gateway.
- curl
- php
- go
- c#
- python
- java
- javascript
#!/usr/bin/env bash
curl -X POST https://api.lox24.eu/fraud-checks \
-H 'Content-Type: application/json' \
-H 'X-LOX24-AUTH-TOKEN: 1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx' \
-d '{
"service_code": "pro",
"phone": "+49751234567",
"email": "test@lox24.de",
"ip": "1.1.1.1",
"address": {
"iso2": "DE",
"city": "Berlin",
"postcode": "13353",
"street_number": "109",
"street_name": "Seestraße"
}
}'
'direct',
'phone' => '+49751234567',
'email' => 'test@lox24.de',
'ip' => '1.1.1.1',
'address' => [
'iso2' => 'DE',
'city' => 'Berlin',
'postcode' => '13353',
'street_number' => '109',
'street_name' => 'Seestraße',
],
];
if (!$body = json_encode($body)) {
die('JSON encoding error!');
}
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_POST => true,
CURLOPT_URL => $uri,
CURLOPT_POSTFIELDS => $body,
CURLOPT_HTTPHEADER => [
"X-LOX24-AUTH-TOKEN: $token",
'Accept: application/json', // or application/ld+json
'Content-Type: application/json',
],
CURLOPT_RETURNTRANSFER => true,
CURLOPT_TIMEOUT => 20,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
]);
$response = curl_exec($curl);
$code = curl_getinfo($curl, CURLINFO_HTTP_CODE);
curl_close($curl);
$data = json_decode($response, JSON_OBJECT_AS_ARRAY);
if (201 === $code) {
echo 'Success: response data = ' . var_export($data, true);
} else {
echo "Error: code = $code, data = " . var_export($data, true);
}
package main
import (
"bytes"
"encoding/json"
"fmt"
"io/ioutil"
"log"
"net/http"
)
func main() {
const Method = "POST"
const URL = "https://api.lox24.eu/fraud-checks"
const Token = "1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx"
address := map[string]interface{}{
"iso2": "DE",
"city": "Berlin",
"postcode": "13353",
"street_number": "109",
"street_name": "Seestraße",
}
payload := map[string]interface{}{
"service_code": "pro",
"phone": "+49751234567",
"email": "test@lox24.de",
"ip": "1.1.1.1",
"address": address,
}
jsonPayload, _ := json.Marshal(payload)
client := &http.Client{}
req, err := http.NewRequest(Method, URL, bytes.NewBuffer(jsonPayload))
if err != nil {
log.Fatal(err)
}
req.Header.Add("X-LOX24-AUTH-TOKEN", Token)
req.Header.Add("Content-Type", "application/json")
res, err := client.Do(req)
if err != nil {
log.Fatal(err)
}
defer res.Body.Close()
body, err := ioutil.ReadAll(res.Body)
if err != nil {
log.Fatal(err)
}
switch res.StatusCode {
case 201:
fmt.Println((string(body)))
case 400:
fmt.Println("Error: code = 400 - Invalid input")
case 401:
fmt.Println("Error: code = 401 - Client ID or API key isn't active or invalid!")
case 403:
fmt.Println("Error: code = 403 - Account isn't activated. Please wait or contact to support!")
default:
fmt.Printf("Error: code = %d\n", res.StatusCode)
}
}
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using System;
using System.IO;
using System.Net;
using System.Text;
namespace Lox24.Api
{
class client
{
static void Main()
{
string key = "1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx";
string url = "https://api.lox24.eu/fraud-checks";
var data = new {
service_code = "direct",
phone = "+49751234567",
email = "test@lox24.de",
ip = "1.1.1.1",
address = new {
iso2 = "DE",
city = "Berlin",
postcode = "13353",
street_number = "109",
street_name = "Seestraße"
}
};
string postdata = JsonConvert.SerializeObject(data);
Console.WriteLine("Post data: {0}", postdata);
var httpWebRequest = (HttpWebRequest)WebRequest.Create(url);
httpWebRequest.ReadWriteTimeout = 100000;
httpWebRequest.ContentType = "application/json; charset=utf-8";
httpWebRequest.Accept = "application/json"; // or application/ld+json
httpWebRequest.Method = "POST";
httpWebRequest.KeepAlive = true;
httpWebRequest.Headers.Add("X-LOX24-AUTH-TOKEN", key);
httpWebRequest.Credentials = CredentialCache.DefaultNetworkCredentials;
using (var streamWriter = new StreamWriter(httpWebRequest.GetRequestStream()))
{
streamWriter.Write(postdata);
streamWriter.Flush();
streamWriter.Close();
}
try
{
using (HttpWebResponse resp = (HttpWebResponse)httpWebRequest.GetResponse())
{
if(resp.StatusCode == HttpStatusCode.Created) {
Console.WriteLine("Success:{0} {1}", (int)resp.StatusCode, "sms resource created");
} else {
Console.WriteLine("Error: wrong response code {0} on create sms", (int)resp.StatusCode);
}
Stream respStream = resp.GetResponseStream();
using (StreamReader sr = new StreamReader(respStream, Encoding.UTF8))
{
string responseText = sr.ReadToEnd();
Console.WriteLine("responseText : {0}", responseText);
}
}
}
catch (System.Net.WebException ex)
{
var webResponse = ex.Response as System.Net.HttpWebResponse;
Console.WriteLine("Error:{0}", webResponse.StatusCode);
switch (webResponse.StatusCode)
{
case HttpStatusCode.BadRequest: // 400
Console.WriteLine("Error:400 Invalid input");
break;
case HttpStatusCode.Unauthorized: // 401
Console.WriteLine("Error:401 Client ID or API key isn't active or invalid!");
break;
case HttpStatusCode.PaymentRequired: // 402
Console.WriteLine("Error:402 There are not enough funds on your account!");
break;
case HttpStatusCode.Forbidden: // 403
Console.WriteLine("Error:403 Account isn't activated. Please wait or contact to support!");
break;
case HttpStatusCode.NotFound: // 404
Console.WriteLine("Error:404 Resource not found");
break;
case HttpStatusCode.InternalServerError: // 500
case HttpStatusCode.BadGateway: //502
case HttpStatusCode.ServiceUnavailable: // 503
case HttpStatusCode.GatewayTimeout: // 504
Console.WriteLine("System error! Please contact to LOX24 support!");
break;
}
}
}
}
import json
import requests
token = "1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx"
url = 'https://api.lox24.eu/fraud-checks'
data = {
'service_code': 'pro',
'phone': '+49751234567',
'email': 'test@lox24.de',
'ip': '1.1.1.1',
'address': {
'iso2': 'DE',
'city': 'Berlin',
'postcode': '13353',
'street_number': '109',
'street_name': 'Seestraße'
}
}
headers = {
'Accept': 'application/json',
'Content-Type': 'application/json',
'X-LOX24-AUTH-TOKEN': token,
}
print("Post data : ", json.dumps(data, indent=4))
try:
# timeout is 100 seconds, the payload is automatically converted to json format
res = requests.post(url, headers=headers, json=data, timeout=100)
if res.status_code != 201: # Created
print("Error: Wrong response code on create sms")
res.raise_for_status()
else:
print(f'Success: code = {res.status_code} - Fraud request resource created')
print("Response: ", json.dumps(res.json(), indent=4))
except requests.HTTPError:
if res.status_code == 400:
print("Error:400 Invalid input")
elif res.status_code == 401:
print("Error: code = 401 - Client ID or API key isn't active or invalid!")
elif res.status_code == 402:
print("Error:402 There are not enough funds on your account!")
elif res.status_code == 403:
print("Error: code = 403 - Account isn't activated. Please wait or contact to support!")
elif res.status_code == 404:
print("Error:404 Resource not found")
elif res.status_code in (500, 502, 503, 504):
print("System error! Please contact to LOX24 support!")
else:
print(f"Error: code {res.status_code}")
print(json.dumps(res.json(), indent=4))
const token = "7b7c6063bab885ce79814b5ff1ee6885";
let postObj = {
"service_code": "pro",
"phone": "+49751234567",
"email": "test@lox24.de",
"ip": "1.1.1.1",
"address": {
"iso2": "DE",
"city": "Berlin",
"postcode": "13353",
"street_number": "109",
"street_name": "Seestraße"
}
};
let postdata = JSON.stringify(postObj);
const https = require('https');
const options = {
hostname: 'api.lox24.eu',
path: '/fraud-checks',
method: 'POST',
headers: {
'Accept': 'application/json',
'Content-Type': 'application/json',
'Content-Length': postdata.length,
'X-LOX24-AUTH-TOKEN': token
}
}
const req = https.request(options, res => {
if (res.statusCode == 201) {
console.log("Success: code = 201 - request resource created");
res.on('data', d => { process.stdout.write(d) })
}
else if (res.statusCode == 400) console.log("Error: code = 400 - Invalid input");
else if (res.statusCode == 401) console.log("Error: code = 401 - Client ID or API key isn't active or invalid!");
else if (res.statusCode == 402) console.log("Error: code = 402 - There are not enough funds on your account!");
else if (res.statusCode == 403) console.log("Error: code = 403 - Account isn't activated. Please wait or contact to support!");
})
req.on('error', error => {
console.error(error)
})
req.write(postdata);
req.end();
const token = "7b7c6063bab885ce79814b5ff1ee6885";
let postObj = {
"service_code": "pro",
"phone": "+49751234567",
"email": "test@lox24.de",
"ip": "1.1.1.1",
"address": {
"iso2": "DE",
"city": "Berlin",
"postcode": "13353",
"street_number": "109",
"street_name": "Seestraße"
}
};
let postdata = JSON.stringify(postObj);
const https = require('https');
const options = {
hostname: 'api.lox24.eu',
path: '/fraud-checks',
method: 'POST',
headers: {
'Accept': 'application/json',
'Content-Type': 'application/json',
'Content-Length': postdata.length,
'X-LOX24-AUTH-TOKEN': token
}
}
const req = https.request(options, res => {
if (res.statusCode == 201) {
console.log("Success: code = 201 - request resource created");
res.on('data', d => { process.stdout.write(d) })
}
else if (res.statusCode == 400) console.log("Error: code = 400 - Invalid input");
else if (res.statusCode == 401) console.log("Error: code = 401 - Client ID or API key isn't active or invalid!");
else if (res.statusCode == 402) console.log("Error: code = 402 - There are not enough funds on your account!");
else if (res.statusCode == 403) console.log("Error: code = 403 - Account isn't activated. Please wait or contact to support!");
})
req.on('error', error => {
console.error(error)
})
req.write(postdata);
req.end();
Focus on your actual business
Eliminate the annoying problem of manual fraud detection with our API
Say goodbye to the tedious and time-consuming process of manual fraud detection. Our powerful API does the work for you, accurately and efficiently identifying potential fraudulent activity. Protect your business and your customers with our easy-to-use fraud detection API.
We have the answer to your questions!
Is the Anti-Fraud API compliant with the GDPR?
Yes, all applicable privacy policies are adhered to. In addition, you have a legitimate interest of the in the data processing (Article 6(1) sentence 1 letter f DSGVO) for fraud prevention.
Can we test it somehow?
Of course, you can sign up with us without any obligations and get 50 cents free trial credit for your first queries.
Can data be queried worldwide?
Yes, our system can give equally good estimates for foreign data.
Where are your servers located?
All our servers are located exclusively in Germany. We guarantee the security of your data.
Is there a minimum contract period?
No, you can cancel at any time without notice. But we are sure that you will be satisfied with us.
You pay only according to consumption for each request
Price list
Do not pay unnecessary basic fees. With us you pay only according to consumption. Forget about packages and other fixed costs. You load prepaid credit and we charge you only for the individual queries. Choose the service that best suits you:
Economy
- Risk Scoring Value
- Detailed information
- 24/7 support
- Preferred processing
Direct
- Risk Scoring Value
- Detailed information
- 24/7 support
- Preferred processing
Pro
- Risk Scoring Value
- Detailed information
- 24/7 support
- Preferred processing
This offer is aimed exclusively at companies, freelancers, associations, political parties and religious communities. All prices are net plus 19% VAT.
Test Anti-Fraud API now!
Integrate our API into your application today and reduce attacks from cyber criminals. With 50 cents free credit you can test the anti-fraud service without any obligations.