Verificador RFC Mexico - SAT + Lista 69-B
Pricing
from $0.21 / 1,000 results
Verificador RFC Mexico - SAT + Lista 69-B
Verify Mexican RFC tax IDs against SAT and check Lista 69-B (EFOS) blacklist. Batch support up to 100 RFCs. Returns status, taxpayer name, and blacklist flags. Essential for CFDI compliance and supplier verification.
Pricing
from $0.21 / 1,000 results
Rating
0.0
(0)
Developer
Jacob Prudot
Actor stats
0
Bookmarked
2
Total users
1
Monthly active users
12 days ago
Last modified
Categories
Share
Verificador RFC Mexico — SAT + Lista 69-B
Verify Mexican RFC tax IDs against the official SAT portal and check Lista 69-B (EFOS) and Lista 69 blacklists. Automate RFC verification for due diligence, CFDI 4.0 compliance, and supplier onboarding. Process up to 100 RFCs per run with structured, machine-readable JSON results directly from Mexico's tax authority systems.
Features
- RFC format validation — validates structure for personas morales (12 chars) and personas fisicas (13 chars), including optional check digit verification via modulo-11 algorithm
- Generic RFC detection — automatically identifies official SAT generic RFCs: XAXX010101000 (ventas a publico en general) and XEXX010101000 (ventas a extranjeros)
- Lista 69-B (EFOS) blacklist — cross-references against SAT's list of ~14,000 taxpayers suspected of issuing simulated invoices. Correctly distinguishes between Presunto/Definitivo (actively blacklisted) and Desvirtuado/Sentencia Favorable (exonerated)
- Lista 69 non-compliant taxpayer check — checks against ~255,000 taxpayers with outstanding tax obligations (creditos firmes, no localizados, sentencia condenatoria, etc.)
- Live SAT portal verification — queries the official SAT taxpayer registry with automatic CAPTCHA solving (optional, can be skipped for faster results)
- Batch verification — process up to 100 RFCs in a single run
- Smart PPE billing — you are only charged for RFCs that pass format validation. Invalid formats are returned for free
- Special character support — handles & (ampersand) in company names and normalizes & from XML/HTML sources
Use Cases
- Supplier due diligence — verify new suppliers have valid, active RFCs before onboarding
- CFDI 4.0 compliance — since April 2023, every invoice receptor RFC must be on SAT's "inscritos no cancelados" list (error CFDI40143)
- Accounts payable risk — check invoices against Lista 69-B before processing payments. Invoices from Definitivo EFOS taxpayers are non-deductible
- Periodic partner monitoring — schedule regular runs to detect status changes in your supplier base
- ERP integration — feed results into SAP Business One, Contpaqi, Aspel, or any system via Apify API
Input
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
rfcs | array of strings | Yes | — | Mexican RFC codes to verify (max 100 per run) |
skipSatPortal | boolean | No | true | Skip live SAT portal check. When true, only format + blacklist checks run (faster, no CAPTCHA) |
omitVerificationDigit | boolean | No | true | Skip check digit math. Recommended: some SAT-registered RFCs have non-standard check digits |
Input Example
{"rfcs": ["ABC010101XY3", "XAXX010101000", "INVALID123"],"skipSatPortal": true,"omitVerificationDigit": true}
Output
Each RFC produces one result object in the dataset:
{"rfc": "ABC010101XY3","valid": false,"formatValid": true,"type": "moral","isGeneric": false,"checkDigitValid": null,"status": "not_checked","nombre": null,"satPortalResult": null,"blacklisted": false,"blacklistType": null,"blacklistStatus": null,"blacklistDetail": null,"checkedAt": "2026-04-05T12:00:00.000Z","errors": []}
Output Fields
| Field | Type | Description |
|---|---|---|
rfc | string | The RFC that was verified (uppercased, trimmed) |
valid | boolean | Overall result — true only if format valid AND SAT confirms active AND not blacklisted |
formatValid | boolean | RFC matches expected format for persona moral or fisica |
type | string | "moral", "fisica", "generic_national", "generic_foreign", or null |
isGeneric | boolean | true for official SAT generic RFCs (XAXX, XEXX) |
checkDigitValid | boolean or null | Check digit mathematically correct, or null if skipped |
status | string | SAT status: "active", "inactive", "not_found", "suspended", "error", "format_invalid", "not_checked" |
nombre | string or null | Taxpayer name from SAT or blacklist |
blacklisted | boolean | true only if RFC is Presunto or Definitivo on Lista 69-B, or on Lista 69 |
blacklistType | string or null | "69-B" (EFOS) or "69" (incumplidos) |
blacklistStatus | string or null | "presunto", "definitivo", "desvirtuado", "sentencia_favorable" |
blacklistDetail | string or null | Human-readable explanation of blacklist finding |
checkedAt | string | ISO 8601 timestamp of verification |
errors | array | Error codes: INVALID_FORMAT, INVALID_VERIFICATION_DIGIT |
Pricing
Pay-per-event (PPE) pricing: ~$0.30 per 1,000 RFCs verified. Format-invalid RFCs are not charged. The actor stops gracefully when budget is exhausted and returns partial results.
Important Notes
Blacklist status matters. An RFC on Lista 69-B is NOT always dangerous. Only Presunto (under investigation) and Definitivo (confirmed EFOS) are actively blacklisted. Desvirtuado (cleared) and Sentencia Favorable (court ruling in favor) mean the taxpayer was exonerated. The actor sets blacklisted: false for exonerated RFCs but still reports the history via blacklistDetail.
Check digit exceptions exist. The SAT has registered RFCs with mathematically incorrect check digits (legacy issue). By default, check digit validation is skipped (omitVerificationDigit: true). Set to false for strict validation, but be aware of false negatives.
SAT forbidden words. The SAT replaces the second letter with "X" in ~75 offensive word combinations (e.g., BUEI→BUEX, CACA→CACX). This is expected behavior, not a data error.
Lista 69-B/69 data freshness. CSVs are downloaded fresh from SAT servers on every run. The SAT updates 69-B quarterly and Lista 69 continuously. Data may lag 1-2 days behind DOF (Diario Oficial de la Federacion) publications.
FAQ
What is Lista 69-B (EFOS)? SAT's list of taxpayers suspected of issuing invoices for simulated operations (facturas fantasma). Doing business with a Definitivo EFOS taxpayer means those invoices are non-deductible under Mexican tax law.
What is Lista 69? SAT's list of non-compliant taxpayers: those with outstanding debts (creditos firmes), unreachable at their fiscal address (no localizados), criminal convictions, and pardoned debts.
Can I use this without SAT portal access?
Yes. The default mode (skipSatPortal: true) gives you format validation + both blacklist checks without any CAPTCHA or portal dependency. Fast and reliable.
What are generic RFCs?
XAXX010101000 is used for invoices to the general public (without RFC). XEXX010101000 is for foreign residents. Both are valid for invoicing but are flagged as isGeneric: true and skip blacklist checks.