API REST
Ejecuta las herramientas OSINT desde tu propio código con la API REST de OSINT UI. Requiere PRO+.
La API REST (/api/v1) deja ejecutar cualquier herramienta desde tu propio código o tus automatizaciones. Cada llamada corre en el servidor con tus claves de API configuradas — nunca salen de ahí. Requiere el plan PRO+.
Autenticación
- Entra en Ajustes → API/Conexión dentro de la app y crea un token (PAT).
- Envíalo en cada petición como cabecera
Authorization: Bearer TU_TOKEN.
curl https://osint-ui.com/api/v1/domain \
-H "Authorization: Bearer TU_TOKEN" \
-H "Content-Type: application/json" \
-d '{"domain":"example.com"}'
También funciona por GET con parámetros de consulta:
curl "https://osint-ui.com/api/v1/email?email=someone@example.com" \
-H "Authorization: Bearer TU_TOKEN"
Límite de peticiones
600 peticiones / 5 minutos por usuario PRO+ (un token de PRO normal creado antes del 11 de septiembre de 2026 sigue funcionando pero con el límite antiguo de 120/5min — no se pueden crear tokens nuevos sin PRO+).
Endpoints disponibles
| Endpoint | Parámetros | Qué hace |
|---|---|---|
POST /api/v1/email |
email |
Analiza un email |
POST /api/v1/phone |
phone |
Analiza un teléfono |
POST /api/v1/domain |
domain |
Analiza un dominio o IP |
POST /api/v1/ip |
ip |
Analiza una IP |
POST /api/v1/reputation |
target |
Reputación de IP/dominio/URL |
POST /api/v1/username |
username |
Busca un username en plataformas |
POST /api/v1/hash |
hash |
Identifica/analiza un hash |
POST /api/v1/crypto |
address |
Rastrea una wallet cripto |
POST /api/v1/telegram |
username |
Telegram OSINT |
POST /api/v1/dorks |
target, targetType |
Genera Google dorks |
POST /api/v1/url |
url |
Analiza una URL |
POST /api/v1/github |
query, queryType |
GitHub OSINT |
POST /api/v1/pastes |
query |
Busca en sitios de pastes |
POST /api/v1/onion |
query |
Busca servicios .onion |
POST /api/v1/ports |
target, scanType |
Escanea puertos de un host |
POST /api/v1/leak |
selector |
Busca filtraciones (Intelligence X) |
GET https://osint-ui.com/api/v1 devuelve este mismo catálogo en JSON, sin necesidad de token.
Respuesta
Toda respuesta exitosa tiene la forma {"tool": "...", "result": { ... }}. Los errores devuelven un código HTTP y un cuerpo {"error": "...", ...}:
| Código | error |
Motivo |
|---|---|---|
| 400 | missing_params |
Falta algún parámetro obligatorio |
| 401 | invalid_token |
Token ausente, mal formado o revocado |
| 403 | proplus_required |
La cuenta no tiene PRO+ |
| 404 | unknown_tool |
El endpoint no existe |
| 429 | rate_limited |
Se superó el límite de peticiones |
| 500 | tool_error |
La propia herramienta falló al ejecutar |
Ejemplo en JavaScript
const res = await fetch('https://osint-ui.com/api/v1/domain', {
method: 'POST',
headers: {
Authorization: 'Bearer TU_TOKEN',
'Content-Type': 'application/json',
},
body: JSON.stringify({ domain: 'example.com' }),
});
const { result } = await res.json();
Ejemplo en Python
import requests
r = requests.post(
"https://osint-ui.com/api/v1/domain",
headers={"Authorization": "Bearer TU_TOKEN"},
json={"domain": "example.com"},
)
print(r.json()["result"])
Cuándo usar la API en vez del MCP
La API REST es la vía correcta para integrarla en tu propio backend, un script o un pipeline de automatización. Si en cambio quieres que un asistente de IA (Claude Desktop, Claude Code...) use las herramientas de forma conversacional, la vía pensada para eso es el servidor MCP — usa el mismo token.