Accueil · API et agents IA
Agent Ready

Achetez des backlinks depuis un agent IA, ou par API

Le catalogue Nautilinks est aussi accessible par API et par serveur MCP. Un agent (Claude, ChatGPT, Cursor…) peut chercher un site, construire une commande et vous transmettre le lien de paiement. C'est vous qui payez, toujours.

Créer mon compte Voir la référence API
✓ Auth par clé API✓ Serveur MCP remote✓ Paiement toujours humain

Nautilinks vend des backlinks directement, sans marketplace ni commission, sur un réseau de sites que nous éditons nous-mêmes. Cette page décrit l'accès machine à ce même catalogue : une API REST et un serveur MCP, pensés pour qu'un agent LLM puisse chercher un site pertinent, poser une commande et suivre son avancement, sans qu'un humain remplisse de formulaire.

Le principe reste le même que sur le reste du site : le catalogue interrogé par API est public dans sa logique, les prix sont ceux affichés côté humain, et rien n'est débité sans qu'un humain clique sur un lien de paiement Stripe. L'agent prépare, l'humain valide.

Mise en route

Trois étapes pour connecter un agent

  1. Créez un compte Nautilinks. Inscription gratuite, aucune carte bancaire demandée à cette étape. C'est ce compte qui reçoit les factures et qui paie, in fine, via Stripe.
  2. Générez une clé API. Dans l'espace membre, section « Mon compte » puis « Clés API ». La clé (format sn_live_...) s'affiche une seule fois, à copier immédiatement. Jusqu'à 5 clés actives par compte, révocables à tout moment.
  3. Connectez le MCP ou appelez l'API. Deux chemins équivalents : un client MCP (Claude Code, claude.ai, Cursor…) qui parle au serveur mcp.nautilinks.co, ou des appels HTTP directs sur /api/v1/agent/*. Le contrat JSON est identique des deux côtés.
Sans package à installer

Connecter le serveur MCP

Serveur distant sur Cloudflare (transport HTTP streamable), pas de session ni d'état conservé côté Nautilinks. Chaque appel transporte votre propre clé API.

Claude Code
claude mcp add --transport http nautilinks https://mcp.nautilinks.co/mcp \
  --header "Authorization: Bearer sn_live_votre_cle"
claude.ai — Réglages → Connecteurs → Ajouter un connecteur personnalisé
URL : https://mcp.nautilinks.co/mcp
En-tête : Authorization: Bearer sn_live_votre_cle
Si le client n'accepte pas d'en-tête personnalisé
https://mcp.nautilinks.co/mcp?key=sn_live_votre_cle

Sept outils exposés : présenter le réseau (about), rechercher un site (search_sites), lire sa fiche (get_site), créer une commande (create_order), suivre un devis (get_quote_status), lister ses commandes (list_orders) et détailler l'une d'elles (get_order_status). Même contrat de données que l'API REST ci-dessous, un outil MCP par ressource.

