Esos CIFs los tienes en el Registro Mercantil en España.
En cuanto al NIF, o DNI o lo que dios quiera que sea ... se valida con la funcion que te di antes,
Código:
var cadena = 'TRWAGMYFPDXBNJZSQVHLCKE';
var nifnum = parseInt(nif, 10);
var posicion = nifnum % 23;
return nif + cadena.charAt(posicion);
Eso es la resolucion via JS, y te vuelvo a repetir, el algoritmo explicado de como validarlo lo tienes en la url que te dejo cluster