NIK Decoder

Read what a NIK says about itself.

Province, regency, district, birth date, gender and an optional age gate decoded from a NIK, with plausibility checks.

POST /v1/identity/nik/decode scope: data:nik_decode
Key points

Why teams use NIK Decoder

Instant and low cost

Computed from the NIK structure — no registry call, no waiting.

Catch bad input early

Impossible dates, unknown provinces and zero sequences are flagged before you pay for a lookup.

Age gate included

Add minAge and get meetsMinimumAge in the same call, on the Jakarta date.

How it works

From request to result

  1. Send the NIK, and minAge if you need an age gate.
  2. The structure is decoded and each part is checked.
  3. Receive region, birth date, gender, age and check results.
Know the limits. Decoding does not confirm that the person exists or that the NIK is registered. Use Identity Check for that.

Billed per decoded NIK, valid or not. Malformed input (not 16 digits) is free.

Full API reference →
request · examplePOST
POST /v1/identity/nik/decode

{ "nik": "3201••••••••0001", "minAge": 21 }
response · example200
{
  "data": {
    "valid": true,
    "region": { "province": "Jawa Barat", "regencyCode": "3201" },
    "birthDate": "19••-••-••",
    "gender": "L",
    "meetsMinimumAge": true,
    "reasons": []
  }
}
FAQ

Questions

Does this confirm the NIK is real?

No. It checks the structure is plausible. Identity Check confirms against a data source.

Are regency names included?

Province names are included; regency and district are returned as codes.

Can I use it as an age check?

Yes. Send minAge (1–100) and the response adds meetsMinimumAge. It reads the NIK birth date; it does not estimate age from a photo.

Put NIK Decoder into production.

Request access and our team activates your account, or talk to sales about volume.

NIK Decoder · from Rp50Request API access