Open Data de l'observatoire WP Agent Ready
Toutes les données agrégées de l'observatoire sont publiées en accès libre sous licence CC0 (domaine public). Téléchargeables au format JSON, semaine par semaine ou en dump mensuel complet, pour études académiques, journalistiques, ou exploration personnelle.
Licence et conditions d'usage
● CC0 1.0 Universal — Domaine public
Vous pouvez copier, modifier, distribuer ces données, même à des fins commerciales, sans demander l'autorisation. Voir le texte de licence.
Une attribution n'est pas obligatoire mais elle est appréciée. Si vous utilisez ces données dans une publication, vous pouvez citer :
WP Agent Ready Observatory (2026).
Open dataset of AI bot visits on WordPress sites.
Retrieved from https://wp-agent-ready.com/observatory/data/
Endpoints disponibles
Tous les fichiers sont des JSON statiques, servis directement par le serveur web. Aucune authentification requise, aucun rate-limit côté serveur.
Index général
- /observatory/data/index.json Liste toutes les semaines archivées avec métadonnées
Archives hebdomadaires
Une archive par semaine ISO, contenant les compteurs agrégés de cette semaine spécifique. Format de l'URL : /observatory/data/weeks/YYYY-WNN.json (ex. 2026W23 pour la semaine 23 de 2026).
- /observatory/data/weeks/ Dossier listant toutes les semaines (selon configuration serveur)
Dumps mensuels (snapshot complet)
Un fichier JSON unique contenant toutes les semaines archivées au moment de la génération. Idéal pour études académiques, importation Pandas/R, ou analyse hors-ligne.
- /observatory/data/dumps/index.json Index des dumps mensuels disponibles
Snapshot temps réel (vitrine du dashboard)
- /data/current.json Données affichées sur le dashboard public (semaine en cours + cumul historique)
Structure des données
Chaque archive hebdomadaire suit ce schéma JSON (schema_version 1.2) :
| Clé | Type | Description |
|---|---|---|
| schema_version | string | Version du schéma (ex. "1.2") |
| week_label | string | Semaine ISO au format YYYYWNN (ex. "2026W23") |
| period_start, period_end | ISO 8601 | Bornes temporelles de la semaine (UTC) |
| total_sites | int | Nombre de sites contributeurs ayant participé cette semaine |
| total_hits_all_bots | int | Total des hits IA agrégés sur la semaine |
| hits_by_resource | object | Compteurs par type de ressource (llms_txt, markdown_files, api_catalog_json, homepage_html, html_fallback, html_silent) puis par bot. Le bucket html_fallback compte les hits qui auraient reçu du HTML si le forçage par User-Agent n'était pas activé côté plugin. Le bucket html_silent compte les hits reçus en HTML par des bots IA quand le toggle User-Agent est décoché côté plugin (angle mort). Ensemble, ces deux buckets permettent de mesurer honnêtement l'adoption du standard Accept: text/markdown par les bots IA. |
| total_hits_by_bot | object | Total par bot (toutes ressources confondues) |
| sites_by_category | object | Répartition opt-in des contributeurs par catégorie (restaurant, blog, etc.) |
| sites_by_language | object | Répartition par langue détectée |
| sites_by_tld | object | Répartition par TLD (.com, .fr, .org, etc.) |
Exemples d'utilisation
cURL — récupérer la semaine la plus récente
# 1. Récupérer l'index
curl -s https://wp-agent-ready.com/observatory/data/index.json | jq '.last_week'
# 2. Télécharger cette semaine spécifique
curl -s https://wp-agent-ready.com/observatory/data/weeks/2026W23.json
Python (requests + Pandas)
import requests
import pandas as pd
# Récupérer l'index
index = requests.get("https://wp-agent-ready.com/observatory/data/index.json").json()
print(f"{index['weeks_count']} semaines disponibles, "
f"de {index['first_week']} à {index['last_week']}")
# Charger toutes les semaines en DataFrame
rows = []
for w in index['weeks']:
week_data = requests.get(f"https://wp-agent-ready.com{w['url']}").json()
rows.append({
'week': week_data['week_label'],
'sites': week_data['total_sites'],
'total_hits': week_data['total_hits_all_bots'],
})
df = pd.DataFrame(rows).sort_values('week')
print(df)
Python — dump mensuel (1 seul fichier)
import requests
# Récupère l'index des dumps
index = requests.get("https://wp-agent-ready.com/observatory/data/dumps/index.json").json()
latest = index['dumps'][0]
# Télécharge le dump le plus récent
dump = requests.get(f"https://wp-agent-ready.com{latest['url']}").json()
print(f"Dump {latest['month']} : {dump['stats']['weeks_count']} semaines, "
f"{dump['stats']['total_hits_all']:,} hits totaux")
# Toutes les semaines sont dans dump['weeks']
for week in dump['weeks']:
print(week['week_label'], '→', week['total_hits_all_bots'], 'hits')
R (jsonlite + dplyr)
library(jsonlite)
library(dplyr)
# Charger le dump mensuel le plus récent
dumps_index <- fromJSON("https://wp-agent-ready.com/observatory/data/dumps/index.json")
latest_url <- paste0("https://wp-agent-ready.com", dumps_index$dumps$url[1])
dump <- fromJSON(latest_url, simplifyDataFrame = FALSE)
# Convertir en tibble pour analyse
weeks_df <- bind_rows(lapply(dump$weeks, function(w) {
tibble(
week = w$week_label,
sites = w$total_sites,
hits = w$total_hits_all_bots
)
}))
print(weeks_df)
Méthodologie et limites
Provenance des données
Les compteurs proviennent uniquement de sites WordPress équipés du plugin WP Agent Ready et ayant explicitement activé l'opt-in de partage communautaire. Chaque site envoie hebdomadairement ses compteurs anonymes au serveur d'agrégation.
Anonymat strict
Aucune URL, aucun titre de page, aucun contenu d'article, aucune IP, aucun identifiant nominatif. La déduplication se fait via un site_token qui est un hash SHA-256 tronqué et non-réversible. Voir la page sécurité pour le détail.
Limites connues
Cette source de données est partielle :
- Couvre uniquement les sites WordPress équipés du plugin (auto-sélection)
- Les sites contributeurs sont opt-in, donc plutôt sensibilisés au sujet GEO/IA
- Représente seulement le crawl par bots qui déclarent un User-Agent identifiable (les bots furtifs ne sont pas détectés)
- Le rate-limit serveur (1 envoi/site/semaine) peut introduire un léger lag pour la semaine en cours
À utiliser comme indicateur de tendance, pas comme mesure exhaustive de l'activité IA sur le Web.
Contact et contribution
Questions sur les données, signalement d'anomalie, ou idée d'enrichissement : [email protected]
Pour contribuer vos propres données : installez le plugin WP Agent Ready sur votre site WordPress et activez l'opt-in dans Réglages → Observatoire.