---
title: "List listings scans"
method: GET
path: "/api/v4/listings/scans"
tags: ["Business Audit"]
---

# List listings scans

`GET /api/v4/listings/scans`

## Request

- Base URL: `https://listingsapi.com`
- URL: `https://listingsapi.com/api/v4/listings/scans`
- Auth: one of:
  - API key in header `Authorization`
  - API key in header `X-RapidAPI-Key` and API key in header `X-RapidAPI-Host`
- TypeScript: <https://skmtc.dev/listingsapi/apis/listings-api/docs/api/v4/listings/scans/get.ts> (a function with typed inputs; its response is checked against the schema)

Returns the scans of the account, newest first, without their `results`, together with `pageInfo` and the monthly `quota`.

## Query parameters

- `page` integer
- `perPage` integer

## Response `200`

Successful response

- object
  - `data` object, required
    - `listingScans` ListingScanList: A page of listing scans, newest first.
      - `pageInfo` OffsetBasedPageInfo, required
        - `totalPages` integer, required
        - `hasNextPage` boolean
        - `hasPreviousPage` boolean
        - `totalRecords` integer, required
      - `quota` ListingScanQuota: Monthly listing scan allowance of the account.
        - `limit` integer, required
        - `remaining` integer, required
        - `resetsAt` string, required
        - `used` integer, required
      - `scans` ListingScan[], required
        - `business` ListingScanBusiness, required: The business a listing scan was run for, as normalized when the scan was created.
          - `city` string, required
          - `countryIso` string, required
          - `name` string, required
          - `phone` string, required
          - `postalCode` string
          - `stateIso` string
          - `street` string, required
        - `completedAt` string
        - `createdAt` string, required
        - `failure` ListingScanFailure: Why a listing scan failed.
          - `code` string, required
          - `field` string
          - `message` string, required
        - `id` string, required
        - `locationId` string
        - `results` ListingScanResult[], required
          - `accuracy` ListingScanAccuracy: Per-detail comparison of a directory listing with the scanned business.
            - `address` ListingScanFieldCheck, required: Comparison of one business detail on a directory listing.
              - …
            - `name` ListingScanFieldCheck, required: Comparison of one business detail on a directory listing.
              - …
            - `phone` ListingScanFieldCheck, required: Comparison of one business detail on a directory listing.
              - …
          - `accuracySource` 'DIRECTORY_MATCH' | 'SYNC_STATUS', required: How the accuracy of a result was determined.
          - `accurate` boolean
          - `directory` ListingScanDirectory, required: A directory that is part of a listing scan.
            - `id` integer
            - `name` string, required
            - `url` string, required
          - `listing` ListingScanListing: The listing that was found on a directory.
            - `city` string
            - `country` string
            - `fullAddress` string
            - `name` string
            - `phones` string[], required
            - `postalCode` string
            - `state` string
            - `street` string
            - `url` string
          - `status` 'PENDING' | 'FOUND' | 'NOT_FOUND' | 'UNAVAILABLE', required: Outcome of checking one directory.
          - `syncStatus` 'SYNCED' | 'IN_PROGRESS' | 'REQUIRING_ACTION' | 'FAILED' | 'AVAILABLE' | 'COMPLETED' | 'PENDING_APPROVAL' | 'CANNOT_SUBMIT': Sync status of a location listing. A listing counts as accurate when its status is SYNCED or COMPLETED.
        - `resultsAsOf` string
        - `source` 'DIRECTORY_SEARCH' | 'RECENT_SCAN' | 'LOCATION_LISTINGS', required: Where the data of a listing scan came from.
        - `startedAt` string
        - `status` 'QUEUED' | 'IN_PROGRESS' | 'COMPLETED' | 'FAILED', required: Where a listing scan is in its lifecycle.
        - `summary` ListingScanSummary, required: Counts of the directory results of a listing scan.
          - `accurate` integer, required
          - `found` integer, required
          - `inaccurate` integer, required
          - `notFound` integer, required
          - `pending` integer, required
          - `total` integer, required
          - `unavailable` integer, required
  - `errors` ApiError[]: Present when the operation reported a request-level failure. Writes can also report validation nested under `data.<field>.errors` on a 200.
    - `message` string, required: Human-readable reason, prefixed with the `SYxxxxx` code where one applies.
    - `code` string: The `SYxxxxx` error code on its own, when one applies.
    - `contextInfo` object[]: Key/value pairs naming the field or value that failed.
      - `key` string
      - `value` string

## Other responses

- `400`: Bad request: a malformed filter, an invalid enum value, or a malformed ID. The body carries an `errors` array, or a single `error` object when the request was rejected before it ran (e.g. `SY90001` on `reviewDetails` with no `interactionIds`).
- `401`: Unauthorized — the API key is missing, malformed, or revoked (`SY90005`).
- `403`: Forbidden — the key is valid but not permitted for this resource or operation (`SY90003`).
- `429`: Rate limit exceeded. Wait `retry_after_seconds` (or the `Retry-After` header) and retry with backoff.
- `500`: Server error. The body carries a single `error` object with code `INTERNAL_SERVER_ERROR`.

## Changes

- **2026-11-06** `2658a20b9b66`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/listingsapi/apis/listings-api/changes/api/v4/listings/scans/get.md)

---

[API](https://skmtc.dev/listingsapi/apis/listings-api.md) - [All operations](https://skmtc.dev/listingsapi/apis/listings-api/llms.txt) - [OpenAPI document](https://skmtc.dev/listingsapi/apis/listings-api/revisions/2658a20b9b66?raw)
