API Monitolink
Intégrez le monitoring de backlinks directement dans vos outils et pipelines SEO.
Authentification
Chaque compte dispose d'une clé API unique, visible dans Mon compte → Clé API.
Ajoutez-la dans le header de chaque requĂŞte :
Authorization: Bearer ml_votre_cle_api
https://app.monito.link/api/v1/Rate limits
1 000 requêtes par jour par clé API. Au-delà , vous recevrez une réponse 429.
Codes erreur
| Code | Signification |
|---|---|
400 | Paramètres invalides / erreur de validation |
401 | Clé API manquante, invalide ou désactivée |
402 | Crédits insuffisants |
404 | Ressource introuvable |
409 | Conflit — tous les backlinks sont déjà monitorés |
429 | Rate limit atteint |
500 | Erreur serveur |
GET /credits/
Retourne le solde de crédits du compte.
// Réponse
{
"credits_balance": 150.0,
"user_email": "user@example.com"
}
GET /batches/
Liste des batches avec pagination.
Paramètres query
| Param | Type | Description |
|---|---|---|
active | string | true ou false — filtrer par statut |
page | int | Numéro de page (défaut : 1) |
per_page | int | Résultats par page (défaut : 20, max : 100) |
POST /batches/
Créer un batch de backlinks à monitorer. Les crédits sont débités immédiatement.
Body JSON
{
"backlinks": [
{
"url_publication": "https://blog.com/article",
"ancre": "mon ancre",
"url_destination": "https://monsite.com/page"
}
],
"monitoring_months": 3,
"notify_vendor": false,
"vendor_platform": "",
"vendor_email": ""
}
Paramètres
| Champ | Requis | Description |
|---|---|---|
backlinks | Oui | Liste d'objets (max 10 000) |
monitoring_months | Non / No | 0 (one-shot), 1, 3, 6, 12 — défaut : 1 |
notify_vendor | Non / No | Notifier le vendeur en cas d'anomalie |
vendor_platform | Non / No | Plateforme — valeurs possibles :editeur_independant, accesslink, ereferer, getfluence, jungleup, lemmilink, linkavista, linksgarden, linkuma, myback_link, netlinking_fr, netlinking_com, nextlevel, paper_club, rocketlinks, semjuice, seopepper, soumettre_fr, whitepress |
vendor_email | Non / No | Email du vendeur (requis si editeur_independant) |
Réponse 201
{
"batch": { "id": "uuid...", ... },
"backlinks_created": 45,
"duplicates_skipped": 2,
"credits_charged": 270,
"credits_remaining": 730.0
}
GET /batches/{uuid}/
Détails d'un batch avec statistiques (ok, warning, error, pending) et stats d'indexation.
DELETE /batches/{uuid}/
Stoppe le monitoring d'un batch. Les crédits déjà débités ne sont pas remboursés.
GET /batches/{uuid}/backlinks/
Liste des backlinks d'un batch avec filtres et pagination.
Filtres
| Param | Valeurs |
|---|---|
status | pending, ok, warning, error |
link_found | true / false |
is_dofollow | true / false |
article_removed | true / false |
page | Numéro de page |
per_page | Max 500 |
GET /batches/{uuid}/stats/
Statistiques d'indexation détaillées (total, indexed, not_indexed, pending, rate).
POST /batches/{uuid}/recheck/
Relance la vérification d'indexation.
// Body optionnel
{ "only_non_indexed": true }
GET /batches/{uuid}/export/
Export des anomalies (mĂŞme format que les alertes email).
| Param | Description |
|---|---|
format=csv | Télécharger un fichier CSV (par défaut) |
format=json | Réponse JSON |
GET /backlinks/{id}/
Détails complets d'un backlink : statut on-site, indexation, health score, etc.
GET /backlinks/{id}/history/
Historique des vérifications on-site. Paramètre limit (défaut 100, max 500).
GET /backlinks/{id}/indexation/
Historique des vérifications d'indexation. Paramètre limit (défaut 50, max 200).
Exemples cURL
# Vérifier crédits
curl -H "Authorization: Bearer ml_votre_cle" \
https://app.monito.link/api/v1/credits/
# Soumettre un batch
curl -X POST https://app.monito.link/api/v1/batches/ \
-H "Authorization: Bearer ml_votre_cle" \
-H "Content-Type: application/json" \
-d '{"backlinks": [{"url_publication": "https://blog.com/post", "ancre": "ancre", "url_destination": "https://monsite.com"}], "monitoring_months": 3}'
# Récupérer les backlinks en erreur
curl -H "Authorization: Bearer ml_votre_cle" \
"https://app.monito.link/api/v1/batches/UUID/backlinks/?status=error"
# Export anomalies CSV
curl -H "Authorization: Bearer ml_votre_cle" \
-o anomalies.csv \
https://app.monito.link/api/v1/batches/UUID/export/
Exemple Python
import requests, time
API_KEY = "ml_votre_cle"
BASE = "https://app.monito.link/api/v1"
H = {"Authorization": f"Bearer {API_KEY}"}
# 1. Vérifier crédits
print(requests.get(f"{BASE}/credits/", headers=H).json())
# 2. Soumettre backlinks
r = requests.post(f"{BASE}/batches/", headers=H, json={
"backlinks": [
{"url_publication": "https://blog.com/post",
"ancre": "ancre",
"url_destination": "https://monsite.com"},
],
"monitoring_months": 3
})
batch_id = r.json()["batch"]["id"]
# 3. Polling
while True:
stats = requests.get(f"{BASE}/batches/{batch_id}/", headers=H).json()["batch"]["stats"]
if stats["pending"] == 0: break
print(f"⏳ {stats['pending']} restants...")
time.sleep(60)
# 4. Récupérer les erreurs
for bl in requests.get(f"{BASE}/batches/{batch_id}/backlinks/?status=error", headers=H).json()["backlinks"]:
print(f"❌ {bl['url_publication']} → {bl['error_message']}")
# 5. Export
r = requests.get(f"{BASE}/batches/{batch_id}/export/?format=json", headers=H)
print(f"📊 {r.json()['total']} anomalie(s)")