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.
1240cuando existe12405678…), 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
| Query | Requerido | Descripción |
|---|---|---|
nit | sí | 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-LimitX-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
| HTTP | error_code | Cuándo |
|---|---|---|
| 400 | incomplete_nit | El valor es prefijo de otro NIT (falta dígito / no exacto) |
| 400 | invalid_request | Falta el parámetro nit |
| 402 | payment_required | Sin plan / trial agotado |
| 429 | quota_exceeded | Cupo mensual agotado |
| 404 | not_found | NIT completo no existe |
| 502 | nit_unavailable | Servicio 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ó.