✅ ValidaLatam All validators · API docs · RapidAPI · ES

CUIT Validator

CUIT (Argentine tax ID) · Issuer: AFIP / ARCA. Customer and supplier onboarding, e-invoicing, KYC and checkout forms in Argentina.

Free online validator

Validated with the public algorithm; we don't store your input.

Format

11 digits formatted XX-XXXXXXXX-X: a type prefix (20, 23, 24, 27 for individuals; 30, 33, 34 for companies), 8 digits (the DNI for individuals) and one check digit.

Check-digit algorithm

  1. Take the first 10 digits.
  2. Multiply by weights 5, 4, 3, 2, 7, 6, 5, 4, 3, 2 and sum.
  3. Compute 11 − (sum mod 11).
  4. 11 maps to 0; 10 is invalid for that prefix (AFIP reassigns to 23/33).
  5. Compare with the last digit.

Use cases

Customer and supplier onboarding, e-invoicing, KYC and checkout forms in Argentina.

Code examples

# curl (RapidAPI)
curl -X POST "https://validalatam.p.rapidapi.com/validate" -H "Content-Type: application/json" \
  -H "X-RapidAPI-Key: $RAPIDAPI_KEY" -H "X-RapidAPI-Host: validalatam.p.rapidapi.com" \
  -d '{"type":"AR_CUIT","value":"20056822462"}'
# Python
import requests
r = requests.post("https://validalatam.p.rapidapi.com/validate", json={"type": "AR_CUIT", "value": "20056822462"},
                 headers={"X-RapidAPI-Key": KEY, "X-RapidAPI-Host": "validalatam.p.rapidapi.com"})
print(r.json()["valid"], r.json()["formatted"])
// JavaScript (fetch)
const r = await fetch("https://validalatam.p.rapidapi.com/validate", { method: "POST",
  headers: { "Content-Type": "application/json", "X-RapidAPI-Key": KEY, "X-RapidAPI-Host": "validalatam.p.rapidapi.com" },
  body: JSON.stringify({ type: "AR_CUIT", value: "20056822462" }) });
const { valid, formatted, error } = await r.json();
# Response
{
  "valid": true,
  "type": "AR_CUIT",
  "country": "AR",
  "input": "20056822462",
  "normalized": "20056822462",
  "formatted": "20-05682246-2"
}

API plans on RapidAPI

Free plan to get started; paid plans for production volume and batch validation (up to 1000 per request).

See plans on RapidAPI →

FAQ

How is the CUIT check digit calculated?

Take the first 10 digits. Multiply by weights 5, 4, 3, 2, 7, 6, 5, 4, 3, 2 and sum. Compute 11 − (sum mod 11). 11 maps to 0; 10 is invalid for that prefix (AFIP reassigns to 23/33). Compare with the last digit.

What is the CUIT format?

11 digits formatted XX-XXXXXXXX-X: a type prefix (20, 23, 24, 27 for individuals; 30, 33, 34 for companies), 8 digits (the DNI for individuals) and one check digit.

Do CUIT and CUIL use the same algorithm?

Yes, both use mod 11 with the same weights; they differ in purpose (tax vs. labor) and some prefixes.

Does a valid check digit mean the CUIT exists?

No. It proves the number is well-formed. Whether it is active requires a lookup in the AFIP/ARCA registry.

Is this validator free?

Yes, the web tool is free. To integrate it, use the API: there's a free plan on RapidAPI.

Does the API store the numbers I validate?

No. Validation is deterministic, with no storage and no third-party lookups.

Other validators

CUIL · ArgentinaDNI · ArgentinaCBU · ArgentinaCVU · ArgentinaCPF · BrazilCNPJ · BrazilRFC · MexicoCURP · MexicoCLABE · MexicoRUT · ChileNIT · ColombiaRUC · Peru