Nautilinks Backlinks
Busca, compara, ordena y rastrea colocaciones de backlinks franceses a través de un servidor MCP remoto.
Documentación
Compra backlinks desde un agente de IA, o por API
El catálogo de Nautilinks es accesible por API REST y por servidor MCP. Un agente puede elegir sus formatos, aplicar tus descuentos, usar el crédito prepagado y luego enviarte un enlace de Stripe únicamente para el saldo restante si lo hubiera.
✓ Autenticación por clave API✓ Servidor MCP remoto✓ Ninguna tarjeta se cobra sin validación humana
Disponibilidad verificable
Lo que se conecta hoy — y lo que viene después
Disponible
API REST, scripts y n8n
Clave Bearer personal, endpoints JSON y webhooks firmados.
Disponible
Claude Code, Cursor y clientes MCP con encabezados
Conexión directa al servidor MCP remoto con la clave de Nautilinks.
OAuth en preparación
Directorios públicos ChatGPT y Claude
La clave API actual no es suficiente para una conexión pública nativa. El conector se enviará después de añadir OAuth.
No presentamos una futura presencia en los directorios de ChatGPT o Claude como algo ya disponible. El servidor y las herramientas existen; la distribución nativa aún requiere autenticación OAuth compatible con esas plataformas.
Nautilinks vende backlinks directamente, sin marketplace ni comisión, en una red de sitios que editamos nosotros mismos. Esta página describe el acceso automatizado a ese mismo catálogo: una API REST y un servidor MCP, diseñados para que un agente LLM pueda buscar un sitio relevante, realizar un pedido y seguir su progreso, sin que un humano rellene formularios.
El principio sigue siendo el mismo que en el resto del sitio: el catálogo consultado por API es público en su lógica, los precios son los mostrados en el lado humano, y ninguna tarjeta se cobra jamás sin que un humano valide el pago, ya sea de antemano cargando el saldo prepagado de la cuenta, o en el momento abriendo un enlace de Stripe. El agente pide, el humano paga, de una forma u otra.
Puesta en marcha
Tres pasos para conectar un agente
- Crea una cuenta Nautilinks. Registro gratuito, sin tarjeta bancaria solicitada en este paso. Es esta cuenta la que recibe las facturas y paga, en última instancia, vía Stripe.
- Genera una clave API. En el área de miembros, sección «Mi cuenta» y luego «Claves API». La clave (formato sn_live_...) se muestra una sola vez, para copiarla de inmediato. Hasta 5 claves activas por cuenta, revocables en cualquier momento.
- Conecta el MCP o llama a la API. Dos caminos equivalentes: un cliente MCP (Claude Code, claude.ai, Cursor…) que habla con el servidor mcp.nautilinks.co, o llamadas HTTP directas a /api/v1/agent/*. El contrato JSON es idéntico en ambos lados.
Sin paquete que instalar
Conectar el servidor MCP
Servidor remoto en Cloudflare (transporte HTTP streamable), sin sesión ni estado conservado en Nautilinks. Cada llamada transporta tu propia clave API.
claude mcp add --transport http nautilinks https://mcp.nautilinks.co/mcp \
--header "Authorization: Bearer YOUR_API_TOKEN"
claude.ai — Ajustes → Conectores → Añadir un conector personalizado
URL : https://mcp.nautilinks.co/mcp
En-tête : Authorization: Bearer YOUR_API_TOKEN
Si el cliente no acepta un encabezado personalizado
https://mcp.nautilinks.co/mcp?key=sn_live_votre_cle
Once herramientas expuestas: catálogo y artículos existentes, proyectos y planes de visibilidad IA, saldo prepagado, creación de pedidos y seguimiento de presupuestos/pedidos. Mismo contrato de datos que la API REST siguiente para estos recursos; los webhooks, por su parte, solo son accesibles mediante llamada HTTP directa.
/api/v1/agent/*
Referencia API para agentes
Método
Endpoint
Devuelve
Alcance
GET
/api/v1/agent/catalog
Lista los sitios de la red en los tres radios (Plancton, Coral, Nautilus), filtrable (incluido por radio vía shelf) y paginada.
read
GET
/api/v1/agent/catalog/:id
Ficha completa de un sitio (métricas, precios, radio, nicho).
read
GET
/api/v1/agent/catalog/:id/articles
Artículos existentes disponibles para una inserción vendida una sola vez, con sus palabras clave y posiciones.
read
GET
/api/v1/agent/balance
Saldo prepagado disponible en la cuenta.
read
POST
/api/v1/agent/orders
Crea de 1 a 20 enlaces, aplica promo/bienvenida y luego crédito; Stripe solo recibe el saldo restante.
order
GET
/api/v1/agent/orders
Lista los pedidos realizados con esta clave.
read
GET
/api/v1/agent/orders/:id
Estado detallado por enlace (por asignar, publicado…) y URL publicada una vez en línea.
read
GET
/api/v1/agent/quotes/:id
Consulta un presupuesto para saber si el pago se ha realizado y bajo qué número de pedido.
read
GET
/api/v1/agent/webhooks
Lista las suscripciones webhook activas de la clave.
read
POST
/api/v1/agent/webhooks
Crea una suscripción (URL + eventos), devuelve un secreto mostrado una sola vez.
order
DELETE
/api/v1/agent/webhooks/:id
Revoca una suscripción webhook.
order
GET
/api/v1/agent/ai-visibility/projects
Lista los proyectos de visibilidad IA de la cuenta.
read
GET
/api/v1/agent/ai-visibility/projects/:id/plan
Produce líneas de pedido listas para revisar desde las oportunidades IA no cubiertas.
read
Autenticación
Cada llamada lleva el encabezado Authorization: Bearer sn_live_.... La clave es propia de una cuenta humana: cualquier pedido creado por API se vincula a esa cuenta, se factura a su dirección y es visible en su área de miembros igual que un pedido realizado desde el carrito web. Una clave recién creada lleva ambos alcances (read y order) por defecto.
Idempotencia de los pedidos
El encabezado opcional Idempotency-Key evita duplicados en caso de reintento de red. La clave está vinculada al cuerpo financiero: un reintento idéntico devuelve el mismo presupuesto y la misma sesión de Stripe, mientras que un cuerpo diferente con la misma clave responde idempotency_key_reused.
Límite diario
Se aplica un límite antiabuso por clave API, del orden de una veintena de pedidos al día. Una vez alcanzado, la API responde 429 con el código daily_order_cap_reached. Un reintento idéntico (misma Idempotency-Key) nunca cuenta dos veces.
Descuentos, crédito y luego saldo restante en Stripe
El cuerpo acepta promo_code. La API recalcula el bruto, compara ese código con la oferta de bienvenida automática, aplica el mejor descuento y luego el crédito prepagado. Si el crédito cubre el neto, el pedido se cierra sin Stripe. Si es parcial, se coloca en hold y payment_url solo factura el saldo restante; un abandono restituye el hold. La respuesta detalla gross_total_eur, discount_eur, credit_applied_cents y card_amount_cents. Ninguna tarjeta se cobra sin validación humana.
Webhooks
Una suscripción webhook (POST /api/v1/agent/webhooks, alcance order, hasta 5 activas por cuenta) recibe order.accepted, order.published y order.cancelled en una URL HTTPS pública elegida por el agente. Cada entrega está firmada: el encabezado Nautilinks-Signature lleva un HMAC-SHA256 calculado sobre la marca de tiempo y el cuerpo bruto, con una clave derivada del secreto devuelto en la creación (nunca el secreto en claro). GET /api/v1/agent/webhooks lista las suscripciones activas, DELETE /api/v1/agent/webhooks/:id revoca una.
De principio a fin
Ejemplo completo, catálogo y luego pedido
1. Buscar un sitio en el catálogo (aquí en el radio Plancton)
curl -s "https://nautilinks.co/api/v1/agent/catalog?niche=voyage&shelf=Plancton&limit=5" \
-H "Authorization: Bearer YOUR_API_TOKEN"
{
"ok": true,
"count": 1,
"total": 1,
"sites": [
{
"id": 214,
"domain": "exemple-voyage.fr",
"niche_label": "Voyage",
"language": "fr",
"tf": 14,
"traffic_monthly": 2100,
"price_eur": 5,
"price_shelf": "Plancton"
}
]
}
La respuesta completa también incluye shelves, la descripción de los tres radios (precios y criterio), para que un agente descubra la oferta sin documentación externa.
curl -s -X POST "https://nautilinks.co/api/v1/agent/orders" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: cmd-2026-07-24-01" \
-d '{
"promo_code": "PARTENAIRE10",
"items": [
{
"site_id": 214,
"target_url": "https://votre-site.fr/page-cible/",
"anchor_text": "assurance voyage longue duree",
"anchor_type": "partial"
}
]
}'
Respuesta si el saldo prepagado cubre el total
{
"ok": true,
"quote_id": "qt_8f2c...",
"gross_total_eur": 5,
"total_eur": 5,
"discount_eur": 0,
"credit_applied_cents": 500,
"card_amount_cents": 0,
"payment_url": null,
"items_count": 1,
"order_id": "ord_9a1d...",
"order_status": "paid"
}
Respuesta con crédito parcial (el humano solo paga el saldo restante)
{
"ok": true,
"quote_id": "qt_8f2c...",
"gross_total_eur": 5,
"total_eur": 5,
"discount_eur": 0,
"credit_applied_cents": 200,
"card_amount_cents": 300,
"payment_url": "https://checkout.stripe.com/c/pay/...",
"items_count": 1
}
Si payment_url vale null, el pedido ya está pagado por el saldo prepagado: order_id y order_status lo describen directamente. Si no, el agente transmite payment_url al humano; una vez realizado el pago, GET /api/v1/agent/quotes/qt_8f2c... devuelve el order_id resultante, y luego GET /api/v1/agent/orders/:id sigue el enlace hasta su publicación.
Preguntas frecuentes
¿Puede un agente de IA pagar solo, sin intervención humana?
Si el crédito prepagado cubre el neto tras el descuento, el pedido se paga directamente. Si es parcial, se retiene y un enlace de Stripe solo factura el saldo restante al humano. Sin crédito, Stripe factura el neto completo. Ninguna tarjeta se cobra jamás automáticamente.
¿Qué enlaces se pueden comprar por API hoy?
Los tres radios del catálogo: Plancton a 5 €, Coral a 15 € y Nautilus a 30 €. Un pedido de 1 a 20 enlaces puede combinar artículos nuevos dedicados e inserciones en artículos existentes, con paquetes tier-2 opcionales de 1, 3 o 5 enlaces y una vinculación a un proyecto de visibilidad IA.
¿Qué ocurre después del pago?
Una vez pagado el presupuesto (crédito o webhook de Stripe, según el camino tomado), el pedido existe exactamente como una compra realizada desde el carrito web. Los enlaces Plancton se autoasignan después (salvo que el kill-switch interno vuelva al modo manual); los enlaces Coral y Nautilus pasan por una asignación manual por parte del equipo. Todos siguen luego el circuito habitual hasta su publicación.
¿Hay un límite de pedidos al día?
Sí, un límite antiabuso por clave API (una veintena de pedidos al día por defecto). Más allá, la API responde 429 con el código daily_order_cap_reached. Un reintento con la misma Idempotency-Key nunca consume dos veces esa cuota.
¿El servidor MCP requiere instalación local?
No, es un servidor remoto (Cloudflare Worker) en HTTP streamable, sin paquete npm que instalar. Solo retransmite tu clave API hacia la API de Nautilinks, sin almacenar nada por su parte.
¿Puedo probar sin compromiso?
El alcance read (lectura del catálogo, pedidos, presupuestos, saldo) está incluido por defecto en cada clave, igual que el alcance order. También puedes generar una clave sandbox (prefijo sn_test_): simula un pedido sin cobrar jamás la cartera ni crear un pedido real en un editor, llevando la respuesta entonces sandbox: true.
¿Cómo seguir el progreso de un pedido sin hacer polling a la API?
Creando una suscripción webhook (POST /api/v1/agent/webhooks) en una URL HTTPS pública, para uno o varios eventos entre order.accepted, order.published y order.cancelled. Cada entrega está firmada en HMAC-SHA256 en el encabezado Nautilinks-Signature, que debe verificarse antes de confiar en el contenido.
Una clave API, y tu agente compra enlaces
Crea una cuenta, genera tu clave en el área de miembros, conecta el MCP o llama a la API. El catálogo de tres radios (Plancton, Coral, Nautilus) está disponible desde hoy.