Precleared

Comprueba si un correo electrónico en frío a una dirección está permitido en el país del destinatario antes de que un agente lo envíe: un veredicto, la regla con su fuente legal, lo que debe incluir el pie de página y un recibo firmado. Cubre Reino Unido, EE. UU., Canadá, Alemania, Francia, Australia, Irlanda y los Países Bajos. Asignación diaria gratuita, sin inicio de sesión.

Documentación

Precleared

Docs Rules Guides Accuracy Get a key

Docs

Verificación de Contacto

Una llamada por dirección. La respuesta incluye la regla citada y un recibo firmado.

Se sitúa entre el paso que encuentra una dirección (Hunter, Apollo, Clay) y el paso que envía (Gmail, Outlook, Instantly, lemlist). Una llamada por cada nuevo contacto, antes del primer correo. No es necesario para facturas, recibos u otros correos transaccionales.

Cubre Reino Unido, EE. UU., Canadá, Alemania, Francia, Australia, Irlanda y Países Bajos: UK PECR, US CAN-SPAM, Canadian CASL, German UWG, French CNIL rules, Australia's Spam Act 2003, Ireland's S.I. 336/2011 y la Ley de Telecomunicaciones neerlandesa.

Australia: la Spam Act permite inferir el consentimiento de una dirección laboral publicada de forma visible cuando el mensaje es relevante para el puesto, así que pasa pitch_relevant. Irlanda: se permite enviar correos a un buzón corporativo hasta que la empresa se oponga, y una dirección laboral con nombre requiere un mensaje que se relacione únicamente con el negocio de la persona. Países Bajos: se requiere consentimiento previo tanto para empresas como para personas, por lo que solo los clientes existentes reciben ok_to_email.

Recetas

Configuraciones paso a paso para verificar cada cliente potencial antes de que llegue a tu secuenciador: todas las recetas, para Clay, Make, Zapier y n8n, o directamente en Instantly, Smartlead, lemlist o Apollo.

Inicio rápido

1. Obtén una clave gratuita. También puedes llamar sin una, con una asignación diaria más pequeña.

2. Envía la dirección, quién eres y dónde la obtuviste.

curl https://precleared.dev/api/v1/check \
  -H "Authorization: Bearer pc_live_..." \
  -H "Content-Type: application/json" \
  -d '{
    "recipient_email": "jane@acme.co.uk",
    "sender_country": "GB",
    "pitch": "Bookkeeping software for small firms",
    "address_source": "published",
    "company_number": "01234567"
  }'

Nota: el urllib integrado de Python es rechazado por el filtro de bots de nuestro hosting. Usa requests o httpx, o establece un encabezado User-Agent.

Campos de la solicitud

recipient_email o recipient_domain (se requiere uno), sender_country (GB o US, por defecto GB), pitch, address_source (published, bought, scraped, given o unknown; por defecto unknown), recipient_country (dos letras), default_recipient_country (dos letras, se usa solo cuando no se puede determinar el país; recipient_country siempre tiene prioridad), company_number, pitch_relevant, existing_customer (por defecto false), suppressed.

Cómo se determina el país

  1. recipient_country, si lo envías.
  2. El código de país del dominio, como .co.uk o .ca.
  3. Companies House: un número de empresa del Reino Unido encontrado significa GB.
  4. El sitio web de la empresa: se leen las direcciones de oficina de EE. UU. y Canadá. Si el sitio muestra más de un país, no se asume ninguno.
  5. default_recipient_country, si lo envías.
  6. De lo contrario, el país es desconocido.

Campos de la respuesta

verdict

ok_to_email, consent_needed, blocked o unknown.

confidence

high, medium o low. Medium generalmente significa que la forma legal provino del sitio web, no del registro. Cuando un sitio no muestra número de empresa, Precleared busca en Companies House por nombre y solo acepta una coincidencia respaldada por el sitio web o un funcionario nombrado; esos veredictos indican legal_form_source "companies_house_search" y llevan un nivel menos de confianza.

reasons

La regla que coincidió, con su texto y fuente, seguida de cualquier nota.

rules_applied

Las claves de reglas utilizadas. Búscalas en /rules.

footer_text

Lo que el pie de página del correo debe incluir cuando la regla establece requisitos, por ejemplo, quién eres, una dirección postal y una forma de optar por no participar. Escribe tu pie de página para cumplirlo; no es un texto para pegar.

next_step

Qué hacer a continuación, en una línea.

facts

