Synupv1
Créer une clé
v1Ressources/SEO

SEO

Suivez le classement des mots-clés de recherche locale sur une grille géographique, la position des concurrents, et les insights et recommandations générés par l'IA de Sydekick.

Renvoie les mots-clés suivis, la tendance de classement mensuelle, la grille de classement et les cartes de statistiques pour un établissement. Passez keywordId pour restreindre la grille à un seul mot-clé, ou month (YYYY-MM) pour la figer sur un mois précis plutôt que sur le dernier rapport mesuré de chaque mot-clé.

Obtenir la synthèse de classement d'un établissement

get/api/v1/seo/keywords
seo:read
Paramètres de requête
locationIdstringobligatoire
L'établissement à consulter.
clientIdstringfacultatif
Le client de l'établissement.
keywordIdstringfacultatif
Restreint la grille à un seul mot-clé suivi. À omettre pour la grille agrégée du meilleur classement par cellule sur tous les mots-clés actifs.
monthstringfacultatif
Fige la grille et les statistiques sur ce mois (YYYY-MM) au lieu du dernier rapport mesuré de chaque mot-clé.
Réponse
dataobjectfacultatif
Des champs internes supplémentaires peuvent être présents mais ne font pas partie du contrat stable — ne vous fiez qu'aux champs documentés ici.
keywordsarray of objectfacultatif
Mots-clés suivis pour cet établissement, chacun avec son classement actuel et sa tendance mensuelle.
idstringfacultatif
Identifiant unique du mot-clé suivi.
keywordstringfacultatif
Le texte du mot-clé.
avgRanknumberfacultatif
Le dernier classement moyen mesuré du mot-clé sur la grille (plus bas est meilleur ; null si jamais mesuré ou pas classé).
monthlyarray of objectfacultatif
Le classement moyen de ce mot-clé pour chaque mois disposant d'un rapport.
monthstringfacultatif
ranknumberfacultatif
monthsarray of objectfacultatif
Chaque mois disposant d'au moins un rapport mesuré, du plus ancien au plus récent, avec le classement moyen moyen sur les mots-clés pour ce mois.
keystringfacultatif
Mois au format YYYY-MM.
labelstringfacultatif
Étiquette lisible pour le mois, par ex. "Aug 2026".
avgRanknumberfacultatif
Classement moyen moyen sur les mots-clés suivis pour ce mois, ou null.
gridarray of objectfacultatif
La grille de classement : une entrée par point scrapé, fusionnée sur le ou les mots-clés/mois concernés.
idstringfacultatif
rowintegerfacultatif
Index de ligne de la grille.
colintegerfacultatif
Index de colonne de la grille.
latnumberfacultatif
Latitude de ce point de grille.
lngnumberfacultatif
Longitude de ce point de grille.
ranknumberfacultatif
Classement trouvé à ce point (plus bas est meilleur) ; null si non mesuré, les valeurs au-delà de 20 signifient "20+".
excludedbooleanfacultatif
Si ce point est exclu des calculs de statistiques de l'établissement.
waterbooleanfacultatif
Si ce point se trouve dans l'eau (mer, lac, large rivière) et n'est compté que si l'établissement a choisi d'inclure les points en eau.
statsobjectfacultatif
Statistiques de classement agrégées sur la grille active.
top3Pctnumberfacultatif
Pourcentage de points de grille classés dans le top 3, ou null.
top10Pctnumberfacultatif
Pourcentage de points de grille classés dans le top 10, ou null.
avgRanknumberfacultatif
Classement moyen sur la grille, ou null.
statCardsobjectfacultatif
Cartes de mise en avant résumant le meilleur/pire mot-clé de l'établissement et la plus grande variation mois sur mois.
bestobjectfacultatif
Le mot-clé avec le meilleur (le plus bas) classement moyen actuel, ou null si aucun n'a encore été classé.
keywordstringfacultatif
avgRanknumberfacultatif
worstobjectfacultatif
Le mot-clé avec le pire classement moyen actuel, ou null.
keywordstringfacultatif
avgRanknumberfacultatif
gainerobjectfacultatif
Le mot-clé dont le classement s'est le plus amélioré entre son premier et son dernier mois, ou null.
keywordstringfacultatif
fromnumberfacultatif
tonumberfacultatif
dropperobjectfacultatif
Le mot-clé dont le classement s'est le plus dégradé entre son premier et son dernier mois, ou null.
keywordstringfacultatif
fromnumberfacultatif
tonumberfacultatif
notRankingCountnumberfacultatif
Points de grille mesurés avec succès mais classés hors du top 20, ou null.
noDataCountnumberfacultatif
Points de grille qui n'ont pas pu être mesurés du tout (le scrape a échoué), distinct de non classé, ou null.
centerobjectfacultatif
Le point central de la carte pour la grille de cet établissement (son emplacement commercial), ou null si pas encore configuré.
latnumberfacultatif
lngnumberfacultatif
includeWaterPointsbooleanfacultatif
Si cet établissement a choisi de compter les points de grille situés dans l'eau.
Erreurs
400Il manque un paramètre requis à la requête, ou elle est invalide.
401Clé API manquante, invalide, expirée ou révoquée.
403La clé n'a pas la permission requise, ou n'est pas autorisée pour ce client/établissement.
429Trop de requêtes. Réessayez après le nombre de secondes indiqué dans l'en-tête Retry-After.
get/api/v1/seo/keywords
Votre clé API
locationId *
clientId
keywordId
month
{
  "data": {
    "keywords": [
      {
        "id": "cm_kw_abc123",
        "keyword": "dentist near me",
        "avgRank": 4.2,
        "monthly": [
          {
            "month": "2026-01",
            "rank": 5.1
          },
          {
            "month": "2026-02",
            "rank": 4.2
          }
        ]
      }
    ],
    "months": [
      {
        "key": "2026-01",
        "label": "Jan 2026",
        "avgRank": 5.1
      },
      {
        "key": "2026-02",
        "label": "Feb 2026",
        "avgRank": 4.2
      }
    ],
    "grid": [
      {
        "id": "cm_pt_1",
        "row": 0,
        "col": 0,
        "lat": 30.2682,
        "lng": -97.7441,
        "rank": 3,
        "excluded": false,
        "water": false
      }
    ],
    "stats": {
      "top3Pct": 44,
      "top10Pct": 78,
      "avgRank": 4.2
    },
    "statCards": {
      "best": {
        "keyword": "dentist near me",
        "avgRank": 4.2
      },
      "worst": {
        "keyword": "emergency dentist austin",
        "avgRank": 9.6
      },
      "gainer": {
        "keyword": "dentist near me",
        "from": 5.1,
        "to": 4.2
      },
      "dropper": {
        "keyword": "family dentist",
        "from": 3.8,
        "to": 5.2
      },
      "notRankingCount": 1,
      "noDataCount": 0
    },
    "center": {
      "lat": 30.2672,
      "lng": -97.7431
    },
    "includeWaterPoints": false
  }
}
v1Ressources/SEO/postAjouter des mots-clés suivis à un établissement

