# Quickstart

Source: https://getanalog.io/docs/quickstart/

Install Analog, connect an invited account, and view your first page.

Use your agent's browser to open a page, then give that page to Analog
to search and save. The example below uses the Codex GUI's browser tool;
the terminal setup covers macOS, Linux, and WSL. If your environment cannot
supply a capture, [use Analog's built-in browser](https://getanalog.io/docs/quickstart/#use-analogs-browser).

<details class="reference-index">
<summary>On this page</summary>

- [Set up with a coding agent](https://getanalog.io/docs/quickstart/#set-up-with-a-coding-agent)
- [1. Install](https://getanalog.io/docs/quickstart/#1-install)
- [2. Connect your account](https://getanalog.io/docs/quickstart/#2-connect-your-account)
- [3. View a page](https://getanalog.io/docs/quickstart/#3-view-a-page)
- [4. Search the saved result](https://getanalog.io/docs/quickstart/#4-search-the-saved-result)
- [Use Analog's browser](https://getanalog.io/docs/quickstart/#use-analogs-browser)
- [Continue from here](https://getanalog.io/docs/quickstart/#continue-from-here)
- [If your setup is different](https://getanalog.io/docs/quickstart/#if-your-setup-is-different)

</details>



## Set up with a coding agent

Copy this prompt into a coding agent that can run commands on your
machine. It checks the existing setup, completes the steps that apply,
and asks for your participation when needed.

You can [read the agent setup instructions](https://getanalog.io/agent-onboarding.md), or
follow the terminal steps below. For an app that uses MCP, follow
the [MCP setup guide](https://getanalog.io/docs/mcp/).



### Give your agent the setup instructions

```setup-prompt
Set up Analog in this environment using
https://getanalog.io/agent-onboarding.md.
Check the existing setup and complete the steps that apply.
Use my agent's browser when it can supply a capture; otherwise use Analog's browser.
Verify it by finding Frankie on https://getanalog.io/about/ and searching the saved result again.
Tell me when a step needs my participation.
```





## 1. Install

The installer adds the `analog` command to your PATH. Windows,
Homebrew, pipx, and pip routes are in [Install](https://getanalog.io/docs/install/).



### macOS, Linux, and WSL

<!-- BEGIN GENERATED: onboarding sdk-install-shell -->

```bash example=runnable scenario=onboarding-sdk-install-shell
curl -LsSf https://getanalog.io/install | sh
```
<!-- END GENERATED: onboarding sdk-install-shell -->





## 2. Connect your account

Already connected in this terminal? Skip to [View a page](https://getanalog.io/docs/quickstart/#3-view-a-page).

Choose the command for your account. Both open your browser to verify
your email. Return to the terminal or coding agent and wait for it to
confirm the connection. There is nothing to copy into a config file.



### Connect an existing account

Use this if you have an account, including one you just created on this
website:

<!-- BEGIN GENERATED: onboarding existing-user-auth -->

```bash example=runnable scenario=onboarding-existing-user-auth-default
analog login
```
<!-- END GENERATED: onboarding existing-user-auth -->

### Create a new account

Use this instead if you do not have an account. Creating one during
the private alpha requires an invite code:

<!-- BEGIN GENERATED: onboarding new-user-auth -->

```bash example=runnable scenario=onboarding-new-user-auth-default
analog signup
```
<!-- END GENERATED: onboarding new-user-auth -->





## 3. View a page

Open [Analog's About page](https://getanalog.io/about/) in the Codex GUI's
browser. Follow that environment's browser instructions to select the tab.
This route needs supported JavaScript evaluation and Node filesystem access
in the browser tool, with files accessible to the Analog CLI.

Prepare the helper once, then import it inside the browser tool. Capture
writes the page to a file without changing it. Return only the receipt to
the conversation; the HTML does not need to enter the model's context.

Then ask `view` to find Frankie and save the result as `about`. Use the
capture's actual path and an unused saved name. Structured viewing sends
the captured HTML and its URL to Analog; the result is saved locally.
See [Privacy](https://getanalog.io/docs/privacy/) for the data boundary.

Matching evidence appears on stdout. The receipt identifies the saved result
by its **handle**; capture qualifications appear on stderr. The capture covers
ordinary page content and visibility. Shadow content and frame documents are
omitted, with observed omissions reported; see the
[capture contract](https://getanalog.io/docs/fetching/#capture-from-your-browsers-current-page).



### Prepare a reusable capture helper

Choose a new file path:

```bash example=illustrative fragment=true
analog browser capture-script --output ./analog_capture.mjs
```

### Capture inside the browser tool

The browser tooling supplies `tab`. Run this in its JavaScript runtime,
using the helper's printed absolute path and a new capture destination:

```js example=illustrative fragment=true
const { capturePage } = await import("/absolute/path/analog_capture.mjs");
const receipt = await capturePage({
  evaluate: expression => tab.playwright.evaluate(expression),
  path: "/absolute/path/about.capture.json",
});
nodeRepl.write(receipt);
```

### Find Frankie in the capture

```bash example=illustrative fragment=true
analog view ./about.capture.json --save-as about --find "Frankie"
```





## 4. Search the saved result

Search `about` again to find Marcus and Frankie together. This reads the
saved result without fetching or extracting again. The name continues to
refer to this save after you capture other pages.

An overview is optional: `analog view about` shows the page map, including
navigation, records, and prose. You can also export or compare the saved data.



### Ask two questions of the same save

```bash example=illustrative fragment=true
analog view about --find "Marcus" --find "Frankie"
```

Each search retains its own matches. Read the source labels and qualifications
with the evidence; a match in page prose is identified as such.





## Use Analog's browser

If your environment cannot supply a page file, use `browse` to acquire the
URL with Analog's built-in browser. You can also choose this route directly.
It starts a fresh browser session; it does not use your browser's sign-in.
Analog downloads its browser when needed. Download size varies by platform
and browser version.



### Browse and search in one command

```bash wrap=true example=runnable scenario=cli-browse-find-about
analog browse https://getanalog.io/about/ --find "Frankie"
```

### Search that saved result again

```bash example=illustrative fragment=true
analog view latest --find "Marcus"
```

Use the returned handle to identify this particular save; `latest` refers
to your most recent save.



## Continue from here

- [Working with results](https://getanalog.io/docs/results/) shows how to inspect, query, export, and
  compare saved results.
- [Fetching](https://getanalog.io/docs/fetching/) covers pagination, load-more buttons,
  and collapsed details.
- [View a page](https://getanalog.io/docs/extract/) covers supplied HTML and the Python API.
- [MCP server](https://getanalog.io/docs/mcp/) connects Analog to Claude, Cursor, and
  other MCP-compatible agents.

## If your setup is different

- Using an interactive shell without a browser? The browserless login
  flow is in [Authenticate](https://getanalog.io/docs/authenticate/).
- No account yet? The [`analog assess`](https://getanalog.io/docs/assess/) command and
  [local Markdown conversion](https://getanalog.io/docs/#local-markdown-conversion) do not
  require one.