Back to App Store

Firecrawl

Firecrawl · io.pilot.firecrawl
Turn any website into clean, LLM-ready data.
Web & AutomationLive on catalogue
Install
pilotctl appstore install io.pilot.firecrawl
v0.1.0
Version
51
Methods
8.6 MB
Size
shareable
Sandbox
macOS · Linux
Platforms

About Firecrawl

Firecrawl turns any website into clean, LLM-ready data. This app exposes the complete Firecrawl v2 API — all 50 operations — as Pilot app-store methods, generated 1:1 from Firecrawl's published OpenAPI spec.

You do not need a Firecrawl account, an API key, an inbox, or a browser. The app is keyless: Pilot's broker verifies your agent identity, meters your usage, and authenticates upstream on your behalf. Install and call.

What you get

- Scrape — one URL to clean markdown, HTML, links, screenshots, or schema-shaped JSON. Handles JS-heavy pages, PDFs and Office documents, geo/proxy emulation, ad-blocking, and PII redaction. - Search — web, news, and image search with query-relevant highlights, domain and time filters, and optional full scraping of every result in the same call. - Map — enumerate every URL on a domain in about a second. The cheap way to scope a crawl before you pay for one. - Crawl — async whole-site extraction with include/exclude path regexes, depth and page limits, subdomain and external-link control, robots.txt handling, and webhooks. Describe the crawl in plain English and preview the generated options for free. - Batch scrape — many known URLs in one job, with per-URL error reporting. - Extract — LLM-powered structured extraction across many pages against your JSON Schema, optionally with web search and source citations. - Agent — autonomous web research. Give a prompt and a credit ceiling; the agent decides where to go and returns structured data. - Interact — drive a real browser with Playwright or natural language, either bound to a scrape job or as a standalone session with persistent profile storage. - Monitor — recurring checks on pages, whole sites, or web-wide searches, with an AI judge that filters noise against a plain-language goal, and webhook/email/Slack alerts. - Research index — search scientific papers, read their full-text passages, expand to related work, and search GitHub issues, PRs, and READMEs. - Supportfirecrawl.ask diagnoses a failing job from your account's logs, and firecrawl.docs_search answers Firecrawl questions with citations. - Usage — credits, tokens, queue depth, and recent activity, so an agent can check cost and capacity before committing to an expensive call.

Start with firecrawl.help — it returns every method with its full parameter set, latency class, and measured roundtrip.

Cost control. firecrawl.crawl takes limit and firecrawl.agent takes maxCredits; both default high. Set them. firecrawl.map and firecrawl.crawl_params_preview are the cheap ways to scope work before you spend. Check firecrawl.credit_usage and firecrawl.balance before a large job.

Not exposed: POST /v2/parse (upload a local file for parsing) takes multipart/form-data, which the JSON-in/JSON-out app-store IPC contract cannot express. Use firecrawl.scrape on a public document URL instead — it parses PDF, DOCX, XLSX and friends natively.

Methods · 51

50 methods work on the free plan. The 1 below the divider need an account upgrade (paid plan, invite, or a verified custom domain).

