/api/v4/listings/scans/{scanId}Obtenir un listings scan
Renvoie un listings scan avec son résumé et ses résultats par annuaire, partiels tant que le scan est en cours.
Paramètres
Chemin
| Nom | Type | Obligatoire | Description |
|---|---|---|---|
| scanId | string | obligatoire | The scan `id` returned by POST /listings/scans or listed by GET /listings/scans. |
Réponses
200A completed scan. The real response lists every directory in `results`, usually around 60. This example is trimmed to six entries, one of each kind described below.
{ "data": { "listingScan": { "id": "TGlzdGluZ1NjYW46Mzk0YTRhNWMtZjcwMy00NjZiLTg2NjAtMDU4MTlmNDhkZjMz", "status": "COMPLETED", "source": "DIRECTORY_SEARCH", "locationId": null, "resultsAsOf": "2026-11-05T07:01:51Z", "createdAt": "2026-11-05T07:01:08Z", "startedAt": "2026-11-05T07:01:11Z", "completedAt": "2026-11-05T07:01:51Z", "business": { "name": "Joe's Pizza", "street": "7 Carmine Street", "city": "New York", "stateIso": "NY", "postalCode": "10014", "countryIso": "US", "phone": "+12123661182" }, "summary": { "total": 62, "found": 21, "accurate": 18, "inaccurate": 2, "notFound": 41, "pending": 0, "unavailable": 0 }, "failure": null, "results": [ { "directory": { "id": 1, "name": "Google Maps", "url": "maps.google.com" }, "status": "FOUND", "accurate": true, "accuracySource": "DIRECTORY_MATCH", "accuracy": { "name": { "status": "ACCURATE", "message": null }, "address": { "status": "ACCURATE", "message": null }, "phone": { "status": "ACCURATE", "message": null } }, "listing": { "name": "Joe's Pizza", "street": "7 Carmine Street", "city": "New York", "state": "NY", "postalCode": "10014", "country": "US", "fullAddress": "7 Carmine St, New York, NY 10014, USA", "phones": [ "+1 212-366-1182" ], "url": "https://maps.google.com/?cid=4877966330195296067" }, "syncStatus": null }, { "directory": { "id": 2, "name": "Yelp", "url": "yelp.com" }, "status": "FOUND", "accurate": true, "accuracySource": "DIRECTORY_MATCH", "accuracy": { "name": { "status": "ACCURATE", "message": null }, "address": { "status": "ACCURATE", "message": null }, "phone": { "status": "ACCURATE", "message": null } }, "listing": { "name": "Joe's Pizza", "street": "7 Carmine St", "city": "New York", "state": "NY", "postalCode": "10014", "country": "US", "fullAddress": "7 Carmine St, New York, NY 10014", "phones": [ "+12123661182" ], "url": "https://www.yelp.com/biz/joes-pizza-new-york-4" }, "syncStatus": null }, { "directory": { "id": 374, "name": "Map Quest", "url": "www.mapquest.com" }, "status": "FOUND", "accurate": null, "accuracySource": "DIRECTORY_MATCH", "accuracy": { "name": { "status": "ACCURATE", "message": null }, "address": { "status": "MISSING", "message": "Not shown" }, "phone": { "status": "MISSING", "message": "Not shown" } }, "listing": { "name": "Joe's Pizza", "street": "7 Carmine St", "city": "New York", "state": "NY", "postalCode": "10014", "country": null, "fullAddress": "7 Carmine St, New York, NY 10014, US", "phones": [], "url": null }, "syncStatus": null }, { "directory": { "id": 352, "name": "YellowPages", "url": "www.yellowpages.com" }, "status": "NOT_FOUND", "accurate": null, "accuracySource": "DIRECTORY_MATCH", "accuracy": null, "listing": null, "syncStatus": null }, { "directory": { "id": 50, "name": "Judys Book", "url": "judysbook.com" }, "status": "FOUND", "accurate": false, "accuracySource": "DIRECTORY_MATCH", "accuracy": { "name": { "status": "ACCURATE", "message": null }, "address": { "status": "ACCURATE", "message": null }, "phone": { "status": "INACCURATE", "message": "Phone number does not match" } }, "listing": { "name": "Joe's Pizza", "street": "7 CARMINE ST", "city": "New York", "state": "NY", "postalCode": "10014", "country": null, "fullAddress": "7 CARMINE ST, New York, NY 10014", "phones": [ "8553685707" ], "url": "https://www.judysbook.com/Joes-Pizza-Uncategorized-newyork-r29271293.htm" }, "syncStatus": null }, { "directory": { "id": 350, "name": "Uber", "url": "uber.com" }, "status": "FOUND", "accurate": true, "accuracySource": "DIRECTORY_MATCH", "accuracy": { "name": { "status": "ACCURATE", "message": null }, "address": { "status": "ACCURATE", "message": null }, "phone": { "status": "ACCURATE", "message": null } }, "listing": { "name": "Joe's Pizza", "street": "7 Carmine Street", "city": "New York", "state": "NY", "postalCode": "10014", "country": "US", "fullAddress": "7 Carmine St, New York, NY 10014, USA", "phones": [ "+1 212-366-1182" ], "url": null }, "syncStatus": null } ] } }}200A failed scan. `failure` has the code and message, and `results` is empty.
{ "data": { "listingScan": { "id": "TGlzdGluZ1NjYW46ZGVkZTNhOTgtNDA5Ni00ZDI3LWJlMjUtMzY3YTYxOTk4Y2Y1", "status": "FAILED", "source": "DIRECTORY_SEARCH", "locationId": null, "resultsAsOf": null, "createdAt": "2026-11-03T08:53:18Z", "startedAt": null, "completedAt": "2026-11-03T08:53:18Z", "business": { "name": "Franklin Barbecue", "street": "900 E 11th St", "city": "Austin", "stateIso": "TX", "postalCode": "78702", "countryIso": "US", "phone": "+15126531187" }, "summary": { "total": 0, "found": 0, "accurate": 0, "inaccurate": 0, "notFound": 0, "pending": 0, "unavailable": 0 }, "failure": { "code": "SY83010", "message": "SY83010: Listing scans are temporarily unavailable, try again later", "field": null }, "results": [] } }}401Unauthenticated, missing or invalid API key.
404No scan with that ID on this account, or the scan is older than 90 days (`SY83005`).
{ "data": { "listingScan": null }, "errors": [ { "message": "SY83005: Listing scan not found" } ]}429Rate limit exceeded. Retry after the `Retry-After` header value.
Renvoie une analyse créée par POST /listings/scans, avec son summary et une entrée results[] pour chaque annuaire. Pendant l'analyse, results contient les éléments déjà vérifiés, et certaines entrées peuvent encore être PENDING. Lorsque status vaut COMPLETED, les résultats sont définitifs.
Cas d'utilisation : lire le rapport à la réception du webhook. L'événement listing_scan.completed contient déjà l'analyse complète ; la plupart des intégrations n'ont donc besoin d'effectuer aucune lecture. Utilisez ce point de terminaison pour relire une analyse ultérieurement, l'afficher dans un tableau de bord ou la récupérer si un webhook n'a pas été reçu.
Cas d'utilisation : interroger régulièrement le point de terminaison lorsque les webhooks ne sont pas disponibles. Lisez l'analyse toutes les 15 secondes jusqu'à ce que status vaille COMPLETED ou FAILED. N'effectuez pas de lectures plus fréquentes : chaque lecture est comptabilisée dans votre limite de requêtes. Les analyses sont conservées pendant 90 jours ; passé ce délai, ce point de terminaison renvoie 404 avec SY83005.
Statuts de l'analyse
L'objet d'analyse
summary.found compte les annuaires dans lesquels l'entreprise possède une fiche. Parmi ceux-ci, accurate compte ceux dont les informations correspondent et inaccurate ceux dont les informations ne correspondent pas. Une fiche trouvée dont la présence a été confirmée sans vérification champ par champ est comptabilisée uniquement dans found, ce qui explique pourquoi la somme de accurate et de inaccurate peut être inférieure à found.
Un résultat
Résultat status
accurate
accuracy par champ. Chacun des champs name, address et phone est un objet dont le champ status vaut ACCURATE, INACCURATE ou MISSING, et dont le champ message explique une différence, par exemple Phone number does not match. MISSING signifie que l'annuaire n'affiche pas cette information, par exemple No phone number on the listing. Utilisez listing pour afficher les informations réellement présentes dans l'annuaire à côté de celles que vous attendiez.
syncStatus. Pour une analyse LOCATION_LISTINGS, la conclusion provient de la fiche réelle de votre établissement plutôt que d'une comparaison. syncStatus est l'état de cette fiche (SYNCED, COMPLETED, IN_PROGRESS, PENDING_APPROVAL, REQUIRING_ACTION, FAILED, AVAILABLE ou CANNOT_SUBMIT), avec les mêmes valeurs que GET /locations/{locationId}/listings/premium. SYNCED et COMPLETED sont considérés comme indiquant une fiche exacte.
Remarques.
- Une analyse n'est renvoyée que pour le compte qui l'a créée. Pour tout autre ID, le point de terminaison renvoie
404avecSY83005. - Certains annuaires affichent les données d'un autre annuaire. Par exemple, Uber, Waze et Lyft affichent les données de Google Maps, et CopilotAI affiche les données de Bing. Leur résultat reprend celui de l'annuaire source et ne possède pas de
urlde fiche qui lui soit propre. - N'interprétez pas
UNAVAILABLEcomme un résultat négatif : l'annuaire n'a pas pu être vérifié, la réponse est donc inconnue. - Lorsque l'analyse est une copie
RECENT_SCAN,resultsAsOfindique la date et l'heure de collecte des données, etcreatedAtla date et l'heure de leur copie dans votre compte.
curl -X GET 'https://listingsapi.com/api/v4/listings/scans/<scanId>' \ -H "Authorization: API $LISTINGSAPI_KEY"