# Scout takes a task in plain words and works the browser for you

> Scout is an open source browser agent whose interface is a single sentence. You describe what you need, it opens a real browser, reads the page, clicks, types and scrolls until the job is done, and it hands back the answer, or it tells you what was missing and returns what it did find. There is no built-in model, so the design question for a user is which model plays which of the four roles.

**outcrawlai/scout** — Scout: the open-source browser agent, by Outcrawl. Mirrored automatically from Outcrawl's own repository.

- Repository: https://github.com/outcrawlai/scout
- Website: https://outcrawl.ai
- Stars: 768 · Forks: 18
- Language: TypeScript
- License: Apache-2.0
- Published: 2026-10-20 · Updated: 2026-10-20 · Language: en
- Canonical page: https://hysenlabs.com/projects/outcrawlai-scout

## One sentence in, one answer out

The description is the whole pitch. Scout is an open-source agent that uses a real browser to finish a task for you. You describe what you need in plain words, and Scout reads the page, clicks, types and scrolls until the job is done, then hands back the answer. The failure behaviour is stated just as plainly, which is what separates a tool you can build on from a demo. If it cannot finish, it tells you what is missing and returns what it found. That is the difference between an agent that returns nothing and one that returns partial results with a reason, and for anything that runs unattended it is the difference between a failed job and a diagnosable one. The example in the README shows the shape of a result, with a data field and a replay URL that lets you watch the whole run step by step.

## Three steps, two of them configuration

Installation is one command, and the only hard requirement is Node 22 or later:

```sh
npm i @outcrawl/scout
```

The second step is keys, and it is the step that shapes the deployment. You need an Outcrawl key for the browser, which the README says comes with a thousand credits a month and needs no card, and a key for your model. The variables are set in the environment:

```sh
export OUTCRAWL_API_KEY=your-outcrawl-key
export SCOUT_BASE_URL=https://your-endpoint/v1
export SCOUT_API_KEY=your-model-key
export SCOUT_HANDS_MODEL=your-model-id
```

The third step is the task, and the example is a TypeScript file run with tsx that constructs a Scout with a browser and a models block, then runs it:

```ts
const result = await scout.run('Find the top three stories on Hacker News right now');
console.log(result.data);
console.log(result.replayUrl); // watch the whole run, step by step
```

The tip at the end of the section is worth noting for anyone using a coding agent themselves, since the README suggests handing the page to an agent and asking it to set Scout up and run the task.

## Four model roles, and the split is the design

Scout has no built-in model and no default, and the model table is the part of the design that most affects cost and behaviour. There are four jobs. The hands job is required, reads the page and takes each step, clicking, typing, scrolling and reading, and it runs on every step, so a fast model pays off there. The brain job is optional, plans the run and decides each step, and it helps on long tasks that cross many pages. The eyes job is optional, looks at a screenshot when the page has to be seen, and it needs a model that accepts images. The extract job is optional, reads a page into your answer or your schema, and without it the hands job does that work. The configuration makes the split explicit, with a different model and a different key allowed per job:

```ts
models: {
  hands: { model: 'your-fast-model', baseURL: urlA, apiKey: keyA },
  brain: { model: 'your-strong-model', baseURL: urlB, apiKey: keyB },
  eyes: { model: 'your-vision-model', baseURL: urlA, apiKey: keyA },
  extract: { model: 'your-local-model', baseURL: localUrl, apiKey: '' },
}
```

Any service that speaks the chat completions API works, including one running on your own machine, and there is a specific remedy for a provider that refuses a structured reply, where the run error names the job and tells you to set structuredOutput on that job to json_object or strict.

## Where the browser comes from

The browser is the other half of the configuration, and the README says plainly that Scout runs best on the vendor cloud, where one line gives it a browser that sites treat like anyone at home, with a replay of every run. It also runs on your own machine, and the switch is one line, changing the browser option to a launch configuration. To use a local browser you install playwright-core and the Chromium browser, and you can add headless set to false inside the launch options to watch it work. The trade is the replay. Replays come with the cloud, so the replay URL stays empty when you use your own browser, and that is the one capability you give up by self hosting. The README also notes that many sites stop a browser that runs in a way that looks automated, which is the underlying reason the cloud exists.

## The task vocabulary, and fixed shape answers

