/api/v4/listings/scans/{scanId}Ottieni un listings scan
Restituisce un listings scan con il riepilogo e i risultati per directory, parziali mentre la scansione è ancora in corso.
Parametri
Percorso
| Nome | Tipo | Obbligatorio | Descrizione |
|---|---|---|---|
| scanId | string | obbligatorio | The scan `id` returned by POST /listings/scans or listed by GET /listings/scans. |
Risposte
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.
Restituisce una scansione creata da POST /listings/scans, con il relativo summary e una voce results[] per ogni directory. Durante l'esecuzione della scansione, results contiene quanto è stato verificato fino a quel momento e alcune voci potrebbero essere ancora PENDING. Quando status è COMPLETED, i risultati sono definitivi.
Caso d'uso: leggere il report dopo la ricezione del webhook. L'evento listing_scan.completed include già la scansione completa, quindi la maggior parte delle integrazioni non richiede alcuna lettura. Usa questo endpoint per rileggere una scansione in un secondo momento, per mostrarla in una dashboard o per recuperarla se un webhook non è stato ricevuto.
Caso d'uso: polling quando i webhook non sono disponibili. Leggi la scansione ogni 15 secondi finché status non è COMPLETED o FAILED. Non eseguire il polling più frequentemente: ogni lettura viene conteggiata nel tuo limite di richieste. Le scansioni vengono conservate per 90 giorni; trascorso questo periodo, l'endpoint restituisce 404 con SY83005.
Stati della scansione
L'oggetto scansione
summary.found conta le directory in cui è presente la scheda dell'attività. Tra queste, accurate conta quelle i cui dettagli corrispondono e inaccurate quelle i cui dettagli non corrispondono. Una scheda trovata e confermata senza una verifica campo per campo viene conteggiata solo in found, perciò la somma di accurate e inaccurate può essere inferiore a found.
Un risultato
status del risultato
accurate
accuracy per campo. Ciascuno dei campi name, address e phone è un oggetto con un status pari a ACCURATE, INACCURATE o MISSING e un message che spiega una differenza, ad esempio Phone number does not match. MISSING significa che la directory non mostra quel dettaglio, ad esempio No phone number on the listing. Usa listing per visualizzare i dati effettivamente presenti nella directory accanto a quelli attesi.
syncStatus. In una scansione LOCATION_LISTINGS, la valutazione deriva dalla scheda effettiva della tua sede anziché da un confronto. syncStatus è lo stato di quella scheda (SYNCED, COMPLETED, IN_PROGRESS, PENDING_APPROVAL, REQUIRING_ACTION, FAILED, AVAILABLE o CANNOT_SUBMIT), con gli stessi valori di GET /locations/{locationId}/listings/premium. SYNCED e COMPLETED vengono considerati accurati.
Note.
- Una scansione viene restituita solo all'account che l'ha creata. Per qualsiasi altro ID, l'endpoint restituisce
404conSY83005. - Alcune directory mostrano i dati di un'altra directory. Ad esempio, Uber, Waze e Lyft mostrano i dati di Google Maps e CopilotAI mostra i dati di Bing. Il loro risultato rispecchia quello della directory di origine e non ha un proprio
urldella scheda. - Non interpretare
UNAVAILABLEcome un risultato negativo: non è stato possibile verificare la directory, quindi la risposta è sconosciuta. - Quando la scansione è una copia
RECENT_SCAN,resultsAsOfindica quando sono stati raccolti i dati ecreatedAtquando sono stati copiati nel tuo account.
curl -X GET 'https://listingsapi.com/api/v4/listings/scans/<scanId>' \ -H "Authorization: API $LISTINGSAPI_KEY"