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

# Browserbase Agents

> Run your first browser agent in 1 minute.

Agents is the quickest way to get your first Agent on the web. No framework or deployment required.

Create your Browserbase Agent from the dashboard by describing the goal in natural language. Then, trigger runs using the Browserbase API or SDK.

## Quickstart

<Steps>
  <Step title="The Browserbase Agents page">
    Open the [Browserbase Dashboard](https://www.browserbase.com/overview) and navigate to the Agents page:

    <Frame>
      <img src="https://mintcdn.com/browserbase/Jh5xR9D0ypnXtndB/images/quickstart/agents/dashboard.png?fit=max&auto=format&n=Jh5xR9D0ypnXtndB&q=85&s=605d98d79afacaa4a8f32e6bc3a0bcc9" width="2926" height="1842" data-path="images/quickstart/agents/dashboard.png" />
    </Frame>
  </Step>

  <Step title="Create your first Browserbase Agent">
    Create a "Job Finder" Agent that, given a job title and a company name, returns the best fit open position.

    Click on the top right "Create Agent" button, and provide the following `system prompt`:

    ```
    You are a job-finding agent. Each session gives you a company name and optionally a role or keyword. Find that company's official job listings and return the best matching open role.

    Discovery (never assume a careers URL):
    - Search the web for the company's careers page, e.g. "{company} careers".
    - Open the OFFICIAL source only: the company's own site (/careers, /jobs) or its real applicant tracking system (Greenhouse, Lever, Ashby, Workday, and similar). Confirm it's that specific company's board, not a generic list.
    - Never use job aggregators (LinkedIn, Indeed, Glassdoor, ZipRecruiter). They are gated, stale, and block bots. If only an aggregator is reachable, set found to false and stop.

    Extract:
    - Read the open roles. If a role or keyword was given, pick the single best
    match and count how many roles match.

    Rules:
    - Return only values you actually read from the page. Never invent a title,
    location, or link.
    - Read-only: do not log in, apply, enter personal info, or click Apply.
    - If no official board or no matching role is found, set found to false and
    leave the role fields empty rather than guessing.
    ```

    The above prompt defines the Agent's goal and scopes its work by defining high-level steps and success definition.

    Now, instruct the desired structured output with a JSON Schema:

    ```json theme={null}
    {
      "type": "object",
      "properties": {
        "found": { "type": "boolean", "description": "Whether an official board with a matching role was located" },
        "roleTitle": { "type": "string", "description": "Title of the single best-matching open role" },
        "location": { "type": "string", "description": "Location of that role (city, Remote, etc.)" },
        "jobUrl": { "type": "string", "description": "Direct link to that role's posting" }
      },
      "required": ["found"]
    }
    ```

    Your "Job Finder" form should look as follows:

    <Frame>
      <img src="https://mintcdn.com/browserbase/Jh5xR9D0ypnXtndB/images/quickstart/agents/create-agent.png?fit=max&auto=format&n=Jh5xR9D0ypnXtndB&q=85&s=b642f6bcff05ba4aebb8f4aaf1880d67" width="3014" height="1652" data-path="images/quickstart/agents/create-agent.png" />
    </Frame>

    Click on "Create Agent"
  </Step>

  <Step title="Trigger your first Agent run">
    Creating an Agent redirects to its page where you can:

    * edit its config
    * quickly access key statistics (success rate, average duration)
    * see the list of runs

    Kick off your first "Job Finder" run by clicking the top right "Run" button:

    <Frame>
      <img src="https://mintcdn.com/browserbase/Jh5xR9D0ypnXtndB/images/quickstart/agents/create-agent-run.png?fit=max&auto=format&n=Jh5xR9D0ypnXtndB&q=85&s=4de64baa294c8cb974255c56d145e50e" width="906" height="614" data-path="images/quickstart/agents/create-agent-run.png" />
    </Frame>

    Provide your own prompt or use the following one:

    ```
    Backend engineer at Browserbase
    ```

    Then, click on "Run".
  </Step>

  <Step title="Your first Agent run">
    Triggering an Agent run redirects to the run view where you can inspect:

    * every step of the run: reasoning, actions, and more
    * see the live browser session
    * interact with the timeline to inspect a specific step

    After a few minutes, your first run is complete!

    <Frame>
      <img src="https://mintcdn.com/browserbase/Jh5xR9D0ypnXtndB/images/quickstart/agents/first-agent-run.png?fit=max&auto=format&n=Jh5xR9D0ypnXtndB&q=85&s=97d8ae6ad9db3ac24adaf788910eb9e0" width="3016" height="1654" data-path="images/quickstart/agents/first-agent-run.png" />
    </Frame>
  </Step>

  <Step title="Optimize your Agent">
    The first Agent run is always exploratory. The Agent could face issues for the first time, resulting in slow, repeated steps.

    Browserbase Agents provide an "Optimize" feature, available from the Agent run view, that suggests optimization based on your
    Agent's previous exploration.

    From the Agent run view, click on the "Optimize" button at the top right and select "Make it faster":

    <Frame>
      <img src="https://mintcdn.com/browserbase/Jh5xR9D0ypnXtndB/images/quickstart/agents/optimize-agent.png?fit=max&auto=format&n=Jh5xR9D0ypnXtndB&q=85&s=f0419b6f39367fb07da7035b92763af7" width="3016" height="1648" data-path="images/quickstart/agents/optimize-agent.png" />
    </Frame>

    No matter what your selected prompt was, the Optimize tool will likely suggest updating your Agent's prompt to always navigate to an Ashby page if available (*instead of exploring the company website*).

    By accepting the suggested solution, the Optimize tool will update your Agent's prompt and trigger a new run:

    <Frame>
      <img src="https://mintcdn.com/browserbase/Jh5xR9D0ypnXtndB/images/quickstart/agents/optimize-agent-changes.png?fit=max&auto=format&n=Jh5xR9D0ypnXtndB&q=85&s=ba1e41da1466c9e07d0de4e84f8732b8" width="836" height="1224" data-path="images/quickstart/agents/optimize-agent-changes.png" />
    </Frame>

    By updating the prompt, your Agent should now run 30% faster!

    <Frame caption="The Job Finder Agent now ran in 2min instead of 3min">
      <img src="https://mintcdn.com/browserbase/Jh5xR9D0ypnXtndB/images/quickstart/agents/second-agent-run.png?fit=max&auto=format&n=Jh5xR9D0ypnXtndB&q=85&s=7a0761a132dc5741afff929bc5bd343e" width="3020" height="1642" data-path="images/quickstart/agents/second-agent-run.png" />
    </Frame>

    <Info>
      **When should you use the Optimize tool?**

      * If you want to speed up your Agent
      * If your Agent success rate is dropping, ask it to find solutions
    </Info>
  </Step>
</Steps>

Congratulations, your first Browserbase Agent is now up and running!

You can now [integrate it in your application using the Browserbase API or SDK](/platform/agents/integrate-api-sdk).

## Next steps

<CardGroup cols={2}>
  <Card title="Agents overview" icon="book-open" iconType="sharp-solid" href="/platform/agents/overview">
    Learn run states, configuration options, observability, and production notes.
  </Card>

  <Card title="How it works" icon="gear" iconType="sharp-solid" href="/platform/agents/how-it-works">
    The execution loop, built-in tools, run lifecycle, and session observability
  </Card>

  <Card title="Node.js SDK" icon="code" iconType="sharp-solid" href="/reference/sdk/nodejs#agents">
    Create an Agent, start runs, and read results from Node.js.
  </Card>

  <Card title="Python SDK" icon="python" iconType="sharp-solid" href="/reference/sdk/python#agents">
    Create an Agent, start runs, and read results from Python.
  </Card>

  <Card title="Agents API reference" icon="terminal" iconType="sharp-solid" href="/reference/api/run-an-agent">
    See the request and response fields for creating a run.
  </Card>

  <Card title="Browser agents use case" icon="book" iconType="sharp-solid" href="/use-cases/agents">
    Understand when to use Agents versus a custom browser-agent stack.
  </Card>
</CardGroup>
