home / skills / firecrawl / cli / firecrawl-agent
This skill helps you extract structured data from complex websites by autonomously navigating pages and returning JSON with a defined schema.
npx playbooks add skill firecrawl/cli --skill firecrawl-agentReview the files below or copy the command above to add this skill to your agents.
---
name: firecrawl-agent
description: |
AI-powered autonomous data extraction that navigates complex sites and returns structured JSON. Use this skill when the user wants structured data from websites, needs to extract pricing tiers, product listings, directory entries, or any data as JSON with a schema. Triggers on "extract structured data", "get all the products", "pull pricing info", "extract as JSON", or when the user provides a JSON schema for website data. More powerful than simple scraping for multi-page structured extraction.
allowed-tools:
- Bash(firecrawl *)
- Bash(npx firecrawl *)
---
# firecrawl agent
AI-powered autonomous extraction. The agent navigates sites and extracts structured data (takes 2-5 minutes).
## When to use
- You need structured data from complex multi-page sites
- Manual scraping would require navigating many pages
- You want the AI to figure out where the data lives
## Quick start
```bash
# Extract structured data
firecrawl agent "extract all pricing tiers" --wait -o .firecrawl/pricing.json
# With a JSON schema for structured output
firecrawl agent "extract products" --schema '{"type":"object","properties":{"name":{"type":"string"},"price":{"type":"number"}}}' --wait -o .firecrawl/products.json
# Focus on specific pages
firecrawl agent "get feature list" --urls "<url>" --wait -o .firecrawl/features.json
```
## Options
| Option | Description |
| ---------------------- | ----------------------------------------- |
| `--urls <urls>` | Starting URLs for the agent |
| `--model <model>` | Model to use: spark-1-mini or spark-1-pro |
| `--schema <json>` | JSON schema for structured output |
| `--schema-file <path>` | Path to JSON schema file |
| `--max-credits <n>` | Credit limit for this agent run |
| `--wait` | Wait for agent to complete |
| `--pretty` | Pretty print JSON output |
| `-o, --output <path>` | Output file path |
## Tips
- Always use `--wait` to get results inline. Without it, returns a job ID.
- Use `--schema` for predictable, structured output — otherwise the agent returns freeform data.
- Agent runs consume more credits than simple scrapes. Use `--max-credits` to cap spending.
- For simple single-page extraction, prefer `scrape` — it's faster and cheaper.
## See also
- [firecrawl-scrape](../firecrawl-scrape/SKILL.md) — simpler single-page extraction
- [firecrawl-browser](../firecrawl-browser/SKILL.md) — manual browser automation (more control)
- [firecrawl-crawl](../firecrawl-crawl/SKILL.md) — bulk extraction without AI
This skill performs AI-powered autonomous data extraction that navigates complex websites and returns structured JSON. It is designed to locate, traverse, and extract multi-page content like product lists, pricing tiers, and directory entries. Runs typically take a few minutes and can accept a JSON schema to enforce predictable output.
The agent launches from one or more starting URLs, explores linked pages as needed, and identifies where target data resides. It uses an AI planner to decide navigation and extraction steps, then outputs the results as structured JSON. Optionally provide a JSON schema to constrain the output shape and improve reliability.
What if I need a specific JSON layout?
Provide a JSON schema before running the agent. The agent will attempt to conform extracted data to that schema for predictable output.
How long does an extraction take?
Typical runs take 2–5 minutes depending on site complexity and number of pages; set limits if you need tighter bounds.