The examples section lists the kinds of task the tool is meant for, and each one has a runnable example file. Research, asking a site for the three stories with the most comments and reporting title, link and count. Filling in a form, ordering a pizza and then reporting exactly what the shop received, which is a nice test because it checks the round trip. Comparing, finding two books and reporting which is cheaper. Signing in with credentials and reading the welcome message. And the same research task on the cloud with a link to the replay. There is also a feature for structured answers, and the way it is described is worth repeating, since it is the difference between an agent you can put in a pipeline and one you cannot. If you want the answer in a fixed shape, such as a list of names and prices, you pass a JSON Schema with the task and the answer comes back in exactly that shape.

## The repository is a mirror with a per package test loop

The repository is a workspace with the packages in packages/, and the project description says it is mirrored automatically from the vendor's own repository, which is a useful thing to know when you are reading issues or pull requests. The root package is private and versioned 0.0.0, and the published artefact is the scoped @outcrawl/scout package. The two root scripts show how the monorepo is tested. The test script walks the packages, skips any without a test directory, and runs bun test inside each, collecting the failures so that one broken package does not hide the others. The typecheck script does the same walk and runs tsc with no emit against each package's test tsconfig. The dev dependencies are minimal, with the bun types and TypeScript itself, and the workspace has a shared tsconfig.base.json, so the packages compile against one set of compiler options.

## Licence, packaging and the current state

Scout is licensed under Apache-2.0, and the licence file is at the root of the repository. The code is TypeScript, the package is published to npm under the @outcrawl scope, and the badge in the README states the runtime requirement of Node 22 or later. The repository is not archived and the last push was on 2026-10-20, and no GitHub releases are published, so the npm package is the artefact to depend on rather than a tagged release. The top level is small, with the packages, the shared tsconfig, the contribution guide and the licence, and the documentation lives on the vendor's own site rather than in the repository, which is the one structural difference from a fully self-contained project and the one to keep in mind when you are looking for the reference documentation.

## Conclusion

Scout fits a developer who wants to automate a web task without writing the click path, and the four model roles mean a cheap fast model can do the stepping while an expensive one does the planning, which is what makes the token cost of a long run bearable. It does not fit a workflow that needs a guaranteed answer shape without extra work, unless you pass a JSON Schema, and it does not fit a team that cannot use the vendor cloud and does not want to operate a browser fleet themselves. Before you adopt it, decide where the browser comes from, because the cloud path is the one that comes with replays, and note the release state, where the package version in the repository is a private 0.0.0 and the published package is @outcrawl/scout, with the last push on 2026-10-20.

## FAQ

### What does Scout do?

It is an open source browser agent. You describe a task in plain words and it opens a real browser, reads the page, clicks, types and scrolls until the job is done, then returns the answer, or says what was missing and returns what it found.

### Which models does Scout use?

It has no built-in model and no default. You assign a model per job, and the four jobs are hands, which is required and runs on every step, brain, which plans the run, eyes, which reads screenshots, and extract, which reads a page into the answer.

### Can Scout run on my own machine?

Yes. Install playwright-core and the Chromium browser and change the browser option to a launch configuration, optionally with headless set to false to watch it work. The cloud is the option that comes with a replay of every run, so the replay URL is empty on a local browser.

### How do I get a structured answer from Scout?

Pass a JSON Schema with the task and the answer comes back in exactly that shape. If the model service refuses the request for a structured reply, the error names the job and tells you to set structuredOutput on it to json_object or strict.

### Is Scout still updated?

The repository is not archived and the last push was on 2026-10-20, though no GitHub releases are published and the workspace root is a private 0.0.0 package. The published artefact is the @outcrawl/scout package on npm, under the Apache-2.0 licence.

## Sources

- [Issues](https://github.com/outcrawlai/scout/issues)
- [License: Apache-2.0](https://github.com/outcrawlai/scout/blob/main/LICENSE)
- [outcrawlai/scout on GitHub](https://github.com/outcrawlai/scout)
- [Project website](https://outcrawl.ai)
- [README](https://github.com/outcrawlai/scout/blob/main/README.md)

---

Hysen Labs editorial analysis, written from the project's own repository and release notes. Cite the canonical page: https://hysenlabs.com/projects/outcrawlai-scout
