Scrapers.lat logo scrapers.lat
Business

SAT Mexico 69-B EFOS Taxpayer Blacklist Scraper

Extract Mexico SAT Lista 69-B (EFOS) blacklist of taxpayers presumed or confirmed to issue fake invoices, or screen any RFC. Get RFC, name, status (Presunto, Definitivo, Desvirtuado, Sentencia Favorable), oficio numbers and DOF publication dates. Export JSON, CSV, Excel.

17 fields per record JSON · CSV · Excel · API Pay per use
sat-69b-scraper.json 200 OK
{
  "rfc": "AAA120730823",
  "name": "ASESORES Y ADMINISTRADORES AGRICOLAS, S. DE R.…",
  "situacion": "Definitivo",
  "listed": true,
  "listNumber": 4,
  "presuncionOficio": "500-05-2016-38728 de fecha 16 de diciembre de …",
  "presuncionOficioNumber": "500-05-2016-38728",
  "satPublicationPresunto": "01/01/2017",
  "presuncionOficioDof": "500-05-2016-38728 de fecha 16 de diciembre de …"
}
What you get

Every run returns clean, typed records, ready for your CRM, spreadsheet or database.

  • One clean record per result, deduped and normalized
  • Stable schema in JSON, CSV or Excel, or read it via the Apify API
  • Pay per use in the cloud, nothing to install or maintain
Fields it returns
RfcNameSituacionListedList NumberPresuncion OficioPresuncion Oficio NumberSat Publication PresuntoPresuncion Oficio DofDof Publication PresuntoDefinitivo OficioDefinitivo Oficio NumberSat Publication DefinitivoDefinitivo Oficio Dof
Sample output

A real example record, exactly the shape you receive.

RfcNameSituacionListed
AAA120730823ASESORES Y ADMINISTRADORES AGRICO…Definitivotrue
XAXX010101000false
GET /sat-69b-scraper
{
  "rfc": "AAA120730823",
  "name": "ASESORES Y ADMINISTRADORES AGRICOLAS, S. DE R.…",
  "situacion": "Definitivo",
  "listed": true,
  "listNumber": 4,
  "presuncionOficio": "500-05-2016-38728 de fecha 16 de diciembre de …",
  "presuncionOficioNumber": "500-05-2016-38728",
  "satPublicationPresunto": "01/01/2017",
  "presuncionOficioDof": "500-05-2016-38728 de fecha 16 de diciembre de …"
}

Frequently asked questions

Does this cover the whole SAT 69-B list for Mexico?

Yes. It reads the official complete SAT CSV (Listado Completo 69-B) directly, so a full dump returns every listed taxpayer, currently more than 14,000 records across all four status stages.

How do I check if a specific RFC is blacklisted?

Pass one or more RFCs in the input. Each listed RFC returns its full 69-B record, and each RFC that is not on the list returns a clean result with listed set to false, which is itself the screening answer you need.

What do the status values mean?

Presunto means SAT presumes the taxpayer issued fake invoices, Definitivo means it is confirmed, Desvirtuado means the taxpayer rebutted and cleared the presumption, and Sentencia Favorable means a court ruled in the taxpayer's favor.

Can I get only the confirmed offenders?

Yes. Use the status filter to return only Definitivo taxpayers, or any single stage, in full-dump mode. The filter is ignored when you screen specific RFCs.

Why are some oficio or date fields empty?

Each taxpayer only carries the stages it actually went through, so a Definitivo taxpayer that was never rebutted has empty desvirtuado fields. The scraper keeps those fields null rather than inventing values.

Ready when you are.

Run the scraper live on Apify right now, or have us build one tailored to exactly what you need.