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.

No chance for hackers with anti fraud service

A smart way to prevent fraud

Anti Fraud Data Analysis

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.

Uncomplicated interface

Prevent fraud with a few lines of code

With the help of curl, you can easily use our HTTP interface in PHP and calculate the probability of fraud.

GO SMS

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.

c# SMS

The WebRequest.Create method does the work for you and transfers the most important data of your potential customer to our gateway.

				
					#!/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"
          }

}'

				
			
				
					<?php

$uri = 'https://api.lox24.eu/fraud-checks';

$token = '1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx';

$body = [
    'service_code' => '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!

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.

Of course, you can sign up with us without any obligations and get 50 cents free trial credit for your first queries.

Yes, our system can give equally good estimates for foreign data.

All our servers are located exclusively in Germany. We guarantee the security of your data.

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

0,02 / Query
  • Risk Scoring Value
  • Detailed information
  • 24/7 support
  • Preferred processing

Direct

0,04 / Query
  • Risk Scoring Value
  • Detailed information
  • 24/7 support
  • Preferred processing

Pro

0,03 / Query
  • 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.