Skip to content

Nicoo01x/CuitOnline-NPMjs

Repository files navigation

cuitonline

Cliente Node.js para buscar personas en cuitonline.com por DNI, CUIT, CUIL o nombre y leer los datos visibles en resultados y detalle.

Instalacion

npm install cuitonline

Uso basico

const { search, searchByName, getByCuit, getByDni } = require('cuitonline');

async function run() {
  // Buscar por nombre, DNI, CUIT o CUIL
  const hits = await searchByName('Juan Perez');
  console.log(hits);

  // Traer datos completos por CUIT
  const detail = await getByCuit('20-11111111-2');
  console.log(detail);

  // Alias que busca por DNI y devuelve el primer resultado con detalle
  const byDni = await getByDni('20111111');
  console.log(byDni);
}

run().catch(console.error);

Que devuelve

  • search(query) / searchByName(name) -> array de coincidencias { name, cuit, personType, detailUrl, constanciaUrl }
  • getByCuit(cuit) -> resultado que coincide (o el primero) con los campos de search mas los obtenidos en el detalle:
    • name, cuit, personType, gender, nationality, locality, employer, afipErrors (array), detailUrl
  • getByDni(dni) -> usa search(dni) y descarga el detalle del primer resultado.
  • getDetail(url) -> parsea una URL absoluta o relativa de detalle.

Todos los metodos aceptan options con http o client para pasar tu propia instancia de Axios (proxy, timeouts, etc.).

Uso en frontend (via tu backend)

El scraping no puede correrse directo en el navegador por CORS y restricciones del sitio. Crea un endpoint en tu backend y consumilo desde la UI.

Ejemplo Express minimo:

const express = require('express');
const { search } = require('cuitonline');
const app = express();

app.use((req, res, next) => {
  res.set('Access-Control-Allow-Origin', '*');
  res.set('Access-Control-Allow-Headers', 'Content-Type');
  if (req.method === 'OPTIONS') return res.sendStatus(204);
  next();
});

app.get('/api/search', async (req, res) => {
  const q = (req.query.q || '').trim();
  if (!q) return res.status(400).json({ error: 'q is required' });
  res.json({ results: await search(q) });
});

app.listen(3000, () => console.log('proxy listo en http://localhost:3000'));

Luego en el frontend llama http://tu-backend/api/search?q=20111111112 y procesa el JSON.

Notas

  • Respeta los terminos de uso y privacidad del sitio origen.
  • Verifica siempre contra fuentes oficiales (AFIP, ANSES, etc.) antes de usar la informacion en produccion.

About

Busca personas por Cuit, Dni, Cuil, Nombre o Razon Social

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published