Démarre le suivi d'un ou plusieurs mots-clés sur la grille de classement de recherche locale d'un établissement, en configurant la taille de grille et le rayon lors de la première configuration de l'établissement. Les mots-clés sont dédupliqués sans distinction de casse et limités à 25 par établissement. Déclenche une analyse de classement en arrière-plan pour chaque mot-clé nouvellement ajouté — interrogez GET /api/v1/seo/keywords ensuite pour voir les résultats arriver.

Ajouter des mots-clés suivis à un établissement

post/api/v1/seo/keywords
seo:write
Corps de la requête
locationIdstringobligatoire
L'établissement pour lequel suivre des mots-clés.
clientIdstringfacultatif
Le client de l'établissement.
keywordsarray of stringobligatoire
Mots-clés à commencer à suivre, jusqu'à 25 (dédupliqués sans distinction de casse ; la première orthographe soumise l'emporte).
gridSizeinteger (3 | 5 | 7)facultatif
Taille de grille (3, 5 ou 7 points par côté). Appliquée uniquement la première fois que la grille de cet établissement est configurée — les appels suivants qui l'omettent, ou qui ciblent un établissement déjà configuré, laissent la taille de grille stockée inchangée.
distanceKmnumberfacultatif
Distance en kilomètres entre points de grille adjacents. Même règle de première configuration uniquement que gridSize ; par défaut 1,5 km quand l'établissement n'a encore aucune grille configurée.
excludedarray of objectfacultatif
Points de grille à exclure de la mesure — par ex. un lac, le territoire d'un concurrent. Les points sont quand même récupérés ; ceci contrôle seulement s'ils comptent dans les statistiques.
rowintegerfacultatif
Index de ligne de la grille, indexé à partir de 0.
colintegerfacultatif
Index de colonne de la grille, indexé à partir de 0.
Réponse
dataobjectfacultatif
keywordsarray of objectfacultatif
Les mots-clés qui ont été ajoutés ou réactivés par cet appel.
idstringfacultatif
Identifiant unique du mot-clé suivi.
keywordstringfacultatif
Le texte du mot-clé tel que stocké (en utilisant la première orthographe soumise).
Erreurs
400Il manque un paramètre requis à la requête, ou elle est invalide.
401Clé API manquante, invalide, expirée ou révoquée.
403La clé n'a pas la permission requise, ou n'est pas autorisée pour ce client/établissement.
422Il manque un paramètre requis à la requête, ou elle est invalide.
429Trop de requêtes. Réessayez après le nombre de secondes indiqué dans l'en-tête Retry-After.
post/api/v1/seo/keywords
Votre clé API
Corps de la requête*
{
  "data": {
    "keywords": [
      {
        "id": "cm_kw_abc123",
        "keyword": "dentist near me"
      }
    ]
  }
}
v1Ressources/SEO/deleteRetirer un mot-clé suivi

