Inicio

Última Actualización: 05 Diciembre del 2021

Introducción

Con esta API muchas empresas han podido resolver problemas comunes en el registro de datos de sus usuarios. Ya que contamos con varias herramientas con las cuales se pueden validar, verificar y calcular un CURP. Entra las cuales destacan las siguientes:

-Obtención de datos por medio de un CURP
-Generación de CURP por medio de datos
-Validación de estructura por medio de un algoritomo
-Validación de estructura por medio de expresiones regulares


Todos los métodos disponibles de la API reciben la petición por GET, por lo que podrás probar directo en tu navegador.

Registro

Se deberá registrar de forma gratuita y crear un proyecto. En este proyecto se generará un token que deberá enviar en una variable tipo GET para realizar su consulta. Para crear su cuenta deberá acceder a la siguiente URL:
https://api.valida-curp.com.mx/panel/registro

Endpoint

Para acceder a la API, se deberá ingresar al siguiente ENDPOINT:

https://api.valida-curp.com.mx/curp/{metodo}?{variables_get}&token={token}

  • En donde {metodo} será el metodo a utilizar.
  • En donde {variables_get} será una variable tipo GET condicional al método que se usará. En la descripción de cada método está el listado de variables disponibles.
  • En donde {token} será una variable tipo GET obligatoria, será el token generado en su proyecto, con el que accederá a la API

Respuesta del servidor

Una vez que se haya hecho el request, el servidor regresará un código 200 http si todo salió de forma correcta, o devolverá un código 400 http si hubo un error en el envío de los parámetros al endpoint. En cualquier caso devolverá un json.


{
    "error": false,
    "error_code": 0,
    "error_message": "",
    "response": {
        
    }
}
										 


  • En donde {error} será una variable tipo bool. Indicará si hubo un error o no.
  • En donde {error_code} será una variable tipo int. Indicará el número de error que podrá ser identificado en esta documentación.
  • En donde {error_message} será una variable tipo string. Indicará error que hubo al momento de mandar la solicitud al servidor.
  • En donde {response} será una variable tipo array. Devolverá la información de la validación.

Pruebas

Para realizar pruebas, se puede ocupar cualquier método disponible en esta documentación, únicamente se deberá ingresa la palabra {pruebas} en el valor de token, quedando la estructura de esta forma:

https://api.valida-curp.com.mx/curp/{metodo}/?{variable}&token=pruebas

En modo pruebas, mostrará información genérica y estática.

https://api.valida-curp.com.mx/curp/obtener_datos/?token=pruebas&curp=XAXX010101XAXAXA00


{
    "error": false,
    "code_error": 0,
    "error_message": "",
    "response": {
        "Solicitante": {
            "CURP": "XAXX010101XAXAXA00",
            "Nombres": "Nombre de prueba",
            "ApellidoPaterno": "Apellido paterno de prueba",
            "ApellidoMaterno": "Apellido materno de prueba",
            "ClaveSexo": "H",
            "Sexo": "Hombre",
            "FechaNacimiento": "01\/01\/1990",
            "Nacionalidad": "MEX",
            "ClaveEntidadNacimiento": "DF",
            "EntidadNacimiento": "Ciudad de México",
            "ClaveDocProbatorio": "1",
            "DocProbatorio": "Documento de pruebas",
            "ClaveStatusCurp": "XX",
            "StatusCurp": "Estatus de prueba"
        },
        "DocProbatorio": {
            "AnioRegistro": "1990",
            "ClaveEntidadEmisora": "999",
            "ClaveMunicipioRegistro": "999",
            "MunicipioRegistro": null,
            "Foja": "1",
            "FolioCarta": "0",
            "Libro": null,
            "NumActa": "999",
            "NumEntidadRegistrante": "",
            "EntidadRegistrante": "Ciudad de México",
            "NumRegExtranjeros": "",
            "Tomo": ""
        }
    }
}
                            

CURP

Validar estructura de un CURP

