How to extract birth data from CURP using an API for onboarding verification?

carlos_devmx opened this thread · · 2 replies

curpbirth-datamexico-identitykyc

Question

C
carlos_devmx Asker

Our fintech startup is building a digital onboarding flow for Mexican users. We need to extract and validate birth data from the CURP (Clave Única de Registro de Población) as part of our KYC process. The goal is to confirm that the date of birth, gender, and birthplace state encoded in the CURP actually match what's registered in RENAPO's database.

Currently, we're doing local parsing of the CURP string to extract the embedded demographic information. Characters 5-10 give us the date of birth in YYMMDD format, character 11 provides gender (H/M), and characters 12-13 encode the birthplace state. This works for basic extraction, but we have no way to verify that the CURP is actually valid and registered.

What we need from a CURP birth data API:

  • Validate that the CURP exists in RENAPO's official registry
  • Return the full date of birth with century disambiguation (since CURP only stores two-digit year)
  • Confirm the birthplace entity federativa with its official name
  • Return the registered full name with proper diacritical marks (accents, ñ, etc.)
  • Indicate whether the CURP is active or has been superseded by a newer one

The century disambiguation issue is particularly important for us. A CURP with birth year "00" could mean 1900 or 2000 — the disambiguator character at position 17 helps, but we'd rather get the authoritative answer from RENAPO directly. We process approximately 800 new user registrations daily, so we need something with decent throughput and response times under 2 seconds.

We've looked into RENAPO's own web service but the documentation is practically non-existent. Their SOAP endpoint sometimes returns data and sometimes just times out. We need something production-grade that won't leave our users stuck on a loading screen during registration.

Has anyone successfully integrated a CURP birth data API into their onboarding pipeline? What providers offer reliable uptime and accurate data? We'd prefer REST over SOAP, JSON responses, and pay-per-query pricing since our volume is still growing.

Also wondering about data freshness — how often do these third-party providers sync with RENAPO? If someone just got their CURP issued yesterday, how long until it shows up in a third-party API?

Answers

L
lupita_backend

You can parse the first 10 characters locally for basic demographics, but to get the full RENAPO-validated birth data you need a CURP birth data API that queries the government registry in real time. The local parsing approach fails for edge cases — duplicate CURPs, revoked CURPs, and people who had their CURP corrected after a name change.

We found a reliable provider on apipull.com API Hub that does real-time RENAPO queries with a fallback cache. Response times average 400ms and they handle the century disambiguation correctly. Pricing was around $0.015 per query which is reasonable at 800 daily requests.

For data freshness — most good providers have a sync delay of 24-48 hours for newly issued CURPs. If that's a problem, some offer a "direct mode" that bypasses their cache and queries RENAPO directly (slower but always current).

J
javier_fintech

We use a CURP birth data API in our KYC pipeline and the key advantage over local parsing is that the API confirms the CURP is actually registered and returns the official full name with accents intact. This lets us cross-reference against the ID document they upload — if the names don't match exactly, we flag it for manual review.

One thing to watch out for: some providers return a "status": "valid" even for CURPs that have been superseded. Make sure your provider distinguishes between active and replaced CURPs — this matters for people who had corrections made to their registration.

● Thread open · 2 replies

Find API Providers on apipull.com