Arrête le suivi d'un mot-clé et supprime ses rapports de classement stockés.

Retirer un mot-clé suivi

delete/api/v1/seo/keywords
seo:write
Paramètres de requête
keywordIdstringobligatoire
Le mot-clé suivi à retirer.
clientIdstringfacultatif
Le client de l'établissement propriétaire du mot-clé.
Réponse
dataobjectfacultatif
removedbooleanfacultatif
Toujours true — le mot-clé et ses rapports de classement stockés ont été supprimés.
Erreurs
400Il manque un paramètre requis à la requête, ou elle est invalide.
401Clé API manquante, invalide, expirée ou révoquée.
403La clé n'a pas la permission requise, ou n'est pas autorisée pour ce client/établissement.
404La ressource est introuvable, ou n'appartient pas à votre agence.
429Trop de requêtes. Réessayez après le nombre de secondes indiqué dans l'en-tête Retry-After.
delete/api/v1/seo/keywords
Votre clé API
keywordId *
clientId
{
  "data": {
    "removed": true
  }
}
v1Ressources/SEO/patchMettre à jour la configuration de grille d'un établissement

Met à jour la configuration de mesure de la grille d'un établissement : taille de grille, distance entre les points, points exclus, ou si les points de grille en eau comptent dans les statistiques. Ne transmettez que les champs à modifier. Les points en eau sont de toute façon toujours récupérés — includeWaterPoints contrôle seulement s'ils sont comptés et affichés. Le côté lecture est déjà couvert par GET /api/v1/seo/keywords, dont la réponse inclut déjà includeWaterPoints.

Mettre à jour la configuration de grille d'un établissement

