Luxembourgish Personal Code Validator

Luxembourgish Personal Code Validator

Data Validation Personal Code Validator Credits / request: 1

Validates Luxembourg national identification number.

GET https://api.apikodu.com/api/v1/luxembourgishpersonalcodevalidator
Documentation
Overview

Validates Luxembourgish national identifier and, when possible, returns birth date / gender / check digit. Invalid codes return isValid=false with HTTP 200.

Authentication

Every request requires the x-api-key header. Credits used and remaining quota are returned in response headers (x-api-credits-used, x-api-remaining-credits, x-rate-limit-*).

Request
GET https://api.apikodu.com/api/v1/luxembourgishpersonalcodevalidator?code=1990080212345
Parameters are sent as a query string.
Parameters
Name Type Required Default Options Description
code string * Required — — Identity code to validate.
Response
Name Type Description
isValid boolean true when the code matches checksum and format rules. Invalid codes still return HTTP 200.
birthDate string Birth date YYYY-MM-DD (first 8 digits).
age integer Age in whole years as of today.
birthOrderNumber integer Same-day birth order number (digits 9–11).
securityDigit string 2-digit checksum (last two digits).
maskedCode string Code with middle digits masked.
Errors
HTTP code Description
400 -188 `code` is empty or whitespace. Invalid checksum/format returns HTTP 200 with data.isValid=false, not 400.
401 -100 x-api-key is missing, empty, malformed, inactive, banned, expired, IP-restricted, or not allowed for this API.
429 -221 Per-minute request limit exceeded. Response headers: x-rate-limit-limit, x-rate-limit-remaining, x-rate-limit-reset.
429 — Package credit quota cannot cover this request. Body may be { error, limit, currentUsage, requestCost } (no code field).
500 -1 Unexpected server error. message is a generic error text without technical details.
Notes
  • Success body is { data: { ... } }. Error body is { code, message }. code is an ApiResponseCode enum value (negative integer).

Sample response

{
  "data": {
    "isValid": true,
    "birthDate": "1990-08-02",
    "age": 35,
    "birthOrderNumber": 12,
    "securityDigit": "45",
    "maskedCode": "1990-****-**245"
  }
}

Code samples

  
      const response = await fetch('https://api.apikodu.com/api/v1/luxembourgishpersonalcodevalidator', {
        method: 'GET',
        headers: {
          'x-api-key': 'YOUR_API_KEY'
        }
      });

      const data = await response.json();
      console.log(data);
  
  
      import requests

      headers = {
          'x-api-key': 'YOUR_API_KEY'
      }

      response = requests.get('https://api.apikodu.com/api/v1/luxembourgishpersonalcodevalidator', headers=headers)
      print(response.json())
  
  
      using var client = new HttpClient();
      client.DefaultRequestHeaders.Add("x-api-key", "YOUR_API_KEY");

      var response = await client.GetStringAsync("https://api.apikodu.com/api/v1/luxembourgishpersonalcodevalidator");
      Console.WriteLine(response);
  
  
      $response = file_get_contents('https://api.apikodu.com/api/v1/luxembourgishpersonalcodevalidator', false, stream_context_create([
          'http' => [
              'header' => "x-api-key: YOUR_API_KEY"
          ]
      ]));

      print_r(json_decode($response, true));
  
  
      curl -X GET 'https://api.apikodu.com/api/v1/luxembourgishpersonalcodevalidator' \
        -H 'x-api-key: YOUR_API_KEY'
  

Start building in minutes

Create a free account, get your API key and send your first request in minutes.

Get started free