✅ ValidaLatam All guides · API docs · RapidAPI · ES

How to validate an Argentine CUIT or CUIL

How the check digit works

CUIT and CUIL have 11 digits: a prefix (20, 23, 24, 27 individuals; 30, 33, 34 companies), an 8-digit base and 1 check digit. Both use the same mod-11 algorithm:

  1. Multiply the first 10 digits by 5,4,3,2,7,6,5,4,3,2 and add them up.
  2. Compute r = 11 − (sum mod 11).
  3. If r = 11 the check digit is 0; if r = 10 there is no valid check digit for that base (AFIP assigns prefix 23 or 33 instead); otherwise it is r.

For CUIL use type AR_CUIL; the math is identical.

Validate with the API

Direct use is free: 50 requests per IP per day, no signup. Endpoints: POST /validate, POST /batch, GET /generate/{doc_type} (for testing only: synthetic data, not real identities).

curl

curl -X POST "https://validalatam.ia-latam.app/validate" -H "Content-Type: application/json" \
  -d '{"type":"AR_CUIT","value":"20-05840371-8"}'

# synthetic test data only / solo para pruebas
curl "https://validalatam.ia-latam.app/generate/AR_CUIT"

Python

import requests

BASE = "https://validalatam.ia-latam.app"

r = requests.post(f"{BASE}/validate", json={"type": "AR_CUIT", "value": "20-05840371-8"})
print(r.json()["valid"], r.json()["formatted"])

Real API response (synthetic value from /generate)

20-05840371-8 (AR_CUIT):

{"valid":true,"type":"AR_CUIT","country":"AR","input":"20-05840371-8","normalized":"20058403718","formatted":"20-05840371-8","error":null,"details":{"entity":"person","dni":"05840371"}}

Plans

For production: Basic free (500 req), Pro US$9, Ultra US$29 and Mega US$99 per month on RapidAPI.

For AI assistants (MCP)

pip install validalatam-mcp

github.com/elmatis172/validalatam-mcp

← All guides · Contact: faucolabs@gmail.com