patch/api/v1/seo/config
seo:write
Corps de la requête
locationIdstringobligatoire
L'établissement à configurer.
clientIdstringfacultatif
Le client de l'établissement.
gridSizeinteger (3 | 5 | 7)facultatif
Taille de grille : 3, 5 ou 7.
distanceKmnumberfacultatif
Distance en kilomètres entre points de grille adjacents.
excludedarray of objectfacultatif
Points de grille à exclure de la mesure.
rowintegerfacultatif
Index de ligne de la grille, indexé à partir de 0.
colintegerfacultatif
Index de colonne de la grille, indexé à partir de 0.
includeWaterPointsbooleanfacultatif
Si les points de grille en eau comptent dans les statistiques.
Réponse
dataobjectfacultatif
configobjectfacultatif
La configuration de grille de l'établissement après la mise à jour.
Erreurs
400Il manque un paramètre requis à la requête, ou elle est invalide.
401Clé API manquante, invalide, expirée ou révoquée.
403La clé n'a pas la permission requise, ou n'est pas autorisée pour ce client/établissement.
429Trop de requêtes. Réessayez après le nombre de secondes indiqué dans l'en-tête Retry-After.
patch/api/v1/seo/config
Votre clé API
Corps de la requête*
{
  "data": {
    "config": {
      "id": "cm_cfg_abc123",
      "synupLocationId": "os_9f8e7d6c",
      "clientLocationId": "cm_loc_1",
      "agencyId": "cm_agency_1",
      "placeId": "ChIJtXC2rwgF9YgRNh1YJHlA4vQ",
      "centerLat": 30.2672,
      "centerLng": -97.7431,
      "gridSize": 5,
      "distanceKm": 1.5,
      "excludedPoints": [
        {
          "row": 4,
          "col": 4
        }
      ],
      "generationStartedAt": null,
      "lastRunStatus": "complete",
      "lastError": null,
      "includeWaterPoints": true,
      "lastGeneratedAt": "2026-02-01T06:00:00.000Z",
      "createdAt": "2026-01-10T09:00:00.000Z",
      "updatedAt": "2026-02-05T10:00:00.000Z"
    }
  }
}
v1Ressources/SEO/postTélécharger un rapport de classement personnalisé

Génère le rapport de classement personnalisé et à sections configurables — la même action "Télécharger le rapport" dans l'application. Renvoie du HTML rendu, pas un PDF binaire : le rendu en PDF se fait dans le navigateur (aucun moteur de rendu Chrome sans interface ne s'exécute côté serveur), donc la conversion en fichier PDF réel incombe à l'appelant, la même contrainte que celle de l'interface de l'application elle-même. Distinct de POST /api/v1/seo/reports/generate, qui ne fait que mettre en file d'attente un scan de grille de classement en arrière-plan et ne renvoie aucun document.

Télécharger un rapport de classement personnalisé

post/api/v1/seo/reports
seo:read
Corps de la requête
locationIdstringobligatoire
L'établissement sur lequel produire le rapport.
presetstringfacultatif
Préréglage de plage de dates, par ex. "lastMonth" (par défaut).
fromstringfacultatif
Début de la plage personnalisée (date ISO). Nécessite to.
tostringfacultatif
Fin de la plage personnalisée (date ISO). Nécessite from.
keywordsarray of stringfacultatif
Limiter à ces ids de mots-clés suivis. Omettre pour tous les inclure.
sectionsobjectfacultatif
Quelles sections du rapport inclure, par clé. Les clés omises utilisent les valeurs par défaut du rapport.
coverPagebooleanfacultatif
executiveSummarybooleanfacultatif
performanceSnapshotbooleanfacultatif
agencyActivityLogbooleanfacultatif
gridRankSnapshotsbooleanfacultatif
keywordPerformanceTablebooleanfacultatif
monthOverMonthTrendbooleanfacultatif
competitorLandscapebooleanfacultatif
aiRecommendationsbooleanfacultatif
notesstringfacultatif
Notes en texte libre à inclure dans le rapport.
localestringfacultatif
Langue du rapport généré. Par défaut en.
Réponse
dataobjectfacultatif
htmlstringfacultatif
Le rapport généré sous forme de document HTML autonome.
filenamestringfacultatif
Nom de fichier suggéré pour le rapport.
Erreurs
400Il manque un paramètre requis à la requête, ou elle est invalide.
401Clé API manquante, invalide, expirée ou révoquée.
403La clé n'a pas la permission requise, ou n'est pas autorisée pour ce client/établissement.
429Trop de requêtes. Réessayez après le nombre de secondes indiqué dans l'en-tête Retry-After.
502Le rapport n'a pas pu être généré (une défaillance de la source de données, pas une erreur du client).
post/api/v1/seo/reports
Votre clé API
Corps de la requête*
{
  "data": {
    "html": "<style>#seo-report{width:100%;...}</style><div id=\"seo-report\"><section class=\"cover\"><h1>Ranking Analytics Report</h1><div class=\"biz\">Acme Dental — Downtown</div></section>...</div>",
    "filename": "Acme_Dental_Downtown_RankingReport_Jan2026_Feb2026.pdf"
  }
}
v1Ressources/SEO/getObtenir la synthèse de classement tous établissements

