Limites
- 20 analyses d'URL par heure et par adresse IP (scanner et détecteur confondus), 5 générations de llms.txt par heure ;
- 200 analyses de texte par heure et par adresse IP, 256 Ko maximum par requête ;
- les analyses d'URL sont mises en cache une heure (
"cached": true) ; - seules les adresses publiques en http/https sur les ports 80 et 443 sont analysées.
Les réponses d'erreur ont la forme {"error": "message"} avec les codes HTTP 400 (requête invalide), 413 (trop volumineuse), 422 (site inaccessible ou adresse refusée) et 429 (limite atteinte).
Scanner de visibilité IA
curl -s https://iabig.com/api/v1/scan \
-H 'Content-Type: application/json' \
-d '{"url": "exemple.fr"}'
Champs principaux de la réponse :
| Champ | Description |
|---|---|
score, grade | Score de 0 à 100 et note de A à E. |
bots[] | Pour chaque robot : token, company, kind (search, user ou training), allowed, rule (règle robots.txt appliquée). |
sections[].checks[] | Vérifications avec status (ok, warn, fail, info), title, detail, fix. |
injection | risk et findings[] (voir ci-dessous). |
facts | Résumé : robots.txt, llms.txt, nombre de mots sans JavaScript, Cloudflare, JSON-LD. |
Détecteur d'injection de prompt
Sur une page :
curl -s https://iabig.com/api/v1/injection \
-H 'Content-Type: application/json' \
-d '{"url": "https://exemple.fr/page"}'
Sur un texte, par exemple avant de l'injecter dans le contexte d'un modèle :
import json, urllib.request
def check_injection(text):
req = urllib.request.Request(
"https://iabig.com/api/v1/injection",
data=json.dumps({"text": text}).encode(),
headers={"Content-Type": "application/json"},
)
with urllib.request.urlopen(req, timeout=10) as r:
return json.load(r)
result = check_injection(document)
if result["risk"] == "élevé":
... # écarter ou nettoyer le document
Réponse : risk vaut aucun, faible, à vérifier ou élevé ; chaque élément de findings[] contient severity (critique, élevé, moyen, info), kind, where et snippet. Le texte envoyé n'est jamais enregistré.
Testeur de robots.txt
curl -s https://iabig.com/api/v1/robots-test \
-H 'Content-Type: application/json' \
-d '{"robots": "User-agent: GPTBot\nDisallow: /", "path": "/blog/"}'
Réponse : pour chaque robot de bots[], allowed, rule (règle appliquée) et group (groupe User-agent utilisé). Limite : 200 requêtes par heure.
Vérification d'IP d'un robot
curl -s https://iabig.com/api/v1/verify-ip \
-H 'Content-Type: application/json' \
-d '{"ip": "203.0.113.10", "user_agent": "Mozilla/5.0 (compatible; GPTBot/1.2)"}'
verdict vaut authentique, usurpé, non vérifiable, connu (adresse présente dans une liste officielle, sans User-Agent fourni) ou inconnu. Limite : 200 requêtes par heure.
Générateur de llms.txt
curl -s https://iabig.com/api/v1/llms-txt \
-H 'Content-Type: application/json' \
-d '{"url": "exemple.fr"}'
Renvoie llms_txt (brouillon Markdown), pages_used et source (sitemap ou liens de la page d'accueil). Limite : 5 requêtes par heure.
Tous les points d'accès acceptent "lang": "en" pour des messages en anglais.
Statistiques de l'Observatoire
curl -s https://iabig.com/api/v1/stats
Visites des robots IA vérifiées par plages IP sur les 30 derniers jours et statistiques agrégées des sites analysés. Données sous licence CC BY 4.0 : citez « IABIG Observatoire » avec un lien.
Bon usage
L'API est fournie gratuitement et sans garantie de disponibilité. N'analysez que des sites que vous avez le droit de tester et respectez les limites. Pour un usage plus intensif, contactez-nous via l'adresse des mentions légales.