Profile
Reference for all fields returned by the Buró de Ingresos API when verifying an individual (persona física). Individuals are identified by an 18-character CURP.
Identity, employment and income data for an individual, retrieved from GET /profile/{identifier} using the individual's 18-char CURP.
| Field Name | Type | Description | Example | Notes |
|---|---|---|---|---|
identifier | string | 18-char CURP of the individual. | "CUAI911021MOCRQS09" | Same as the verification identifier. |
updated_at | string (ISO 8601) | Timestamp of the last data update. | "2025-09-10T13:05:12.201273Z" | UTC. |
personal_info | object | Personal identity data. See below. | — | |
address | object | Address data. See below. | — | |
employment_status | string | Current employment status. | "employed" | See Employment Status below. |
tenure | string or null | Minimum verified tenure with the current employer. | "6_months_plus" | See Tenure below. |
estimated_monthly_income | number or null | Estimated net monthly income from invoices and employment data. | 11139.00 | See Estimated Monthly Income below. |
personal_info
personal_info| Field Name | Type | Description | Example | Notes |
|---|---|---|---|---|
personal_info.first_name | string | First name. | "María Jose" | |
personal_info.last_name | string | Last name. | "Pérez Estrada" | |
personal_info.curp | string | Individual's CURP. | "MAPE850312HDFRRR02" | |
personal_info.nss | string | Social Security Number. | "65189234567" | May be null. |
personal_info.rfc | string | Tax ID number. | "MAPE850312F23" | May be null. |
personal_info.phone | string | Contact phone. | "525540235678" | May be null. |
personal_info.email | string | Contact email. | "[email protected]" | May be null. |
personal_info.tax_regime | string | Tax regime, SAT RegimenFiscal. | "Sueldos y Salarios e Ingresos Asimilados a Salarios" | May be null. |
address
address| Field Name | Type | Description | Example | Notes |
|---|---|---|---|---|
address.street | string | Street address. | "Valle del Olmo 28" | May be null. |
address.neighborhood | string | Neighborhood. | "Nueva Santa María" | May be null. |
address.municipality | string | Municipality. | "Azcapotzalco" | May be null. |
address.state | string | State. | "CDMX" | May be null. |
address.zip_code | string | Postal code. | "52340" | May be null. |
Employment Status
employment_status is derived from the individual's employment and invoice records. Possible values are employed, self_employed, retired, unemployed and unknown.
For how each value is derived — signal priority, recency windows, and the payroll concepts that do not count as evidence of an active job — see Employment Status.
Tenure
tenure is the minimum verified job tenure the individual has with their current employer. The value is returned as a bucket, or null when there is not enough evidence or the profile is not employed.
| Value | Meaning |
|---|---|
3_months_plus | At least 3 months of verified tenure. |
6_months_plus | At least 6 months of verified tenure. |
9_months_plus | At least 9 months of verified tenure. |
12_months_plus | At least 12 months of verified tenure. |
null | The profile is not employed, or the available evidence covers less than 3 months. |
Tenure is a floor, not an exact duration. For example, 12_months_plus means we can verify at least 12 months; the individual may have worked for the employer longer. The API never overstates tenure.
The extraction window looks back approximately 12 months, so 12_months_plus is the highest possible bucket.
Estimated Monthly Income
estimated_monthly_income is our best estimate of the individual's net monthly income in MXN, or null when no income data is available.
It's calculated from the last 90 days of invoices (CFDI) plus employment records, normalized to a monthly figure:
estimated_monthly_income = salary + income invoices − expense invoices
- Only the individual's own invoices count: payroll (
nomina) they received, and income (ingreso) / expense (egreso) they issued. Payment receipts (pago) are ignored to avoid double-counting. - Salary comes from recent payroll when available, otherwise from a current active employment record. This means the estimate now uses employment data, not just invoices, giving much broader coverage than before.
- One-off payroll concepts (profit-sharing, year-end bonuses, and severance/settlement payments) are excluded and not treated as recurring salary.
Related data
- Invoices — the CFDI records behind
estimated_monthly_income. - Employments — employment history and documents for the same identifier.
- Business Data — the equivalent reference for a 12-char business RFC.
Updated 2 minutes ago
