SEObserver API v1

API SEO complète couvrant les backlinks (propulsé par Majestic), le suivi SERP, la vérification d'indexation et le monitoring de mots-clés organiques.

Authentification

Toutes les requêtes API nécessitent une clé API. Transmettez-la via le header HTTP X-SEObserver-key (recommandé) ou en paramètre api_key dans l'URL.

curl -H "X-SEObserver-key: YOUR_API_KEY" https://api1.seobserver.com/backlinks/metrics.json

Votre clé API est disponible dans votre tableau de bord SEObserver sous Paramètres > API.

URL de base

Tous les endpoints sont relatifs à : https://api1.seobserver.com/

Toutes les réponses sont en JSON. Ajoutez .json au chemin de l'endpoint.

Limites & Facturation

Chaque appel API consomme des Unités SEObserver depuis le solde de votre compte. Le coût dépend de l'endpoint et de la quantité de données retournées.

Types de coût

TypeFormuleDescription
FlatMontant fixeCoût identique quel que soit le volume de données
Variablefacteur × lignesProportionnel au nombre de lignes retournées, avec minimum
Mixedbase + facteur × lignesCoût de base fixe plus composante variable, avec minimum
Free0Gratuit

Table complète des coûts

EndpointTypeBaseFacteurMin
backlinks/metricsVariable01
backlinks/metrics_archiveVariable05
backlinks/anchorsVariable0110
backlinks/topMixed40150
backlinks/refdomainsVariable0110
backlinks/pagesMixed40150
backlinks/historyVariable0110
backlinks/newlost_calendarFlat10
backlinks/refdomaininfoVariable0110
backlinks/linkprofileMixed20130
backlinks/relatedsitesMixed40150
backlinks/queryestimateFlat1
backlinks/searchbykeywordVariable0110
backlinks/keywordinfoVariable0110
backlinks/submitcrawlVariable0510
serps/addVariable01
indexeds/addVariable01
organic_keywords/metricsVariable01
organic_keywords/indexVariable01
organic_keywords/urlsVariable01
organic_keywords/visibility_historyMixed12

Vérifiez votre solde à tout moment via l'endpoint subscription.

Format d'entrée

La plupart des endpoints Backlinks acceptent les items sous forme de tableau JSON dans le corps de la requête, ou en paramètres d'URL.

Corps JSON (recommandé)

[
  {"item_type": "domain", "item_value": "example.com"},
  {"item_type": "url", "item_value": "https://example.com/page"}
]

Paramètres d'URL

?item_type=domain&item_value=example.com

Valeurs item_type valides

