/api/v4/listings/scans/{scanId}Obter um listings scan
Retorna um listings scan com seu resumo e resultados por diretório, parciais enquanto o listings scan ainda está em execução.
Parâmetros
Caminho
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| scanId | string | obrigatório | The scan `id` returned by POST /listings/scans or listed by GET /listings/scans. |
Respostas
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.
Retorna uma varredura criada por POST /listings/scans, com seu summary e uma entrada de results[] para cada diretório. Enquanto a varredura está em execução, results contém o que já foi verificado, e algumas entradas ainda podem estar como PENDING. Quando status é COMPLETED, os resultados são definitivos.
Caso de uso: ler o relatório após a chegada do webhook. O evento listing_scan.completed já inclui a varredura completa, portanto a maioria das integrações não precisa fazer nenhuma leitura. Use este endpoint para reler uma varredura mais tarde, exibi-la em um painel ou recuperá-la caso um webhook não tenha sido recebido.
Caso de uso: consultar periodicamente quando os webhooks não estão disponíveis. Consulte a varredura a cada 15 segundos até que status seja COMPLETED ou FAILED. Não consulte com maior frequência: cada leitura conta para o seu limite de requisições. As varreduras são mantidas por 90 dias; depois desse período, este endpoint retorna 404 com SY83005.
Status da varredura
O objeto da varredura
summary.found conta os diretórios em que a empresa está listada. Desses, accurate conta aqueles cujos dados correspondem aos da empresa e inaccurate conta aqueles cujos dados não correspondem. Uma listagem encontrada e confirmada sem uma verificação campo a campo é contabilizada apenas em found, por isso a soma de accurate e inaccurate pode ser menor que found.
Um resultado
status do resultado
accurate
accuracy por campo. Cada um dos campos name, address e phone é um objeto com um status de valor ACCURATE, INACCURATE ou MISSING e um message que explica uma diferença, por exemplo, Phone number does not match. MISSING significa que o diretório não exibe esse dado, por exemplo, No phone number on the listing. Use listing para exibir o que o diretório realmente contém ao lado do que você esperava.
syncStatus. Em uma varredura LOCATION_LISTINGS, a conclusão vem da listagem real do seu local, em vez de uma comparação. syncStatus é o estado dessa listagem (SYNCED, COMPLETED, IN_PROGRESS, PENDING_APPROVAL, REQUIRING_ACTION, FAILED, AVAILABLE ou CANNOT_SUBMIT), com os mesmos valores de GET /locations/{locationId}/listings/premium. SYNCED e COMPLETED são considerados exatos.
Observações.
- Uma varredura só é retornada para a conta que a criou. Para qualquer outro ID, o endpoint retorna
404comSY83005. - Alguns diretórios exibem dados de outro diretório. Por exemplo, Uber, Waze e Lyft exibem dados do Google Maps, e CopilotAI exibe dados do Bing. O resultado deles reflete o diretório de origem e não tem um
urlde listagem próprio. - Não interprete
UNAVAILABLEcomo um resultado negativo: não foi possível verificar o diretório, portanto a resposta é desconhecida. - Quando a varredura é uma cópia
RECENT_SCAN,resultsAsOfindica quando os dados foram coletados ecreatedAtindica quando foram copiados para sua conta.
curl -X GET 'https://listingsapi.com/api/v4/listings/scans/<scanId>' \ -H "Authorization: API $LISTINGSAPI_KEY"