Sushell Sushell Docs
Entrar
Docs · APIs

API Consulta NIT

GET https://sushell.com/api/v1/nit?nit= — razón social y estado.

Base URL: https://sushell.com

Consulta NIT de Guatemala en tiempo real. Con clave sh_…: 10 consultas de prueba por cuenta sin plan, o 3,000 / mes con el plan API NIT. El proveedor interno no se expone en la respuesta.

Endpoint

GET https://sushell.com/api/v1/nit?nit=11865563
Authorization: Bearer sh_tu_clave

Coincidencia exacta

  • Se busca el NIT tal cual (completo). Hay NIT válidos cortos (p. ej. 5 dígitos): si ese es el número real, responde OK.
  • Si envías un prefijo de otro NIT más largo (ej. 1240 cuando existe 12405678…), no se devuelve esa coincidencia parcial ? incomplete_nit (HTTP 400).
  • En tu UI: llama a la API solo al pulsar Buscar o Enter (no en cada tecla).

Parámetros

QueryRequeridoDescripción
nitsíNIT completo (con o sin guiones). Exact match; sin búsqueda por “empieza con…”.

Respuesta exitosa

{
  "ok": true,
  "data": {
    "nit": "11865563",
    "name": "RAZÓN SOCIAL S.A.",
    "commercial_name": null,
    "status": "active",
    "found": true,
    "address": {
      "street": null,
      "city": "Guatemala",
      "state": null,
      "zip": null,
      "country": "GT"
    }
  }
}

Headers de cupo

  • X-RateLimit-Limit
  • X-RateLimit-Remaining

Ejemplo cURL

curl "https://sushell.com/api/v1/nit?nit=11865563" \
  -H "Authorization: Bearer sh_..."

Ejemplo JavaScript

const nit = "11865563";
const res = await fetch(`https://sushell.com/api/v1/nit?nit=${encodeURIComponent(nit)}`, {
  headers: { Authorization: `Bearer ${process.env.SUSHELL_API_KEY}` },
});
const { ok, data, error, error_code } = await res.json();
if (ok) {
  // Guarda data en TU base de datos
  await db.nitCache.upsert({ nit: data.nit, name: data.name });
}

Ejemplo PHP

$nit = "11865563";
$ch = curl_init("https://sushell.com/api/v1/nit?nit=" . urlencode($nit));
curl_setopt_array($ch, [
  CURLOPT_HTTPHEADER => ["Authorization: Bearer " . getenv("SUSHELL_API_KEY")],
  CURLOPT_RETURNTRANSFER => true,
]);
$out = json_decode(curl_exec($ch), true);

Errores

HTTPerror_codeCuándo
400incomplete_nitEl valor es prefijo de otro NIT (falta dígito / no exacto)
400invalid_requestFalta el parámetro nit
402payment_requiredSin plan / trial agotado
429quota_exceededCupo mensual agotado
404not_foundNIT completo no existe
502nit_unavailableServicio temporalmente caído

Persiste el resultado en tu BD. No uses Sushell como almacén de NITs.

Inicia sesión para indicar si este artículo te sirvió.