Renvoie une ligne de synthèse par établissement disposant d'au moins un rapport de classement, éventuellement restreinte à un client et/ou à des tags d'établissement. Une clé restreinte à des clients spécifiques doit passer clientId.

Obtenir la synthèse de classement tous établissements

get/api/v1/seo/rollup
seo:read
Paramètres de requête
clientIdstringfacultatif
Restreint les résultats à un client. Quand votre clé est limitée à des clients spécifiques, ceci est obligatoire.
tagsstringfacultatif
Noms de tags d'établissement séparés par des virgules. Seuls les établissements portant au moins un de ces tags sont inclus.
Réponse
dataobjectfacultatif
countnumberfacultatif
Nombre de lignes renvoyées.
rowsarray of objectfacultatif
Une ligne par établissement disposant d'au moins un rapport de classement.
idstringfacultatif
Identifiant unique de l'établissement.
locationNamestringfacultatif
Le nom commercial de l'établissement.
citystringfacultatif
Ville, ou null.
avgRanknumberfacultatif
Classement moyen moyen sur les mots-clés actifs de l'établissement, ou null.
top3Pctnumberfacultatif
Pourcentage moyen de points de grille dans le top 3 sur les mots-clés de l'établissement, ou null.
top10Pctnumberfacultatif
Pourcentage moyen de points de grille dans le top 10 sur les mots-clés de l'établissement, ou null.
bestKeywordobjectfacultatif
Le mot-clé le mieux classé de l'établissement, ou null.
keywordstringfacultatif
avgRanknumberfacultatif
tagsarray of stringfacultatif
Les tags internes de l'établissement.
Erreurs
401Clé API manquante, invalide, expirée ou révoquée.
403La clé n'a pas la permission requise, ou n'est pas autorisée pour ce client/établissement.
429Trop de requêtes. Réessayez après le nombre de secondes indiqué dans l'en-tête Retry-After.
get/api/v1/seo/rollup
Votre clé API
clientId
tags
{
  "data": {
    "count": 2,
    "rows": [
      {
        "id": "cm_loc_1",
        "locationName": "Acme Dental — Downtown",
        "city": "Austin",
        "avgRank": 4.2,
        "top3Pct": 44,
        "top10Pct": 78,
        "bestKeyword": {
          "keyword": "dentist near me",
          "avgRank": 4.2
        },
        "tags": [
          "priority",
          "downtown"
        ]
      }
    ]
  }
}
v1Ressources/SEO/getObtenir le classement des concurrents d'un établissement

Renvoie les entreprises qui dominent la grille de classement de cet établissement pour son mot-clé le plus récemment suivi, classées selon la part de la grille qu'elles occupent dans le top 3. Inclut votre propre entreprise (isYou) pour comparaison, et signale les entrées déjà présentes dans votre registre de concurrents suivis avec leur ID de registre.

Obtenir le classement des concurrents d'un établissement

