> ## Documentation Index
> Fetch the complete documentation index at: https://docs.pulsedive.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Scan

> Diagnose issues when a scan doesn't return the data you expect or seems stuck.

If you need to troubleshoot scanning, explore these solutions to common issues.
If you don't find your issue here, check the [Scan API documentation](/api/scan/overview) or reach out to [Support](/support).

## Why isn't my scan returning any information?

Check which scan type you ran:

* **Passive scan** (`probe=0`, the default): Collects WHOIS, DNS, and other metadata that doesn't require contacting the indicator directly.
* **Active scan** (`probe=1`): Additionally collects HTTP headers, SSL/TLS certificate details, page metadata, cookies, service banners, and a DOM screenshot.

If you are expecting HTTP, SSL, or metadata properties and only ran a passive scan, rerun with `probe=1` to get that data.

Passive scans don't contact the indicator at all, so they can't return data that only an active scan collects.
This is deliberate: passive scanning stays quiet, while active scanning is more thorough but generates traffic to the indicator itself (like lightweight port scans and browser requests).

<Tip>
  If you want the scan saved and searchable later, add `submit=1` to your request.
  Without it, Pulsedive enriches and scores the indicator but doesn't store it.
</Tip>

## Why is my scan stuck or taking a long time?

Active scans take longer than passive scans because they wait on real network responses, such as page loads, certificate handshakes, and port checks, rather than metadata lookups.
A scan that is still in progress isn't necessarily stuck, though maintenance or downtime on Pulsedive can also hold one up.

<Steps>
  <Step title="Confirm you're polling with the right queue ID">
    Use the `qid` returned from your original `POST` request to `/api/analyze.php`, not the indicator's `iid`.
  </Step>

  <Step title="Check the status and stage fields">
    Poll `GET /api/analyze.php?qid=<QID>`.
    While the scan runs, the response includes a `status` and a `stage` field showing what step it is on.
    A `data` object only appears once scanning completes.
  </Step>

  <Step title="Poll at a reasonable interval">
    Poll roughly every 500 ms.
    Polling doesn't count against your rate limit, so there's no cost to checking frequently within that guideline.
  </Step>

  <Step title="Check for maintenance">
    If the scan is still running after five minutes, check [pulsedive.com](https://pulsedive.com) for a maintenance notice.
    Ongoing maintenance or downtime can stall scans.
  </Step>

  <Step title="Start a new scan">
    If there is no maintenance notice and the scan still hasn't finished after five minutes, start a new scan.
  </Step>
</Steps>

If `status` never changes after a few minutes of polling, [contact Support](/support) with your `qid`.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.