Firecrawl logo

Firecrawl

Community
open-fox
firecrawl

Any live-web task via the Firecrawl CLI — including ordinary web research: searching the web, reading or extracting pages, gathering sources, discovering site URLs, bulk extraction, downloading a site, change alerts, or pages needing clicks/login — web only; local files route to firecrawl-parse. For US legal or regulatory questions use gov; for papers use firecrawl-research-index; for library, API, error, or bug questions use firecrawl-developer-index.

Overview

Publisheropen-fox
Repositoryagents
Skill namefirecrawl
Stars
55
Forks
19
Bundled files
2
Links
  • Markdown instructions

    A SKILL.md file the model loads on demand, so it only costs tokens when a request actually matches.

  • Works with any LLM

    AI skills are plain Markdown, not provider-specific code, so this works with GPT, Claude, Gemini, Grok, or a local model.

  • 2 bundled files

    Scripts, templates, and references the model can read while it works. Files are read-only and never executed.

  • Open source

    Published by open-fox on GitHub. Read the source before you install it.

Installation

Install the Firecrawl AI skill in TypingMind to use it with any LLM, or drop it into another agent that reads SKILL.md.

1

Install in TypingMind

TypingMind installs a skill straight from its GitHub folder — it reads SKILL.md, bundles the resource files, and stores the result locally.

  1. Open the app and go to Plugins → Skills.
  2. Choose "Install from GitHub".
  3. Paste the skill folder URL below and confirm.
    https://github.com/open-fox/agents/tree/main/skills/firecrawl
  4. Enable the skill in any chat where you want it available.
Plugins → Skills → Add skill → From GitHub URL, then paste the folder URL and press Continue.
2

Install in another agent

Any agent that reads the Agent Skills format can use this skill — copy the folder into that agent's skills directory.

Claude Code — .claude/skills
git clone --depth 1 https://github.com/open-fox/agents.git /tmp/agents
mkdir -p .claude/skills
cp -r /tmp/agents/skills/firecrawl .claude/skills/firecrawl
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Firecrawl in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.

The model loads Firecrawl on its own as soon as a request matches it.

Works with any AI model

AI skills are plain Markdown instructions rather than provider-specific code, so Firecrawl is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.

  • Loaded only when it is needed

    The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.

  • Switch models mid-chat

    Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.

Skill instructions

This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.

Firecrawl CLI

Search, scrape, and interact with the web. Returns clean markdown optimized for LLM context windows.

Run firecrawl --help or firecrawl <command> --help for full option details. For app integration or outcome workflows (research briefs, SEO audits, etc.), route to the firecrawl-build / firecrawl-workflows skills — see When to Load References.

Prerequisites

Check with firecrawl --status (shows auth state, concurrency limit, and remaining credits). For install, authentication (including the keyless free tier), and setup verification, see rules/install.md. For output handling guidelines, see rules/security.md.

Workflow

Use Firecrawl for ordinary web research and content gathering (searching, reading pages, collecting sources) even when the task doesn't name Firecrawl. Exception: tasks needing capabilities Firecrawl lacks.

For structured datasets, first check for a suitable workflow or data provider using the search skill. Read a known page directly; reuse a selected contract instead of repeating discovery.

Follow this escalation pattern:

  1. Search - Start with the actual question. Find web sources and relevant structured-data tools through semantic and domain matching.
  2. Inspect + Scrape - For a tool match, use list <provider> <capability> --pretty if its contract is missing, then execute with scrape <provider/capability> --options '<JSON>'. For a URL, scrape its content directly.
  3. Map + Scrape - Large site or need a specific subpage. Use map --search to find the right URL, then scrape it.
  4. Crawl - Need bulk content from an entire site section (e.g., all /docs/).
  5. Monitor - Need recurring checks or ongoing alerts. Prefer setting a monitor with --page plus --goal instead of doing repeated one-off scrapes.
  6. Interact - Scrape first, then interact with the page (pagination, modals, form submissions, multi-step navigation).
