Verificar el NIF de una empresa por API (Python)

Tutorial en unas 30 líneas de Python: validar el NIF en local con su carácter de control y, si es correcto, resolver la sociedad en el BORME con una llamada REST para obtener denominación, forma jurídica, domicilio, capital, estado y administradores vigentes.

Qué cubre

  • El formato del NIF: una letra que indica la forma jurídica (A = S.A., B = S.L., F = cooperativa…), siete dígitos y un carácter de control que se calcula sin consultar nada.
  • La llamada GET /companies/search?nif=&country=ES y después GET /companies/{id} con una clave Bearer.
  • Una función lista para copiar que devuelve un perfil verificado, con errores para NIF mal formados o inexistentes.

Funciona con el plan gratuito (1.000 llamadas al mes, sin tarjeta). La misma clave cubre Francia, Reino Unido, Irlanda, Polonia y Noruega, además del cribado de sanciones.

Leer la guía completa · Conseguir una clave gratuita · English version

Frequently asked questions

¿NIF o CIF?
El CIF desapareció como tal en 2008; hoy las sociedades tienen un NIF con el mismo formato: una letra, siete dígitos y un carácter de control. Mucha gente sigue diciendo CIF.
¿Se puede validar un NIF sin llamar a ninguna API?
Sí. El formato y el carácter de control son deterministas y se comprueban en local. Eso descarta errores de tecleo, pero no confirma que la sociedad exista ni que esté activa; para eso hace falta el registro.
¿Y si el NIF empieza por X, Y o Z?
Es un NIE de persona física extranjera, nunca de una sociedad. Conviene rechazarlo en la validación de formato si el flujo es de empresas.