# Introducing Agent

Describe what data you want to extract

and /agent handles the rest.

## How It Works

### From prompt to data

Whether you need one data point or entire datasets at scale. Firecrawl Agent just works.

**Agent searching**

Structured output

### JSON

RESULT

```json
{
  "name": "Firecrawl",
  "founders": ["Eric C.", "Nicolas C.", "Caleb P."],
  "category": "Developer Tools",
  "website": "https://firecrawl.dev"
}
```

247 records extracted

### Use Cases

## Built for any task

From lead generation to dataset curation, Agent finds data in hard to reach places.

- Lead Gen: “Get all YC W24 companies with founders”
- E-commerce: “Get all Nike Air Jordan listings with prices”
- Market Data: “Get market cap for top 50 tech stocks”
- Datasets: “Build a dataset of all AI papers from arXiv”
- Real Estate: “Get 3BR apartments in SF under $4k”
- Research: “Extract all Michelin star restaurants in NYC”

## Start using /agent today

Agent is available in the API, SDKs and MCPs for easy integration.

### Python

```python
from firecrawl import FirecrawlApp
from pydantic import BaseModel
from typing import List, Optional

app = FirecrawlApp(api_key ="fc-YOUR-API-KEY")

class Company(BaseModel):
    name: str
    founders: List[str]
    funding: Optional[str] = None
    website: str

class ExtractSchema(BaseModel):
    companies: List[Company]

result = app.agent(
    prompt ="Get all YC W24 companies",
    schema =ExtractSchema
)
```

### JavaScript

```javascript
import Firecrawl from '@mendable/firecrawl-js';
import { z } from 'zod';

const firecrawl = new Firecrawl({
  apiKey: 'fc-YOUR-API-KEY'
});

const schema = z.object({
  companies: z.array(z.object({
    name: z.string(),
    founders: z.array(z.string()),
    funding: z.string().optional(),
    website: z.string()
  }))
});

const result = await firecrawl.agent({
  prompt: 'Get all YC W24 companies',
  schema: schema
});
```

### cURL

```bash
curl -X POST 'https://api.firecrawl.dev/v2/agent' \
  -H 'Authorization: Bearer fc-YOUR-API-KEY' \
  -H 'Content-Type: application/json' \
  -d '{
    "prompt": "Get all YC W24 companies",
    "schema": {
      "type": "object",
      "properties": {
        "companies": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "name": { "type": "string" },
              "founders": { "type": "array" },
              "funding": { "type": "string" },
              "website": { "type": "string" }
            }
          }
        }
      }
    }
  }'
```

## Agent Pricing

Dynamic pricing based on query's complexity

- 5 free runs daily
- Simple queries use fewer credits
- Complex queries use more credits

Get all YC W24 companies with founders

## Frequently asked questions

### Agent
- What is the AI Agent?
- How is Agent different from /extract?
- What types of data can I extract?

### Pricing
- How many free runs do I get?
- How much does it cost?

### Usage
- Do I need to provide URLs?
- What output formats are supported?
- How long does an extraction take?
- Can Agent handle complex websites?