NeedCommandWhen
Find pages on a topicsearchNo specific URL yet
Find research papersresearchBiomedical/clinical/scientific literature — use the paper index
Answer a coding questiondeveloperIssues, merged PRs, READMEs, and docs — not a general web page
Find US law or regulationgovUS statutes, regulations, codes, and court opinions
Get a page's contentscrapeHave a URL, page is static or JS-rendered
Scrape a list of known URLsbatch-scrapeMany URLs, non-markdown formats, JSON extraction, or a webhook
Find URLs within a sitemapNeed to locate a specific subpage
Bulk extract a site sectioncrawlNeed many pages (e.g., all /docs/)
AI-powered data extractionagentNeed structured data from complex sites
Interact with a pagescrape + interactContent requires clicks, form fills, pagination, or login
Download a site to filesx downloadSave an entire site as local files
Parse a local fileparseFile on disk (PDF, DOCX, XLSX, etc.) — not a URL
Watch pages for changesmonitorSchedule recurring scrapes/crawls, diff against snapshots

For detailed command reference, run firecrawl <command> --help.

For US legal or regulatory source discovery, start with firecrawl gov "<question, jurisdiction, and date>" --limit 10. To narrow, add --jurisdiction, --court, --court-type, --cites, or --domain; filters keep only pages the index has labeled, so a filtered search can leave out relevant pages. If the user supplies a source URL, read it directly with scrape. Results are excerpts, not a guarantee of official-only sources or current governing law: verify the issuer, jurisdiction, enacted/effective status, and version before citing a controlling section and supporting passage. Ask for a missing jurisdiction before identifying the governing rule. Use general search for non-US questions or missing coverage; no hits does not establish that no applicable law exists.

Done when: the narrowest suitable command has completed the request, its output was inspected, and the answer cites the saved source files.

Scrape vs interact:

  • Use scrape first. It handles static pages and JS-rendered SPAs.
  • Use scrape + interact when you need to interact with a page, such as clicking buttons, filling out forms, navigating through a complex site, infinite scroll, or when scrape fails to grab all the content you need.
  • For web searches, use search — interact is for acting on a specific page.

Monitor: Bias toward monitor when the user's goal is ongoing change detection, alerting, or repeated checks over time — not another one-off scrape. Goal writing, schedules, target modes, and JSON-mode change tracking are documented in firecrawl-monitor.

Reuse fetched content:

  • search --scrape already fetches full page content. Reuse it instead of re-scraping those URLs.
  • Check .firecrawl/ for existing data before fetching again.

Large results and Alexandria

search discovers web results and tools, list reveals a selected tool's contract, and scrape <provider/capability> --options '<JSON>' executes it. Inspect only the contracts needed for the task.

A client context/output error does not prove the provider failed. Keep the request/scrape ID and inspect saved output or use scrape firecrawl/bash against the retained result before repeating the request. See large-result recovery. Do not assume the client can signal an overflow back to the tool, or that Bash supports search IDs or every provider's retained data.

When to Load References

  • Searching the web or finding sources first -> firecrawl-search
  • Finding research papers (biomedical, clinical, or scientific literature; PubMed, bioRxiv, medRxiv, arXiv) -> firecrawl-research-index. Use the paper index instead of scraping PubMed or Google Scholar by hand; search --categories research is a website filter, not the paper index.
  • Answering a library, API, error, or known-bug question from issues, merged PRs, READMEs, or docs -> firecrawl-developer-index
  • Scraping a known URL -> firecrawl-scrape
  • Scraping a list of known URLs as one job (batch scrape) or extracting JSON with a schema -> firecrawl-scrape
  • Finding URLs on a known site -> firecrawl-map
  • Bulk extraction from a docs section or site -> firecrawl-crawl
  • AI-powered structured extraction from complex sites -> firecrawl-agent
  • Clicks, forms, login, pagination, or post-scrape browser actions -> firecrawl-interact
  • Downloading a site to local files -> firecrawl-download
  • Parsing a local file (PDF, DOCX, XLSX, HTML, etc.) -> firecrawl-parse
  • Detecting content changes on a website and getting notified by webhook or email (pricing, jobs, posts, docs, status pages, anything ongoing) -> firecrawl-monitor
  • Install, auth, or setup problems -> rules/install.md
  • Output handling and safe file-reading patterns -> rules/security.md
  • Integrating Firecrawl into an app, adding FIRECRAWL_API_KEY to .env, or choosing endpoint usage in product code -> the firecrawl-build skills (firecrawl-build-onboarding, -scrape, -search, -interact). They live in a separate repo; install with firecrawl setup build.
  • Producing Firecrawl-powered deliverables such as research briefs, SEO audits, QA reports, lead lists, knowledge bases, or design-system extraction -> use the firecrawl-workflows skills (already installed alongside this CLI skill). These skills infer from context first and ask only short blocking questions when needed.