get/api/v1/seo/competitors
seo:read
Paramètres de requête
locationIdstringobligatoire
L'établissement à consulter.
clientIdstringfacultatif
Le client de l'établissement.
Réponse
dataobjectfacultatif
countnumberfacultatif
Nombre de concurrents renvoyés.
competitorsarray of objectfacultatif
Le classement des concurrents, incluant votre propre entreprise.
idstringfacultatif
Un identifiant pour cette entreprise (son place ID, ou une clé dérivée quand aucun place ID n'est disponible).
competitorIdstringfacultatif
ID dans votre registre de concurrents suivis, présent uniquement si cette entreprise y est déjà suivie.
namestringfacultatif
Nom de l'entreprise.
isYoubooleanfacultatif
Si cette ligne est votre propre entreprise.
ratingnumberfacultatif
Note en étoiles, ou null.
reviewCountnumberfacultatif
Nombre d'avis, ou null.
avgRanknumberfacultatif
Classement moyen sur les points de grille où cette entreprise est apparue, ou null.
top3Pctnumberfacultatif
Pourcentage de points de grille où cette entreprise est classée dans le top 3, moyenné sur tous les mots-clés suivis.
gridPointsnumberfacultatif
Nombre de points de grille où cette entreprise est apparue.
categorystringfacultatif
Catégorie d'activité, ou null.
websitestringfacultatif
Site web de l'entreprise, ou null (non renvoyé par la source de données de recherche locale).
keywordBreakdownarray of objectfacultatif
La couverture top 3 de cette entreprise détaillée par mot-clé suivi.
keywordstringfacultatif
Le mot-clé suivi.
top3Pctnumberfacultatif
Pourcentage des points de grille de ce mot-clé où cette entreprise est classée dans le top 3.
featureComparisonarray of objectfacultatif
Lignes de comparaison fonctionnalité par fonctionnalité par rapport à votre entreprise, le cas échéant.
featurestringfacultatif
competitorbooleanfacultatif
youbooleanfacultatif
hoursComparisonarray of objectfacultatif
Lignes de comparaison d'horaires d'ouverture par rapport à votre entreprise, le cas échéant.
daystringfacultatif
competitorstringfacultatif
youstringfacultatif
Erreurs
400Il manque un paramètre requis à la requête, ou elle est invalide.
401Clé API manquante, invalide, expirée ou révoquée.
403La clé n'a pas la permission requise, ou n'est pas autorisée pour ce client/établissement.
429Trop de requêtes. Réessayez après le nombre de secondes indiqué dans l'en-tête Retry-After.
get/api/v1/seo/competitors
Votre clé API
locationId *
clientId
{
  "data": {
    "count": 2,
    "competitors": [
      {
        "id": "cm_comp_1",
        "competitorId": "cm_competitor_1",
        "name": "Acme Dental — Downtown",
        "isYou": true,
        "rating": 4.6,
        "reviewCount": 210,
        "avgRank": 4.2,
        "top3Pct": 44,
        "gridPoints": 25,
        "category": "Dentist",
        "website": "https://acmedental.example.com",
        "keywordBreakdown": [
          {
            "keyword": "dentist near me",
            "top3Pct": 60
          }
        ],
        "featureComparison": [
          {
            "feature": "Online booking",
            "competitor": false,
            "you": true
          }
        ],
        "hoursComparison": [
          {
            "day": "Monday",
            "competitor": "9am–5pm",
            "you": "8am–6pm"
          }
        ]
      }
    ]
  }
}
get/api/v1/seo/competitors/trends
Votre clé API
locationId *
clientId
{
  "data": {
    "months": [
      "2026-01",
      "2026-02"
    ],
    "competitors": [
      {
        "placeId": "ChIJtXC2rwgF9YgRNh1YJHlA4vQ",
        "name": "Acme Dental — Downtown",
        "isYou": true,
        "monthly": [
          5.1,
          4.2
        ]
      }
    ]
  }
}
v1Ressources/SEO/getObtenir les entreprises classées à un point de grille

Renvoie les résultats de recherche locale capturés à une seule cellule de grille pour un mot-clé, dans l'ordre de classement.

Obtenir les entreprises classées à un point de grille

get/api/v1/seo/grid-point
seo:read
Paramètres de requête
locationIdstringobligatoire
L'établissement à consulter.
keywordIdstringobligatoire
Le mot-clé suivi dont ce point fait partie de la grille.
rowintegerobligatoire
Index de ligne de la grille pour ce point.
colintegerobligatoire
Index de colonne de la grille pour ce point.
clientIdstringfacultatif
Le client de l'établissement.
monthstringfacultatif
Fige le résultat sur ce mois (YYYY-MM) au lieu du dernier rapport mesuré du mot-clé.
Réponse
dataobjectfacultatif
countnumberfacultatif
Nombre d'entreprises renvoyées.
businessesarray of objectfacultatif
Entreprises classées à ce point de grille, dans l'ordre de classement.
idstringfacultatif
Un identifiant pour cette entreprise (son place ID, son nom, ou sa position dans la liste).
ranknumberfacultatif
Le classement de cette entreprise à ce point de grille (1 = premier).
namestringfacultatif
Nom de l'entreprise.
photoUrlstringfacultatif
URL de la photo, ou null (non renvoyée par la source de données de recherche locale).
ratingnumberfacultatif
Note en étoiles, ou null.
reviewCountnumberfacultatif
Nombre d'avis, ou null.
categorystringfacultatif
Catégorie d'activité, ou null.
addressstringfacultatif
Adresse postale, ou null.
websitestringfacultatif
Site web de l'entreprise, ou null (non renvoyé par la source de données de recherche locale).
isYoubooleanfacultatif
Si cette ligne est votre propre entreprise.
Erreurs
400Il manque un paramètre requis à la requête, ou elle est invalide.
401Clé API manquante, invalide, expirée ou révoquée.
403La clé n'a pas la permission requise, ou n'est pas autorisée pour ce client/établissement.
429Trop de requêtes. Réessayez après le nombre de secondes indiqué dans l'en-tête Retry-After.
get/api/v1/seo/grid-point
Votre clé API
locationId *
keywordId *
row *
col *
clientId
month
{
  "data": {
    "count": 1,
    "businesses": [
      {
        "id": "cm_biz_1",
        "rank": 3,
        "name": "Acme Dental — Downtown",
        "photoUrl": null,
        "rating": 4.6,
        "reviewCount": 210,
        "category": "Dentist",
        "address": "123 Main St, Austin, TX 78701",
        "website": null,
        "isYou": true
      }
    ]
  }
}
v1Ressources/SEO/postRégénérer le rapport de grille de classement d'un établissement

Déclenche un nouveau scrape en arrière-plan de la grille de classement de recherche locale pour un établissement et/ou un mot-clé suivi spécifique. C'est une opération asynchrone : l'appel renvoie immédiatement une fois le job mis en file, et le nouveau rapport arrive de façon asynchrone — interrogez ensuite GET /api/v1/seo/keywords (ou GET /api/v1/seo/competitors, etc.) pour le voir.

Régénérer le rapport de grille de classement d'un établissement

post/api/v1/seo/reports/generate
seo:write
Corps de la requête
locationIdstringfacultatif
Régénère la grille de chaque mot-clé actif pour cet établissement. Facultatif si keywordId est fourni.
keywordIdstringfacultatif
Régénère la grille pour ce seul mot-clé suivi. Facultatif si locationId est fourni.
monthstringfacultatif
Génère la grille de classement de ce mois (YYYY-MM) au lieu du mois en cours.
clientIdstringfacultatif
Le client de l'établissement (ou de l'établissement propriétaire du mot-clé).
Réponse
dataobjectfacultatif
generatingbooleanfacultatif
Toujours true — un job de génération en arrière-plan a été mis en file.
Erreurs
400Il manque un paramètre requis à la requête, ou elle est invalide.
401Clé API manquante, invalide, expirée ou révoquée.
403La clé n'a pas la permission requise, ou n'est pas autorisée pour ce client/établissement.
404La ressource est introuvable, ou n'appartient pas à votre agence.
429Trop de requêtes. Réessayez après le nombre de secondes indiqué dans l'en-tête Retry-After.
post/api/v1/seo/reports/generate
Votre clé API
Corps de la requête
{
  "data": {
    "generating": true
  }
}