Lo que encontramos: dirección enmascarada, dominio, país y su origen, forma legal y su fuente, número de empresa, nombre y estado, nombre del director, tipo de dirección, sintaxis, registro de buzón, banderas de desechable y suprimido. legal_form_source no está disponible cuando Companies House no pudo ser buscado por nombre. El veredicto del Reino Unido es desconocido: verifica de nuevo en unos minutos, o pasa company_number.

receipt

ID del recibo, hora, hashes de solicitud y respuesta, firma Ed25519, versión de clave y una URL de verificación.

rules_version

La versión del conjunto de reglas utilizado. También está en el recibo.

usage

free_remaining_today y credits_remaining para el llamante.

disclaimer

Una línea fija. Soporte de decisiones con fuentes, no asesoramiento legal.

Errores

Cada error es JSON con un código de error y un mensaje claro.

  • 400 El cuerpo no es válido. El mensaje indica qué campo.
  • 401 La clave es incorrecta o ha sido revocada.
  • 402 payment_required. Las verificaciones gratuitas de hoy se han agotado y no hay créditos. El cuerpo tiene buy_url, que abre el pago para esa clave.
  • 429 daily_limit. El uso sin clave ha terminado por hoy. El cuerpo tiene get_key_url.
  • 429 rate_limited. Cada clave puede hacer 60 verificaciones por minuto; por encima de eso, la API responde 429 con retry_after en segundos. Solicita un límite más alto a support@precleared.dev.

Una verificación tiene un límite de 25 segundos. Si el registro o el sitio web es lento, el veredicto es unknown con una nota.

MCP

El servidor MCP se ejecuta sobre HTTP transmisible en https://precleared.dev/mcp. Tiene dos herramientas.

  • contact_check toma la misma entrada que la API y devuelve el mismo JSON.
  • verify_receipt toma un id y devuelve el recibo.
{
  "mcpServers": {
    "precleared": {
      "url": "https://precleared.dev/mcp",
      "headers": { "Authorization": "Bearer pc_live_..." }
    }
  }
}

El encabezado es opcional. Sin una clave, se aplica la asignación diaria sin clave.

Las pasarelas que pasan claves en su propio encabezado, como Smithery, pueden enviar X-API-Key: pc_live_... en su lugar.

Añádelo con un clic

Elige tu cliente. Cada uno apunta al mismo servidor; añade una clave más tarde para tu propia asignación diaria y para usar paquetes.

Añadir a Claude Añadir a Cursor Añadir a VS Code

Listado en el directorio de Claude. Un clic, sin configuración, sin iniciar sesión.

Claude Code:

claude mcp add --transport http precleared https://precleared.dev/mcp

Claude.ai y la aplicación de escritorio de Claude: Configuración, Conectores, Añadir conector personalizado, luego pega https://precleared.dev/mcp. Deja la autenticación desactivada para la asignación sin clave.

Cualquier otro cliente MCP: usa el JSON anterior. El servidor habla HTTP transmisible y no necesita OAuth.

Úsalo desde tu framework de agentes

Precleared es un servidor MCP simple sobre HTTP transmisible, por lo que cualquier framework que hable MCP puede usarlo sin un SDK. Cinco sobre los que comúnmente se construyen agentes salientes:

Claude API (Anthropic Messages API, conector MCP)

{
  "model": "claude-sonnet-4-5",
  "max_tokens": 1024,
  "mcp_servers": [{ "type": "url", "url": "https://precleared.dev/mcp", "name": "precleared" }],
  "messages": [{ "role": "user", "content": "May I send a cold email to jane@acme.co.uk from the UK? The address is on their website." }]
}

Envía con el encabezado anthropic-beta: mcp-client-2025-04-04.

OpenAI Agents SDK (Python)

from agents import Agent, Runner, HostedMCPTool

agent = Agent(
    name="Outreach",
    instructions="Before any cold email, call contact_check and follow its verdict and footer_text.",
    tools=[HostedMCPTool(tool_config={
        "type": "mcp", "server_label": "precleared",
        "server_url": "https://precleared.dev/mcp", "require_approval": "never",
    })],
)
result = Runner.run_sync(agent, "May I email jane@acme.co.uk from the UK? The address is on their website.")
print(result.final_output)

El mismo bloque de herramientas funciona en la API de Respuestas bajo "tools".

LangGraph / LangChain (Python)

from langchain_mcp_adapters.client import MultiServerMCPClient
from langgraph.prebuilt import create_react_agent

client = MultiServerMCPClient({
    "precleared": {"url": "https://precleared.dev/mcp", "transport": "streamable_http"},
})
tools = await client.get_tools()
agent = create_react_agent("anthropic:claude-sonnet-4-5", tools)
reply = await agent.ainvoke({"messages": "May I email jane@acme.co.uk from the UK?"})