/api/v1/agent/*

Référence API pour agents

Méthode
Endpoint
Renvoie
Scope
GET
/api/v1/agent/catalog
Liste les sites du réseau sur la grille Socle, filtrable et paginée.
read
GET
/api/v1/agent/catalog/:id
Fiche complète d'un site (métriques, prix, niche).
read
POST
/api/v1/agent/orders
Crée une commande pour 1 à 20 liens, renvoie un lien de paiement Stripe.
order
GET
/api/v1/agent/orders
Liste les commandes passées avec cette clé.
read
GET
/api/v1/agent/orders/:id
Statut détaillé par lien (à assigner, publié…) et URL publiée une fois en ligne.
read
GET
/api/v1/agent/quotes/:id
Interroge un devis pour savoir si le paiement a été réalisé et sous quel numéro de commande.
read

Authentification

Chaque appel porte l'en-tête Authorization: Bearer sn_live_.... La clé est propre à un compte humain : toute commande créée par API est rattachée à ce compte, facturée sur son adresse, et visible dans son espace membre au même titre qu'une commande passée depuis le panier web. Une clé fraîchement créée porte les deux scopes (read et order) par défaut.

Idempotence des commandes

L'en-tête optionnel Idempotency-Key évite les doublons en cas de rejeu réseau (timeout, retry automatique côté agent). Un second appel avec la même valeur ne crée pas une nouvelle commande : il renvoie le même devis et, si un paiement Stripe est déjà en cours, la même payment_url plutôt que d'en ouvrir une seconde.

Plafond quotidien

Un plafond anti-abus s'applique par clé API, de l'ordre d'une vingtaine de commandes par jour. Une fois atteint, l'API répond en 429 avec le code daily_order_cap_reached. Un rejeu identique (même Idempotency-Key) ne compte jamais deux fois.

Le paiement reste humain

Créer une commande ne débite personne. La réponse contient un champ payment_url, un lien Stripe Checkout classique, à ouvrir par l'humain propriétaire du compte. Une fois payé, un webhook déjà en place transforme le devis en commande et déclenche la publication du lien, sans étape supplémentaire côté agent.

Bout en bout

Exemple complet, catalogue puis commande

1. Chercher un site dans le catalogue Socle
curl -s "https://nautilinks.co/api/v1/agent/catalog?niche=voyage&max_price=5&limit=5" \
  -H "Authorization: Bearer sn_live_votre_cle"
Réponse (abrégée)
{
  "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
    }
  ]
}
2. Créer la commande
curl -s -X POST "https://nautilinks.co/api/v1/agent/orders" \
  -H "Authorization: Bearer sn_live_votre_cle" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: cmd-2026-07-24-01" \
  -d '{
    "items": [
      {
        "site_id": 214,
        "target_url": "https://votre-site.fr/page-cible/",
        "anchor_text": "assurance voyage longue duree",
        "anchor_type": "partial"
      }
    ]
  }'
Réponse
{
  "ok": true,
  "quote_id": "qt_8f2c...",
  "total_eur": 5,
  "payment_url": "https://checkout.stripe.com/c/pay/...",
  "items_count": 1
}

L'agent transmet payment_url à l'humain. Une fois le paiement passé, GET /api/v1/agent/quotes/qt_8f2c... renvoie l'order_id résultant, puis GET /api/v1/agent/orders/:id suit le lien jusqu'à sa publication.

Questions fréquentes

Un agent IA peut-il payer seul, sans intervention humaine ?

Non, et ce n'est volontairement pas prévu en V1. La création de commande renvoie un lien de paiement Stripe (payment_url) : c'est un humain qui doit l'ouvrir et payer. L'API construit la commande, elle ne débite jamais de carte toute seule.

Quels liens sont achetables par API aujourd'hui ?

Uniquement l'étagère Liens Socle : des liens à 5 € l'unité, sur un fulfillment automatisable. Les sites à plus fort trafic (grille Trafic, prix variable) restent réservés à l'espace membre pour le moment, le temps de valider ce canal.

Que se passe-t-il après le paiement ?

Le webhook Stripe existant transforme le devis en commande, exactement comme un achat passé depuis le panier web. Les liens Socle sont ensuite auto-assignés (sauf si le kill-switch interne repasse en mode manuel), puis suivent le circuit habituel jusqu'à publication.

Y a-t-il une limite de commandes par jour ?

Oui, un plafond anti-abus par clé API (une vingtaine de commandes par jour par défaut). Au-delà, l'API répond 429 avec le code daily_order_cap_reached. Un rejeu avec la même Idempotency-Key ne consomme jamais deux fois ce quota.

Le serveur MCP nécessite-t-il une installation locale ?

Non, c'est un serveur distant (Cloudflare Worker) en HTTP streamable, sans package npm à installer. Il ne fait que relayer votre clé API vers l'API Nautilinks, sans rien stocker de son côté.

Puis-je tester sans engagement ?

Le scope read (lecture du catalogue, des commandes, des devis) est inclus par défaut dans chaque clé, au même titre que le scope order. Vous pouvez explorer le catalogue par API avant de passer la première commande.

Une clé API, et votre agent achète des liens

Créez un compte, générez votre clé dans l'espace membre, connectez le MCP ou appelez l'API. Le catalogue Liens Socle est disponible dès aujourd'hui.

Créer mon compte Voir le catalogue complet