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

  1. Entra en Ajustes → API/Conexión dentro de la app y crea un token (PAT).
  2. 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.