> ## 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.

# API Scans

> Resolve common issues when scanning indicators.

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](https://docs.pulsedive.com/api/scan/overview.md) or reach out to [Support](https://docs.pulsedive.com/support.md).

## 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.

## 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.

**1. Confirm you are polling with the right queue ID**

Use the `qid` returned from your original `POST` request to `/api/analyze.php`, not the indicator's `iid`.

**2. 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.

**3. 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.

**4. 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.

**5. Start a new scan**

If there is no maintenance notice and the scan still hasn't finished after five minutes, start a new scan.

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


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