firecrawl.scrape
Scrape one URL into clean LLM-ready markdown (or html/links/screenshot/json).
firecrawl.scrape_status
Get the status and result of a previously started scrape job by id.
firecrawl.scrape_interact
Run code or an AI prompt in the live browser session bound to a scrape job.
firecrawl.scrape_interact_stop
Stop the interactive browser session attached to a scrape job and free its resources.
firecrawl.search
Search the web (and optionally scrape every result in one call).
firecrawl.search_feedback
Rate a search job's quality to improve future Firecrawl search results.
firecrawl.map
Discover every URL on a domain, fast — the cheap way to scope a crawl.
firecrawl.crawl
Start an async crawl of an entire site. Returns a job id — poll firecrawl.crawl_status.
firecrawl.crawl_status
Poll a crawl job: status, completed/total counts, credits used, and the scraped pages.
firecrawl.crawl_cancel
Cancel a running crawl job.
firecrawl.crawl_errors
List the pages a crawl job failed on, plus URLs blocked by robots.txt.
firecrawl.crawl_active
List every crawl currently running for your account.
firecrawl.crawl_params_preview
Dry-run: see the crawl options a natural-language prompt would generate, without spending credits.
firecrawl.batch_scrape
Scrape many known URLs in one async job. Returns a job id — poll firecrawl.batch_scrape_status.
firecrawl.batch_scrape_status
Poll a batch scrape job: progress, credits used, and the scraped pages.
firecrawl.batch_scrape_cancel
Cancel a running batch scrape job.
firecrawl.batch_scrape_errors
List the URLs a batch scrape job failed on, with per-URL error detail.
firecrawl.extract
Extract structured JSON from one or many pages using an LLM and your schema. Async — poll firecrawl.extract_status.
firecrawl.extract_status
Poll an extract job and retrieve the structured data once it completes.
firecrawl.agent
Autonomous web research: give a prompt, the agent decides what to visit and returns structured data. Async — poll firecrawl.agent_status.
firecrawl.agent_status
Poll an agent job and retrieve its result once it completes.
firecrawl.agent_cancel
Cancel a running agent job and stop it spending credits.
firecrawl.interact_create
Start a standalone browser session you drive with code — no prior scrape needed.
firecrawl.interact_list
List your standalone interact browser sessions.
firecrawl.interact_execute
Run Playwright or agent-browser code inside a standalone interact session.
firecrawl.interact_delete
Destroy a standalone interact session and release its browser.
firecrawl.monitor_create
Create a recurring check that watches pages, a whole site, or search results and alerts on meaningful change.
firecrawl.monitor_list
List your monitors.
firecrawl.monitor_get
Get one monitor's full configuration.
firecrawl.monitor_update
Update a monitor's schedule, targets, goal, or status (active/paused).
firecrawl.monitor_delete
Delete a monitor and stop its recurring checks.
firecrawl.monitor_run
Trigger a monitor check immediately instead of waiting for its schedule.
firecrawl.monitor_checks
List a monitor's past checks and what changed in each.
firecrawl.monitor_check
Get one monitor check in full, with page-level diffs.
firecrawl.research_papers
Search a purpose-built scientific paper index by natural-language query.
firecrawl.research_paper
Inspect a paper's metadata, or pass query to read its top matching full-text passages.
firecrawl.research_related
Expand a seed paper to related work — citers, references, or semantically similar papers.
firecrawl.research_github
Search GitHub issues, pull requests, discussions, and READMEs by natural-language query.
firecrawl.ask
Diagnose a failing Firecrawl call with an AI support agent — pass the jobId and get a fix.
firecrawl.docs_search
Answer a "how does Firecrawl do X?" question from the official docs, with citations.
firecrawl.feedback
Submit quality feedback for a completed search, scrape, parse, or map job.
firecrawl.credit_usage
Remaining credits and the current billing period.
firecrawl.credit_usage_historical
Historical credit usage over time, optionally broken down by API key.
firecrawl.token_usage
Remaining LLM tokens for extract-family operations.
firecrawl.token_usage_historical
Historical token usage over time, optionally broken down by API key.
firecrawl.queue_status
Your scrape queue depth, active jobs, and max concurrency — check before a large batch.
firecrawl.activity
Recent API activity (last 24h) with job ids you can feed to the *_status methods.
firecrawl.threat_protection
Read the account's threat-protection policy (URL risk checks, allow/deny lists).
firecrawl.balance
Your remaining credits for this app, read free from the broker's per-user ledger — returns {"credits_remaining":<n>,"credits_seed":<n>,"scope":"per-pilot-user"}. This is YOUR balance. No partner API call, no charge. Check it before an expensive job.
firecrawl.help
Discovery: every method with params, kind, and latency class.
Requires an upgrade · 1
firecrawl.threat_protection_updateupgrade
Replace the account's threat-protection policy. Full-document update — unspecified fields reset to defaults.
Not available on the Pilot plan. Threat-protection policy applies to a whole Firecrawl team rather than a single caller, so it is not something an individual Pilot user can set. Upstream it is also an enterprise feature restricted to team admins.

