> For the complete documentation index, see [llms.txt](https://docs.spara.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.spara.com/build/channels/product-demo/spara-scanner.md).

# Spara Scanner

The **Spara Scanner** is a Chrome extension that captures screenshots and page content from your product. These captures power the visuals your [Product Demo](/build/channels/product-demo.md) agent shows to prospects during live demos.

## Download

Download the latest version directly, or visit the [Scanner page](https://app.spara.co/settings/product-demo/scanner) in your Spara settings for previous releases.

## Installation

1. **Unzip** the downloaded file
2. Open Chrome and go to `chrome://extensions`
3. Toggle on **Developer mode** (top-right corner)
4. Click **Load unpacked** and select the unzipped folder
5. **Pin** the Spara Scanner icon in your Chrome toolbar for easy access

{% hint style="info" %}
The extension requires Chrome. It is not available on the Chrome Web Store — install it using the steps above.
{% endhint %}

## Getting started

Click the Spara Scanner icon in your toolbar to open the side panel. All controls live here.

### Quick capture

To capture a single page:

1. Navigate to the page you want to capture
2. Click **Capture** in the side panel
3. The screenshot and page metadata download automatically

### Snap (capture a specific state)

For scroll positions, open modals, expanded dropdowns, or other UI states:

1. Get the page into the exact state you want
2. Click **Snap** and enter a short label (e.g., `modal-open`, `below-fold`)
3. The capture downloads with your label as a suffix

### Site exploration

For capturing multiple pages at once, the scanner has a two-phase workflow:

**Phase 1 — Discover.** Enter a client name, set the crawl depth, and click **Discover**. The scanner follows links from the current page and builds a site map of discovered URLs. No screenshots are taken during this phase.

Review the site map and check or uncheck pages to control what gets captured. You can add **exclude patterns** (e.g., `/help*`, `/docs*`) to automatically skip matching paths.

**Phase 2 — Capture All.** Click **Capture All** to screenshot every included page. The scanner navigates to each page, captures a high-resolution screenshot along with page content, and automatically discovers and captures tab states within each page.

You can run Discover again from a different starting page to find pages the first run missed. The site map accumulates across runs.

## Output

Captures download as a folder structure organized by client:

```
{client}/
├── manifest.json          # Capture history
├── sitemap.json           # Site map
├── dashboard/
│   ├── screenshot.png
│   └── capture.json
├── settings/
│   ├── screenshot.png
│   └── capture.json
└── settings--billing/     # Tab capture
    ├── screenshot.png
    └── capture.json
```

Each page gets a `screenshot.png` (3020x1494 pixels) and a `capture.json` with the page title, URL, accessibility tree, and clean text content.

## Updating

When a new version is available, download and unzip it, then go to `chrome://extensions` and click the refresh icon on the Spara Scanner card. Your site maps and capture history are preserved across updates.

## Troubleshooting

**Side panel doesn't open** — Go to `chrome://extensions` and click the reload button on the Spara Scanner card.

**Discover misses pages** — Try a higher depth, or navigate to a different section of the app and run Discover again.

**Capture All skips pages** — Check the manifest from a prior run. Click **Clear All** in the side panel to reset capture history.

**Screenshots show loading spinners** — Some pages take longer to render. Try capturing those pages individually with the **Capture** button, which gives more time for the page to settle.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.spara.com/build/channels/product-demo/spara-scanner.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