item_typeDescription
domainDomaine racine (ex. example.com)
subdomainSous-domaine (ex. blog.example.com)
siteRequête au niveau du site
urlURL exacte
pathChemin d'URL avec correspondance wildcard
keywordChaîne de mot-clé (uniquement pour l'endpoint keywordinfo)

Cas d'usage

Workflows courants combinant plusieurs endpoints pour résoudre des problèmes SEO concrets.

Analyse de backlinks

Surveiller l'acquisition de backlinks des concurrents

Suivez comment vos concurrents gagnent des liens au fil du temps. Utilisez history pour les tendances et newlost_calendar pour l'activité quotidienne.

Auditer la qualité de votre profil de liens

Évaluez la santé de vos backlinks en combinant les métriques générales, la matrice de distribution CF/TF et l'analyse des ancres.

Trouver des opportunités de link building

Découvrez les sites liés à votre niche et trouvez les domaines positionnés sur vos mots-clés cibles.

Vérification en masse de l'autorité de domaines

Vérifiez le TrustFlow et CitationFlow de jusqu'à 100 domaines en une seule requête. Utilisez refdomaininfo pour des données détaillées.

Détecter les attaques de SEO négatif

Repérez les pics soudains de nouveaux backlinks ou de liens perdus pouvant indiquer une attaque de SEO négatif.

Recherche de mots-clés

Trouver les lacunes de contenu

Obtenez des données de popularité des mots-clés et découvrez quels domaines se positionnent sur les termes que vous manquez.

Audit de contenu

Analysez quels mots-clés et URLs génèrent de la visibilité organique pour votre domaine.

Suivi SERP

Suivre les positions sur des termes clés

Soumettez des mots-clés pour le suivi SERP et récupérez les résultats une fois traités.

Surveiller les SERP locaux

Suivez les positions pour des localisations spécifiques en utilisant les paramètres custom base et UULE.

Monitoring d'indexation

Vérifier que les nouvelles pages sont indexées

Soumettez les URLs récemment publiées et vérifiez leur statut d'indexation dans Google.

Audit d'indexation globale du site

Soumettez des URLs par lot pour auditer la couverture d'indexation sur l'ensemble de votre site.

Endpoints Abonnement

GET /api1/api_users/subscription.json Free

Obtenez le statut actuel de votre abonnement API, y compris les unités restantes.

Exemple de requête
curl https://api1.seobserver.com/api_users/subscription.json \
  -H "X-SEObserver-key: YOUR_API_KEY"
Exemple de réponse
{
  "status": "ok",
  "data": {
    "enabled": true,
    "TotalUnits": 485000,
    "MaxUnits": 500000
  }
}
GET /api1/api_users/costs.json Free

Obtenez la table complète des coûts pour tous les endpoints API. Utile pour construire des estimations de coût dans votre intégration.

ParamètreTypeRequisDéfautDescription
outputstringNonstandardstandard (imbriqué) ou absolute (clé-valeur à plat)
Exemple de requête
curl https://api1.seobserver.com/api_users/costs.json \
  -H "X-SEObserver-key: YOUR_API_KEY"

Endpoints SERP

Soumettez des mots-clés pour le suivi SERP (Search Engine Results Page). Les résultats sont traités de manière asynchrone.

POST /api1/serps/add.json Variable : 1/mot-clé

Soumettez des mots-clés pour la vérification SERP. Chaque paire mot-clé+base crée un job SERP traité de manière asynchrone.

ParamètreTypeRequisDéfautDescription
keywordstringOuiMot-clé de recherche
basestringOuiBase du moteur de recherche (ex. google.fr)
prioritystringNonlowlow ou high (high coûte 2x)
typestringNonType de SERP (+2 unités si défini)
batchstringNonIdentifiant de batch pour le regroupement
postback_urlstringNonURL où POST les résultats quand prêts
filtersobjectNonFiltres de résultats
Exemple de requête
curl -X POST https://api1.seobserver.com/serps/add.json \
  -H "X-SEObserver-key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '[{"keyword":"seo tools","base":"google.fr","priority":"low"}]'
Exemple de réponse (201)
{
  "status": "ok",
  "data": [
    {
      "id": "64a1b2c3d4e5f6a7b8c9d0e1",
      "keyword": "seo tools",
      "base": "google.fr",
      "status": -1,
      "created": "2025-01-15T10:30:00+00:00"
    }
  ]
}
GET /api1/serps/view/{id}.json Free

Obtenez le statut et les résultats d'un job SERP spécifique par son ID.

ParamètreTypeRequisDéfautDescription
idstringOuiID MongoDB du job SERP (dans le chemin URL)
Exemple de requête
curl https://api1.seobserver.com/serps/view/64a1b2c3d4e5f6a7b8c9d0e1.json \
  -H "X-SEObserver-key: YOUR_API_KEY"
GET /api1/serps/index.json Free

Listez tous vos jobs SERP avec pagination et filtrage.

ParamètreTypeRequisDéfautDescription
limitintegerNon100Résultats par page (max 10 000)
pageintegerNon1Numéro de page
keywordstringNonFiltrer par mot-clé
batchstringNonFiltrer par batch
Exemple de requête
curl "https://api1.seobserver.com/serps/index.json?limit=50&batch=campaign1" \
  -H "X-SEObserver-key: YOUR_API_KEY"

Endpoints Indexation

Vérifiez si des URLs sont indexées dans Google. Les jobs sont traités de manière asynchrone.

POST /api1/indexeds/add.json Variable : 1/URL

Soumettez des URLs pour la vérification d'indexation. Chaque URL crée un job asynchrone.

ParamètreTypeRequisDéfautDescription
urlstringOuiURL à vérifier
prioritystringNonlowlow ou high (high coûte 2x)
levelstringNonexactCorrespondance exact ou plus large
batchstringNonIdentifiant de batch
postback_urlstringNonURL où POST les résultats
Exemple de requête
curl -X POST https://api1.seobserver.com/indexeds/add.json \
  -H "X-SEObserver-key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '[{"url":"https://example.com/page","priority":"low"}]'
GET /api1/indexeds/view/{id}.json Free

Obtenez le statut et le résultat d'un job de vérification d'indexation spécifique.

ParamètreTypeRequisDéfautDescription
idstringOuiID MongoDB du job (dans le chemin URL)
Exemple de requête
curl https://api1.seobserver.com/indexeds/view/64a1b2c3d4e5f6a7b8c9d0e1.json \
  -H "X-SEObserver-key: YOUR_API_KEY"
GET /api1/indexeds/index.json Free

Listez tous vos jobs de vérification d'indexation avec pagination et filtrage.

ParamètreTypeRequisDéfautDescription
limitintegerNon100Résultats par page (max 10 000)
pageintegerNon1Numéro de page
urlstringNonFiltrer par URL
batchstringNonFiltrer par batch
codeintegerNonFiltrer par code HTTP
Exemple de requête
curl "https://api1.seobserver.com/indexeds/index.json?limit=50&batch=batch1" \
  -H "X-SEObserver-key: YOUR_API_KEY"
DELETE /api1/indexeds/delete/{id}.json Free

Supprimez un job de vérification d'indexation.

ParamètreTypeRequisDéfautDescription
idstringOuiID MongoDB du job (dans le chemin URL)
Exemple de requête
curl https://api1.seobserver.com/indexeds/delete/64a1b2c3d4e5f6a7b8c9d0e1.json \
  -H "X-SEObserver-key: YOUR_API_KEY"

Endpoints Mots-clés Organiques

Accédez aux données de suivi de mots-clés organiques de SEObserver. Couvre les métriques de visibilité, les classements de mots-clés et les tendances historiques.

GET /api1/organic_keywords/metrics.json Variable : 1/item

Obtenez les métriques de visibilité organique pour jusqu'à 100 domaines. Retourne des scores de visibilité SEO agrégés.

ParamètreTypeRequisDéfautDescription
itemsCorps JSONOuiTableau d'items (max 100)
basestringNonfr_frCode marché/locale
datestringNonlatestDate spécifique
Exemple de requête
curl -X POST https://api1.seobserver.com/organic_keywords/metrics.json?base=fr_fr \
  -H "X-SEObserver-key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '[{"item_type":"domain","item_value":"example.com"}]'
GET /api1/organic_keywords/index.json Variable : 1/ligne

Listez les classements de mots-clés organiques pour un domaine avec filtrage et tri avancés.

ParamètreTypeRequisDéfautDescription
domainstringOuiDomaine à interroger (paramètre d'URL)
basestringNonfr_frCode marché/locale
limitintegerNon100Résultats par page (max 10 000)
offsetintegerNon0Décalage pour la pagination
datestringNonlatestDate spécifique
conditionsobjectNonConditions de filtre (p, url, keyword_title, search_volume, visibility, branded, tags)
orderobjectNonOrdre de tri (p, url, keyword_title, search_volume, cpc, competition, visibility, branded, tags)
Exemple de requête
curl "https://api1.seobserver.com/organic_keywords/index.json?domain=example.com&base=fr_fr&limit=50" \
  -H "X-SEObserver-key: YOUR_API_KEY"
GET /api1/organic_keywords/urls.json Variable : 1/ligne

Obtenez les URLs d'un domaine regroupées par visibilité agrégée et nombre de mots-clés.

ParamètreTypeRequisDéfautDescription
domainstringOuiDomaine à interroger
basestringNonfr_frCode marché/locale
limitintegerNon100Résultats par page (max 10 000)
offsetintegerNon0Décalage pour la pagination
Exemple de requête
curl -X POST "https://api1.seobserver.com/organic_keywords/urls.json?base=fr_fr&limit=100" \
  -H "X-SEObserver-key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '[{"item_type":"domain","item_value":"example.com"}]'
GET /api1/organic_keywords/visibility_history.json Mixed : 1 + 2/mois

Obtenez l'historique de visibilité mois par mois pour des domaines.

ParamètreTypeRequisDéfautDescription
itemsCorps JSONOuiTableau d'items ou paramètre domain
basestringNonfr_frCode marché/locale
monthsintegerNon12Nombre de mois
start_datestringNonDate de début (AAAA-MM-JJ)
end_datestringNonDate de fin (AAAA-MM-JJ)
Exemple de requête
curl -X POST "https://api1.seobserver.com/organic_keywords/visibility_history.json?base=fr_fr&months=6" \
  -H "X-SEObserver-key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '[{"item_type":"domain","item_value":"example.com"}]'
GET /api1/organic_keywords/list_dates.json Free

Listez toutes les dates de données disponibles pour un marché donné. Utile pour savoir quelles dates interroger dans l'endpoint index.

ParamètreTypeRequisDéfautDescription
basestringNonCode marché/locale
Exemple de requête
curl "https://api1.seobserver.com/organic_keywords/list_dates.json?base=fr_fr" \
  -H "X-SEObserver-key: YOUR_API_KEY"