Para validar un CURP se deberá acceder al método {validar}, enviar en la url el la variable get {curp} y se deberá mandar la variable tipo get {token} de proyecto de forma obligatoria.
Ejemplo:

https://api.valida-curp.com.mx/curp/validar/?token=pruebas&curp=XAXX010101XAXAXA00


A esto nos devolverá un JSON con el análisis y los resultados de la validación:

En la respuesta, donde {valido} es una variable tipo boolean, que devolverá "false", si la estructura del CURP es inválido, o devolverá "true", si su estructura es correcta.

Ejemplo:

{
    "error": false,
    "code_error": 0,
    "error_message": null,
    "response": {
        "valido": true
    }
}
                                         
                                         

Obtener datos de un CURP

Para acceder obtener los datos de un CURP dado, se deberá acceder al método {obtener_datos} y se deberá enviar de forma obligatoria la variable tipo GET {curp} y {token}:

https://api.valida-curp.com.mx/curp/obtener_datos/?token=pruebas&curp=XAXX010101XAXAXA00

  • En donde {token} será el token asignado a su proyecto, con el que identificará su proyecto y le dará acceso a la API.
  • En donde {curp} será una variable tipo GET obligatoria, con el cual se obtendrá la información de la persona dueña del curp


{
    "error": false,
    "code_error": 0,
    "error_message": "",
    "response": {
        "Solicitante": {
            "CURP": "PXNE660720HMCXTN06",
            "Nombres": "ENRIQUE",
            "ApellidoPaterno": "PEÑA",
            "ApellidoMaterno": "NIETO",
            "ClaveSexo": "H",
            "Sexo": "Hombre",
            "FechaNacimiento": "20\/07\/1966",
            "Nacionalidad": "MEX",
            "ClaveEntidadNacimiento": "MC",
            "EntidadNacimiento": "México",
            "ClaveDocProbatorio": "1",
            "DocProbatorio": "Acta de nacimiento",
            "ClaveStatusCurp": "AN",
            "StatusCurp": "Alta Normal"
        },
        "DocProbatorio": {
            "AnioRegistro": "1966",
            "ClaveEntidadEmisora": "",
            "ClaveMunicipioRegistro": "014",
            "MunicipioRegistro": "Atlacomulco",
            "Foja": "",
            "FolioCarta": "",
            "Libro": "",
            "NumActa": "00985",
            "NumEntidadRegistrante": "15",
            "EntidadRegistrante": "México",
            "NumRegExtranjeros": "",
            "Tomo": ""
        }
    }
}
                                         
                                         

Calcular un CURP por medio de datos de una persona

Para calcular un CURP se deberá acceder al método {calcular_curp}, se deberá enviar las siguientes variables tipo get de forma obligatoria:
  • token: variable get que se usara para identificar el proyecto y dar acceso a la API
  • entidad: variable get que se usara para indicar la entidad federativa de nacimiento. Este es un catálogo de 2 dígitos. Ver método entidades.
  • sexo: variable get de una posición que se usara para indicar el sexo de la persona. Se tienen las siguientes opciones para ingresar
    • H = Hombre
    • M = Mujer
    • X = No binario
  • anio_nacimiento: variable get que se usara para indicar el año de nacimiento de la persona. El formato es de 4 dígitos XXXX
  • mes_nacimiento: variable get que se usara para indicar el mes de nacimiento de la persona. El formato es de 2 dígitos XX
  • dia_nacimiento: variable get que se usara para indicar el día de nacimiento de la persona. El formato es de 2 dígitos XX
  • apellido_paterno: variable get que se usara para indicar el apellido paterno de la persona
  • apellido_materno: variable get que se usara para indicar el apellido materno de la persona
  • nombres: variable get que se usara para indicar el o los nombres de la persona
NOTA: Este método se basa en calcular el CURP por medio de un algoritmo, por lo cual puede que la información no sea tan precisa.

Ejemplo de uso:

http://api.valida-curp.com.mx/curp/calcular_curp?token=pruebas&entidad=15&sexo=H&anio_nacimiento=1966&mes_nacimiento=07&dia_nacimiento=20&apellido_materno=nieto&apellido_paterno=pe%C3%B1a&nombres=enrique


A esto nos devolverá un JSON con el CURP generado.


                                            
                                            
{
    "error": false,
    "code_error": 0,
    "error_message": null,
    "response": {
        "curp": "PXNE660720HMCXTN06"
    }
}
                                         
                                         

Obtener entidades disponibles CURP

En este método se podrá obtener un listado de las entidades disponibles, para poder calcular el CURP. Para obtenerlas se deberá acceder al método {entidades} y se deberá enviar la variable get {token} de forma obligatoria.

Ejemplo:

https://api.valida-curp.com.mx/curp/entidades/?token=pruebas


A esto nos devolverá un JSON con las entidades, su código y abreviación.


                                            
                                            
{
    "error": false,
    "code_error": 0,
    "error_message": null,
    "response": {
        "clave_entidad": [
            {
                "clave_entidad": "01",
                "nombre_entidad": "AGUASCALIENTES",
                "abreviatura_entidad": "AS"
            },
            {
                "clave_entidad": "02",
                "nombre_entidad": "BAJA CALIFORNIA",
                "abreviatura_entidad": "BC"
            },
            {
                "clave_entidad": "03",
                "nombre_entidad": "BAJA CALIFORNIA SUR",
                "abreviatura_entidad": "BS"
            },
            {
                "clave_entidad": "04",
                "nombre_entidad": "CAMPECHE",
                "abreviatura_entidad": "CC"
            }

            .....


        ]
    }
}
                                         
                                         

Códigos de Error API

Una vez que se haya hecho el request, el servidor regresará un código http 400 si hubo un error en el envío de los parámetros al endpoint.

En la siguiente tabla, se en listan los códigos de error:

Validación

Código Descripción Método
1 La IP/token ha sido bloqueada por que no cumple con nuestros términos y condiciones N/A
2 El token del proyecto es inválido N/A
3 El proyecto se encuentra suspendido. Si cree que es un error favor de reportar a soporte N/A
4 Se han agotado sus consultas. Favor de adquirir un nuevo paquete N/A
100 No se recibió el curp a validar Validar CURP
101 La estructura del curp es inválido Validar CURP
200 Error de conexión a RENAPO. Obtener datos CURP
300 Error de RENAPO. En la respuesta se especifica que tipo de error es. Obtener datos CURP
400 No se recibieron los nombres Calcular CURP
401 No se recibió el apellido paterno Calcular CURP
402 No se recibió el apellido materno Calcular CURP
403 No se recibió el día de nacimiento Calcular CURP
404 No se recibió el mes de nacimiento Calcular CURP
405 No se recibió el año de nacimiento Calcular CURP
406 No se recibió el sexo de la persona Calcular CURP
407 No se recibió la entidad de nacimiento Calcular CURP
408 El día de nacimiento debe ser numérico Calcular CURP
409 El mes de nacimiento debe ser numérico Calcular CURP
410 El año de nacimiento debe ser numérico Calcular CURP
411 El día de nacimiento deben ser 2 dígitos Calcular CURP
412 El mes de nacimiento deben ser 2 dígitos Calcular CURP
413 El mes de nacimiento deben ser 2 dígitos Calcular CURP
414 El año de nacimiento deben ser 4 dígitos Calcular CURP
415 El sexo es incorrecto, debe ser H o M Calcular CURP
416 La clave de entidad es inválida Calcular CURP
417 Error inesperado. En la respuesta indica el tipo de error. Calcular CURP

Changelog

En esta sección aparecerán los cambios hechos en la API, desde el día de su publicación

  • 5/12/2021 - Se migró API a dominio principal Valida-CUPR.com.mx
  • 5/08/2021 - Creación y publicación de la API