Full usage demo

When you need content from the live web: read a page as clean markdown, search the web, enumerate a site's URLs, crawl a whole domain, or extract structured data from pages.

Run this first — Read any page as clean, LLM-ready markdown1 credit
Call
pilotctl appstore call io.pilot.firecrawl firecrawl.scrape '{"url":"https://example.com"}'
{"success":true,"data":{"markdown":"# Example Domain\n\nThis domain is for use in documentation examples...","metadata":{"title":"Example Domain","creditsUsed":1}}}

Worked examples

Check your budget first (free read)0 credits (read)
Call
pilotctl appstore call io.pilot.firecrawl firecrawl.balance '{}'
{"credits_remaining":1000,"credits_seed":1000,"scope":"per-pilot-user"}
Search the web and get real content back2 credits
Call
pilotctl appstore call io.pilot.firecrawl firecrawl.search '{"query":"open source web crawlers","limit":3}'
{"success":true,"data":{"web":[{"url":"https://...","title":"...","description":"..."}]},"id":"019fc9b8-..."}
Enumerate a site's URLs before paying to crawl it1 credit
Call
pilotctl appstore call io.pilot.firecrawl firecrawl.map '{"url":"https://docs.firecrawl.dev","limit":50}'
{"success":true,"links":[{"url":"https://docs.firecrawl.dev/...","title":"..."}]}

Always map before a crawl: crawl defaults to 10000 pages.

Crawl a site — async, returns a job id20 credits
Call
pilotctl appstore call io.pilot.firecrawl firecrawl.crawl '{"url":"https://docs.firecrawl.dev","limit":10}'
{"success":true,"id":"a1b2c3d4-...","url":"https://api.firecrawl.dev/v2/crawl/a1b2c3d4-..."}

SET limit — it defaults to 10000 pages.

Poll the crawl until it finishes (free read)0 credits (read)
Call
pilotctl appstore call io.pilot.firecrawl firecrawl.crawl_status '{"id":"a1b2c3d4-..."}'
{"status":"completed","total":10,"completed":10,"creditsUsed":10,"data":[{"markdown":"...","metadata":{}}]}

What it costs

1000 credits per Pilot userfree budget · billed in Firecrawl credits
OperationPriceNotes
scrape / map / docs_search1 creditper call
search2 creditsper query
ask3 creditsper diagnosis
interact_create / monitor_create5 creditsper session or monitor
crawl / batch_scrape / extract20 creditscharged when the job is accepted; a large crawl costs more as it runs
agent50 creditscap it with maxCredits
all *_status, *_errors, list and usage reads0 creditsreads are free

This demo spends 24 of your 1000 credits (quickstart scrape 1 + search 2 + map 1 + crawl 20; both reads are free).

Check balance
pilotctl appstore call io.pilot.firecrawl firecrawl.balance '{}'

Good to know

  • You get 1000 credits and 2 concurrent calls. Check firecrawl.balance before a big job.
  • 429 means you already have 2 calls in flight — wait, or free a slot. Browser/interact sessions hold one until stopped.
  • crawl defaults to limit 10000 and agent to maxCredits 2500 — always set them.
  • crawl/batch_scrape/extract/agent are async: they return a job id, poll the matching *_status.
  • 404 on someone else's job id is intentional — jobs are isolated per Pilot user.
  • firecrawl.parse is not exposed (multipart upload); scrape a public PDF/DOCX URL instead.

Next

  • io.pilot.firecrawl firecrawl.help '{}'

What’s New

v0.1.0Latest
  • Released v0.1.0

Platform Compatibility

macOSApple Silicon
5.0 MBSupported
macOSIntel
5.0 MBSupported
Linuxarm64
4.5 MBSupported
Linuxamd64
4.5 MBSupported
You might also like

More in Web & Automation