API
Rastro API
Usa las herramientas de Rastro en tus scripts, misiones y proyectos: catálogo de sitios que venden datos con su trámite de baja, portales de rectificación de las IA, redacción de cartas RGPD, análisis de mensajes sospechosos, cálculo de la puntuación y lectura de tus propios informes.
Una regla: la API nunca devuelve datos de terceros. Los informes, cartas y comprobaciones son solo los de la cuenta dueña de la clave. Lo demás son catálogos públicos y herramientas.
Autenticación
Crea una clave en tu perfil (Perfil → API). Envíala en cada petición como cabecera `Authorization: Bearer rk_live_…`. Se muestra una sola vez; puedes revocarla cuando quieras.
Límites
1.000 peticiones al día por clave. Los endpoints que usan IA (guardián) requieren Rastro Pro y tienen 100 al día. Respuestas JSON, CORS abierto, errores con `{ error: { code, message } }`.
Endpoints
- get
/api/v1/sitesCatálogo de sitios que publican o venden datos personales
26 sitios (brokers españoles, guías, buscadores de personas, redes) con contacto de privacidad, formulario de baja y pasos. Público (con clave).
- get
/api/v1/sites/{slug}Ficha de un sitio
- get
/api/v1/ai-providersPortales de rectificación/supresión de los proveedores de IA
- get
/api/v1/score/rulesRegla de la puntuación de exposición (0–100)
- post
/api/v1/scoreCalcula la puntuación a partir de señales
- post
/api/v1/letters/draftRedacta una carta de supresión RGPD (art. 17) o de rectificación a un proveedor de IA
Devuelve asunto, cuerpo y el contacto de privacidad si el sitio está en el catálogo. No la envía.
- post
/api/v1/guardian¿Es una estafa? Analiza un mensaje (usa IA; requiere Pro)
- get
/api/v1/meTu cuenta
- get
/api/v1/me/reportsTus informes (resumen)
- get
/api/v1/me/reports/latestTu último informe completo
- get
/api/v1/me/lettersTus cartas RGPD y su estado
- get
/api/v1/me/checksTus comprobaciones diarias de filtraciones (vigilancia)
Ejemplos
curl
curl -s https://rastropro.com/api/v1/sites?host=dateas.com \ -H "Authorization: Bearer rk_live_TU_CLAVE"
Python
import requests
H = {"Authorization": "Bearer rk_live_TU_CLAVE"}
r = requests.post("https://rastropro.com/api/v1/letters/draft", headers=H, json={
"fullName": "Ana García Ruiz", "email": "[email protected]", "city": "Valencia",
"url": "https://www.dateas.com/es/persona/ana-garcia-ruiz-valencia",
"what": "mi nombre, provincia y edad"})
print(r.json()["subject"]); print(r.json()["contact"])JavaScript
const res = await fetch("https://rastropro.com/api/v1/guardian", {
method: "POST",
headers: { Authorization: "Bearer rk_live_TU_CLAVE", "Content-Type": "application/json" },
body: JSON.stringify({ text: "Tu paquete está retenido, paga 1,99 € aquí: http://correos-es.top/x", personalize: true }),
});
const { verdict, confidence, reasons } = await res.json();