L’API slop.
Une URL en entrée. Du JSON en sortie. Sans clé.
Faire une requête
GET https://isthisaslop.site/api?url=https%3A%2F%2Fexample.com%2F
curl --get 'https://isthisaslop.site/api' \
--data-urlencode 'url=https://example.com/about'
Utilisez une URL complète https:// ou http:// . Encodez la valeur en URL, surtout si elle contient déjà des paramètres.
POST fonctionne aussi, avec JSON ou un champ de formulaire url :
curl 'https://isthisaslop.site/api' \
-H 'Content-Type: application/json' \
-d '{"url":"https://example.com/about"}'
La réponse
Extrait illustratif ; les vraies réponses incluent aussi catégories, indices, couverture et horodatages.
{
"version": "1.3.1",
"status": "scored",
"score": 48,
"label": "Some familiar AI-site patterns",
"host": "example.com",
"cached": false,
"crawl": {
"max_pages": 20,
"pages_attempted": 2,
"pages_scanned": 2,
"scored_pages": 2,
"pages_skipped": 0,
"scoring": "strongest_scored_page",
"scoring_page": "/about",
"pages": [
{"path": "/about", "score": 48, "status": "scored"},
{"path": "/services", "score": 36, "status": "scored"}
]
}
}
score va de 0 à 100. status: "insufficient" s’accompagne de score: null si le contenu est insuffisant. Chaque indice inclut le chemin de la page où il a été trouvé.
Limites
- 12 requêtes par tranche de 10 minutes par IP cliente, partagées avec le formulaire. Les requêtes invalides et en cache comptent. Les adresses IPv6 partagent un quota /64.
- 20 analyses nouvelles par hôte cible sur 10 minutes. Quatre simultanément, avec un budget global de 100 sur 10 minutes.
- Les réponses incluent
X-RateLimit-Limit,X-RateLimit-RemainingetX-RateLimit-Reset(temps Unix). Une réponse429inclutRetry-Afteren secondes. - Les résultats restent en cache 15 minutes. Prévoyez jusqu’à 50 secondes pour une nouvelle requête.
Ce qui est analysé
Jusqu’à 20 tentatives de page, échecs compris, en 42 secondes. Seuls les liens directs du même hôte et protocole sont examinés, sans exploration récursive. Paramètres, téléchargements, connexions et actions sont ignorés. Chaque page analysée a son score.
Le score global et les catégories utilisent la page au score le plus élevé. crawl.scoring_page · crawl.pages
Uniquement du HTML public sur les ports HTTP(S) standard. Aucun identifiant, envoi de formulaire ou accès privé. Le PHP analysé est lu comme réponse distante, jamais inclus ni exécuté par notre application.
Erreurs
| HTTP | Signification |
|---|---|
| 400 / 413 | JSON mal formé / requête trop volumineuse |
| 405 | Utilisez GET ou POST |
| 422 | URL invalide, destination bloquée ou page illisible |
| 429 | Limite atteinte ; attendez le délai Retry-After |
| 503 | Tous les créneaux occupés ; réessayez bientôt |
| 500 | Erreur temporaire de l’analyseur |
{"error":"Too many scans. Please wait and try again.","retry_after":120}
Les URL GET peuvent figurer dans les journaux d’infrastructure. Utilisez POST pour les paramètres sensibles. Ce point d’accès est destiné aux échanges entre serveurs ; l’accès navigateur entre origines n’est pas activé.
L’analyse d’isthisaslop.site renvoie status: "self_detected", score: null et un clin d’œil à la place d’un score mesuré.