Como se puede ver en este post, existe un WebService de la AFIP que permite, entre otras cosas, realizar consultas por Numero de CUIT/DNI/etc para obtener datos de los contribuyentes registrados
Se trata de un servidor REST, asi que es bastante sencillo implementar las operaciones GET
Lo que quiza es medio "engorroso", es convertir el JSON y meterlo dentro de clases Delphi
Esta tarde me dedique a esto. Lamentablemente lo hice con Delphi 10 Seattle, porque queria probar los nuevos componentes TNetHttpClient y la biblioteca System.JSON; creo que ambos estan disponibles a partir de XE8, sino 10 Seattle
Aun asi, el codigo es facilmente adaptable (creo) para usarlo con Indy y alguna otra biblioteca Json (incluso las que venian con Delphi antes, creo que la unidad era Rest.Json)
Pueden obtener el codigo en mi repositorio o seguir directamente este enlace
Tambien subí la documentacion
Implemente solo 3 metodos, hay algunos mas que quiza implemente mas adelante (lo mismo que una version compatible con los Delphi anteriores basada en Indy)
ConsultaNroDocumento(NroDocumento: string)
Devuelve todos los CUIT, CUIL, etc asociados a NroDocumento (DNI). La AFIP llama a estos numeros los "Id" de las personas
ObtenerConstancia(Cuit/Cuil/Cdi: string/Int64)
Curioso metodo. Devuelve un archivo en formato PDF con la Constancia de Inscripción emitida por AFIP o con un texto indicando motivo por el cual esa constancia no pudo ser emitida.
ConsultaPersona(const Cuit/Cuil/Cdi: string)
Este metodo devuelve una interface con una numerosa cantidad de campos, por ejemplo, razon social o nombre, domicilio fiscal, fecha inscripcion, estado inscripcion (activa, inactiva), si es persona fisica o juridica, etc
Saludos