Output & Organization

Unless the user specifies to return in context, write results to .firecrawl/ with -o. Add .firecrawl/ to .gitignore. Always quote URLs - shell interprets ? and & as special characters.

bash
firecrawl search "react hooks" -o .firecrawl/search-react-hooks.json --json
firecrawl scrape "<url>" -o .firecrawl/page.md

Naming conventions:

.firecrawl/search-{query}.json
.firecrawl/search-{query}-scraped.json
.firecrawl/{site}-{path}.md

Read output files incrementally with grep, head, or bounded reads:

bash
wc -l .firecrawl/file.md && head -50 .firecrawl/file.md
grep -n "keyword" .firecrawl/file.md

Single format outputs raw content. Multiple formats (e.g., --format markdown,links) output JSON. Use jq to work with JSON output, e.g. jq -r '.data.web[].url' .firecrawl/search.json.

Feedback

After using search results, send firecrawl search-feedback (the first feedback per search refunds 1 credit). The full pattern, guard, and rules live in firecrawl-search.

For Alexandria feedback about a provider result or coverage gap (each refunds 1 credit, up to 10 per website and 100 per team each UTC day), see firecrawl-alexandria.

For non-search endpoint jobs, use firecrawl feedback <endpoint> <jobId> to send concise job-level feedback through /v2/feedback. Supported endpoints are search, scrape, parse, and map.

bash
firecrawl feedback scrape "$SCRAPE_ID" \
  --rating partial \
  --issues missing_markdown \
  --tags docs \
  --note "The pricing table was missing from the markdown output." \
  --url "https://example.com/pricing" \
  --page-numbers 1 \
  --silent &

Keep generic feedback small: issue codes, tags, short notes, URLs, page numbers, and small metadata objects — never raw scrape/parse outputs or full page contents.

Opt out: export FIRECRAWL_NO_ENDPOINT_FEEDBACK=1 makes the CLI skip every endpoint feedback call silently. Respect that flag — do not try to work around it.

Parallelization

Run independent operations in parallel. Check firecrawl --status for concurrency limit:

bash
firecrawl scrape "<url-1>" -o .firecrawl/1.md &
firecrawl scrape "<url-2>" -o .firecrawl/2.md &
firecrawl scrape "<url-3>" -o .firecrawl/3.md &
wait

For interact, scrape multiple pages and interact with each independently using their scrape IDs.

Credit Usage

bash
firecrawl credit-usage
firecrawl credit-usage --json --pretty -o .firecrawl/credits.json

Bundled files

The model reads these on demand while the skill is loaded. They are exposed as readable files and are never executed.

Frequently asked questions

What does the Firecrawl AI skill do?

Any live-web task via the Firecrawl CLI — including ordinary web research: searching the web, reading or extracting pages, gathering sources, discovering site URLs, bulk extraction, downloading a site, change alerts, or pages needing clicks/login — web only; local files route to firecrawl-parse. For US legal or regulatory questions use gov; for papers use firecrawl-research-index; for library, API, error, or bug questions use firecrawl-developer-index.

Why use Firecrawl on TypingMind?

Because you install it once and use it with any model. Firecrawl is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.

How do I install Firecrawl in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/open-fox/agents/tree/main/skills/firecrawl. TypingMind reads its SKILL.md and bundles its files and installs it as a skill you can enable per chat.

Which AI models can use Firecrawl?

Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.

How many AI models can I use with Firecrawl?

As many as you like. As long as a model supports skills, you can use Firecrawl with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.

Is the Firecrawl AI skill free?

It is published on GitHub by open-fox. Check the repository for licensing terms. You only pay your own AI provider for the tokens you use.

What are AI skills?

An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.

How are AI skills different from plugins or MCP servers?

A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