---
title: "Core features"
description: "The building blocks for powerful browser automation with Browsers"
image: "https://help.agent.mq/og.svg"
---

> Documentation Index
> Fetch the complete documentation index at: https://help.agent.mq/llms.txt
> Use this file to discover all available pages before exploring further.

# Core features

- **Contexts** — [Persist cookies, authentication state, and application data across sessions, so you don't need to log in on every run.](/browsers/core-features/contexts)

- **Viewports** — [Configure the screen size and resolution of your browser sessions to match any device or layout requirement.](/browsers/core-features/viewports)

- **Session metadata** — [Tag sessions with custom key-value data to organize, filter, and query your automation runs.](/browsers/core-features/session-metadata)

- **Browser Extensions** — [Load your own Chrome extensions into sessions to augment browser behavior or bypass site-specific challenges.](/browsers/core-features/browser-extensions)

## Quick reference

| Feature                                                                      | What it does                                                       | When to use it                                                          |
| ---------------------------------------------------------------------------- | ------------------------------------------------------------------ | ----------------------------------------------------------------------- |
| [**Contexts**](/browsers/core-features/contexts)                     | Persists cookies, auth tokens, and browser storage across sessions | Any workflow that requires login: avoids re-authenticating on every run |
| [**Viewports**](/browsers/core-features/viewports)                   | Sets the browser window width and height                           | Visual testing, screenshots, or layouts that are viewport-dependent     |
| [**Session metadata**](/browsers/core-features/session-metadata)     | Attaches custom JSON to a session for querying later               | Organizing sessions by test run, environment, team, or status           |
| [**Browser extensions**](/browsers/core-features/browser-extensions) | Loads a Chrome extension into the session                          | Custom page behavior, ad blocking, or site-specific workarounds         |

## All features are set at session creation

Every core feature is configured when you create a session. Pass your settings in the `browserSettings` object:

```typescript
const session = await browsers.sessions.create({
  browserSettings: {
viewport: { width: 1920, height: 1080 },
solveCaptchas: true,
  },
  context: { id: contextId, persist: true },
});
```

See the [Create Session API reference](/browsers/api) for the full list of options.

Source: https://help.agent.mq/browsers/core-features/overview/index.mdx
