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

# Browser

> Fetch web content, scrape and extract data, run crawls, and drive keep-alive browser sessions.

The `browser` group fetches pages, scrapes and extracts structured data, runs longer crawl jobs, and drives keep-alive Puppeteer-style sessions, all without you operating a browser fleet. Document and image rendering are private platform capabilities used by managed Voyant products rather than developer APIs.

```ts theme={null}
import { createVoyantCloudClient } from "@voyant-travel/cloud-sdk";

const client = createVoyantCloudClient({ apiKey: process.env.VOYANT_API_KEY! });
```

## Fetch page content

Fetch the rendered HTML or Markdown of a page.

```ts theme={null}
const html = await client.browser.content({ url: "https://example.com" });
const markdown = await client.browser.markdown({ url: "https://example.com" });

```

`content` and `markdown` require the `browser:render` scope.

## Scrape and extract

Pull links or scraped content from a page, or extract structured JSON.

```ts theme={null}
const scraped = await client.browser.scrape({ url: "https://example.com" });
const links = await client.browser.links({ url: "https://example.com" });
const data = await client.browser.json({ url: "https://example.com" /* schema, prompt */ });
```

`scrape` and `links` require `browser:scrape`. `search` requires `browser:search`. `json` requires `browser:extract`.

## Crawls and sessions

For larger jobs, start a crawl and poll it. For interactive automation, open a keep-alive session and run a sequence of commands against it.

```ts theme={null}
const crawl = await client.browser.crawls.start({ url: "https://example.com" });

const session = await client.browser.sessions.open({ /* ... */ });
```

`browser.crawls.*` requires `browser:crawl`, and `browser.sessions.*` requires `browser:sessions`.

## Scopes

| Methods               | Scope              |
| --------------------- | ------------------ |
| `content`, `markdown` | `browser:render`   |
| `scrape`, `links`     | `browser:scrape`   |
| `search`              | `browser:search`   |
| `json`                | `browser:extract`  |
| `crawls.*`            | `browser:crawl`    |
| `sessions.*`          | `browser:sessions` |

Key types: `BrowserRenderInput`, `BrowserScrapeInput`, `BrowserJsonInput`, `BrowserSessionSummary`, `OpenBrowserSessionInput`, `BrowserCommand`, `RunBrowserCommandsInput`, `BrowserCrawlSummary`, `StartBrowserCrawlInput`.