CrewAI (Python)

from crewai import Agent
from crewai_tools import MCPServerAdapter

with MCPServerAdapter({"url": "https://precleared.dev/mcp", "transport": "streamable-http"}) as tools:
    outreach = Agent(role="Outreach", goal="Only send cold emails Precleared says are allowed", tools=tools)

n8n

  1. Añade un nodo "MCP Client Tool" a tu Agente de IA.
  2. Endpoint: https://precleared.dev/mcp. Transporte del servidor: HTTP Streamable. Autenticación: ninguna.
  3. Opcional: para usar una clave, elige autenticación de encabezado y establece Authorization a Bearer pc_live_...
  4. El agente ahora tiene contact_check y verify_receipt como herramientas.

O comienza desde la plantilla lista: Verifica el cumplimiento de correos fríos y redacta mensajes de Gmail con Precleared.

Apify

Ejecuta el Actor Cold Email Compliance Check en Apify Store. Pega una lista de direcciones y obtén una fila por dirección con el veredicto, la regla, lo que el pie de página debe incluir y un enlace de recibo. Cuesta $0.03 por dirección verificada, facturado por Apify. Las direcciones inválidas, duplicados y verificaciones que fallan no se cobran. Para usar tu propia asignación diaria y paquetes en su lugar, pega tu clave de Precleared en la entrada del Actor. Los agentes de IA también pueden ejecutarlo a través del servidor MCP de Apify.

¿Usas Harvey, el agente de ventas de IA de código abierto? La verificación está integrada. Consulta Precleared en Harvey.

Para enviar una clave desde cualquier framework, añade el encabezado Authorization: Bearer pc_live_... a la configuración del servidor. Sin una clave, cada dirección IP obtiene 100 verificaciones al día a través de MCP, compartidas por todos los que llaman desde ella. Una clave gratuita te da tus propias 100.

Verificación de un recibo

Cada recibo está firmado con Ed25519 sobre la cadena request_hash.response_hash. Obtén la clave pública de /api/v1/public-key. Es base64 SPKI DER. La versión de clave está en cada recibo.

import { createPublicKey, verify } from "node:crypto";

const r = await (await fetch("https://precleared.dev/api/v1/receipt?id=cc_rcpt_...")).json();
const { public_key } = await (await fetch("https://precleared.dev/api/v1/public-key")).json();

const key = createPublicKey({ key: Buffer.from(public_key, "base64"), format: "der", type: "spki" });
const ok = verify(null, Buffer.from(`${r.request_hash}.${r.response_hash}`), key, Buffer.from(r.signature, "base64"));
console.log(ok ? "Signature verified" : "Signature does not match");

Asignaciones y precios

  • Sin clave: 100 verificaciones al día a través de MCP, o 10 a través de la API REST, compartidas por todos los que llaman desde la misma dirección IP.
  • Clave gratuita: tus propias 100 verificaciones al día a través de MCP, o 25 a través de la API REST.
  • Paquete: £39 por 2,000 verificaciones. Se usa después de las verificaciones gratuitas diarias. Nunca caducan.
  • En Apify Store: $0.03 por dirección verificada, facturado por Apify, o usa tu propia clave allí.

Los días se rigen por la hora del Reino Unido. Las verificaciones MCP y REST salen del mismo conteo diario.

Cuando un paquete se agota

Las verificaciones gratuitas diarias continúan con normalidad. Una vez que se usan y no quedan créditos, una verificación devuelve 402 payment_required con una buy_url. Abre el pago para esa clave con un clic. La clave en sí nunca se pone en una URL.

Cuando una verificación deja una clave con 1 a 200 verificaciones de paquete, usage también tiene low_balance: true, una top_up_url y un aviso que dice cuántas quedan. Los paquetes se acumulan en la misma clave y nunca caducan. También puedes comprar uno en /buy.

Lista de supresión

Una lista de supresión gestionada por clave llegará pronto. Por ahora, pasa suppressed: true cuando la dirección esté en tu propia lista.

Otros recursos

openapi.json · llms.txt · /api/v1/rules

Precleared

Soporte de decisiones con fuentes, no asesoramiento legal.

Docs Rules Guides Accuracy Privacy FAQ Terms support@precleared.dev

Listado en Claude directory Apify Store n8n templates Smithery Glama Claude Market

Precleared es gestionado por Gabriel Imevbore, que opera como Precleared, un autónomo con sede en Inglaterra. 82A James Carter Road, Mildenhall IP28 7DE, Reino Unido. support@precleared.dev