---
ref: tool:firecrawl/run-agent
name: Run a research agent
company: company:firecrawl
workflows: []
access: [mcp, cli, api]
tags: [capability:research-accounts, category:scraper, has:api, has:cli, has:mcp]
docs: https://docs.firecrawl.dev/api-reference/endpoint/agent
updated: 2026-09-26
---

# Run a research agent

Starts an agent that searches, navigates and reads the web to return the data a prompt describes, as JSON.

Use it when the source pages are not known, such as a company plus the fields you need about it; pass a JSON schema for structured output and optional seed URLs. The agent runs as a job: the API returns an `id` to poll with `GET /agent/{jobId}`, and the MCP server pairs `firecrawl_agent` with `firecrawl_agent_status`. Firecrawl labels Agent a research preview.

## Set up

Use the first option your agent supports.

### MCP (official, remote)

Add this server to your agent's MCP settings, then sign in when asked.

```json
{ "mcpServers": { "firecrawl": { "url": "https://mcp.firecrawl.dev/v2/mcp-oauth" } } }
```

Call the MCP tool `firecrawl_agent`.

Server URL: https://mcp.firecrawl.dev/v2/mcp-oauth

### CLI (official)

Install the command, then confirm it runs.

```sh
npm install -g firecrawl-cli
firecrawl --version
```

Run `firecrawl agent`.

Set `$FIRECRAWL_API_KEY` in your environment first (get a key: https://www.firecrawl.dev/app/api-keys).

### API (official)

- Base URL: https://api.firecrawl.dev/v2
- Endpoint: `POST /agent`
- Auth: send the header `Authorization: Bearer $FIRECRAWL_API_KEY`
- Get a key: https://www.firecrawl.dev/app/api-keys
- Docs: https://docs.firecrawl.dev/api-reference/introduction

Before doing anything else, make one read-only call to confirm access.

## Rules

- Ask the user before anything that sends messages, costs money, or changes data.
- Never print API keys.
