Skip to content

Application Development

Firecrawl
API integration

Ship Application Development features without building the integration. Full Firecrawl API access via Proxy and 50+ MCP-ready tools for AI agents — extend models and mappings to fit your product.

Talk to us
Firecrawl

Use Cases

Why integrate with Firecrawl

Common scenarios for SaaS companies building Firecrawl integrations for their customers.

01

Ship a 'Train on your website' onboarding flow

AI support and chatbot platforms can let users paste a single URL and trigger a Firecrawl crawl to ingest their entire docs or help center as clean Markdown — turning a multi-week ingestion problem into a one-field onboarding step.

02

Enrich CRM accounts with structured web data

Sales intelligence and RevOps platforms can offer domain-based enrichment by running batch scrapes with schema-driven extracts, pulling ICP signals, pricing models, and tech stack mentions directly from prospect websites.

03

Automate competitive monitoring for end users

MarTech and product intelligence platforms can schedule recurring batch scrapes against competitor pages, diff the Markdown over time, and surface pricing or messaging changes as alerts inside their own product.

04

Power personalized signup experiences

PLG SaaS products can fire a scrape against a new signup's corporate domain to extract branding, messaging, and product details — then dynamically generate a customized workspace before the user lands in-app.

05

Embed agentic web research into your product

Vertical AI platforms can expose a 'research this URL' button that hands off to a Firecrawl agent, which autonomously navigates, clicks, and extracts answers to free-form user prompts without any custom scraping logic.

What You Can Build

Ship these features with Truto + Firecrawl

Concrete product features your team can ship faster by leveraging Truto’s Firecrawl integration instead of building from scratch.

01

One-click knowledge base ingestion

Let users connect a domain and kick off a Firecrawl crawl with path filters to pull only `/docs` or `/help` content into your vector store.

02

Schema-driven domain enrichment

Send a list of domains through batch scrape plus extract with a JSON schema mapped to your customer's custom CRM fields, returning structured rows ready to write back.

03

Scheduled competitor change detection

Run recurring batch scrapes against tracked URLs, compare the latest Markdown against prior snapshots, and trigger in-app alerts when content materially changes.

04

Agent-powered 'ask the web' feature

Expose a prompt box that creates a Firecrawl agent run to autonomously navigate a target site and return structured answers to user questions.

05

Authenticated scraping with browser sessions

Spin up persistent Firecrawl browsers, execute custom JavaScript to set cookies or log in, then scrape gated pages on behalf of the end user.

06

Usage-aware billing and quota dashboards

Surface per-customer credit and token consumption in your app by pulling Firecrawl's team credit usage, token usage, and historical usage endpoints.

SuperAI

Firecrawl AI agent tools

Comprehensive AI agent toolset with fine-grained control. Integrates with MCP clients like Cursor and Claude, or frameworks like LangChain.

get_single_firecrawl_agent_by_id

Get the status of an agent job by job ID.

create_a_firecrawl_agent

Start an agent task for agentic data extraction by providing a prompt and optional URLs, schema, and model configuration.

delete_a_firecrawl_agent_by_id

Cancel an agent job by its job ID.

list_all_firecrawl_agents

List Firecrawl agent runs, most recent first. Returns: id, createdAt, targetHint, origin, integration, settings, status, options. Pages are fixed at 20 runs.

get_single_firecrawl_batch_scrape_by_id

Get the status of a batch scrape job

delete_a_firecrawl_batch_scrape_by_id

Cancel a batch scrape job by its ID.

create_a_firecrawl_batch_scrape

Scrape multiple URLs in batch and optionally extract information using an LLM.

firecrawl_batch_scrapes_get_errors

Get the errors of a batch scrape job in Firecrawl (GET /v2/batch/scrape/{job_id}/errors). Returns errors (id, timestamp, url, code, error) and robotsBlocked. Required: job_id (the batch scrape job UUID).

list_all_firecrawl_browsers

List browser sessions, optionally filtered by status.

create_a_firecrawl_browser

Create a browser session with configurable TTL, activity timeout, live view streaming, and optional persistent profile storage.

firecrawl_browsers_execute

Execute code in a browser session

delete_a_firecrawl_browser_by_id

Delete a browser session by session ID.

get_single_firecrawl_crawl_by_id

Get the status of a crawl job

delete_a_firecrawl_crawl_by_id

Cancel a crawl job by its ID.

firecrawl_crawls_get_errors

Get the errors of a crawl job in Firecrawl (GET /v2/crawl/{job_id}/errors). Returns errors (id, timestamp, url, code, error) and robotsBlocked (URLs blocked by robots.txt). Required: job_id (the crawl job UUID).

create_a_firecrawl_crawl

Crawl multiple URLs starting from a base URL based on specified options such as depth, path filters, and concurrency limits.

firecrawl_crawls_list_active

Get all active crawls for the authenticated team

firecrawl_crawls_preview_params

Preview crawl parameters generated from a natural language prompt describing what to crawl.

list_all_firecrawl_credit_usage_historicals

Get historical credit usage for the authenticated team, optionally broken down by API key.

create_a_firecrawl_extract

Extract structured data from pages using LLMs by providing URLs and an optional prompt, schema, and scrape options.

get_single_firecrawl_extract_by_id

Get the status of an extract job by its ID.

create_a_firecrawl_map

Map multiple URLs from a base URL based on crawling and sitemap options.

firecrawl_scrapes_delete_interact

Stop the interactive browser session associated with a scrape job.

firecrawl_scrapes_interact

Interact with the browser session associated with a scrape job by executing code in the scrape-bound browser sandbox.

create_a_firecrawl_scrape

Scrape a single URL and optionally extract information using an LLM.

get_single_firecrawl_scrape_by_id

Get a Firecrawl scrape job by id. Returns the scraped document's markdown content and its metadata, including scrapeId, sourceURL, statusCode, and creditsUsed. Required: id (the scrape job UUID taken from data.metadata.scrapeId of the scrape response).

list_all_firecrawl_searches

Search the web and optionally scrape search results, with support for web, image, and news sources.

list_all_firecrawl_team_activities

Lists your team's recent API activity from the last 24 hours. Returns metadata about each job including the job ID, which can be used with the corresponding GET endpoint (e.g. GET /crawl/{id}) to retrieve full results. Supports cursor-based pagination and filtering by endpoint.

list_all_firecrawl_team_credit_usages

Get remaining credits for the authenticated team

list_all_firecrawl_team_queue_status

Retrieve metrics about your team's scrape queue, including job counts, concurrency limits, and most recent success timestamp.

list_all_firecrawl_team_token_usages

Get remaining tokens for the authenticated team

list_all_firecrawl_token_usage_historicals

Get historical token usage for the authenticated team (Extract only), optionally broken down by API key.

get_single_firecrawl_check_by_id

Get a single Firecrawl monitor check by id under a specific monitor. Returns the check's id, status, trigger, credit usage, summary counts, and per-page results with diffs and change judgments. Required: monitor_id, id.

list_all_firecrawl_checks

List Firecrawl monitor checks for a specific monitor. Returns each check's id, monitorId, status, trigger, credit usage, summary counts, and timestamps. Required: monitor_id.

create_a_firecrawl_feedback

Submit feedback for a Firecrawl v2 job. Requires a JSON request body (EndpointFeedbackRequest) and returns a FeedbackResponse confirmation object; its fields are not enumerated in the available documentation.

create_a_firecrawl_feedbacks_feedback

Submit feedback for a Firecrawl search job. Returns success, id, cdpUrl, liveViewUrl, and interactiveLiveViewUrl. Required: job_id (the search job id returned by /search) and a JSON feedback body.

create_a_firecrawl_interact

Create a new Firecrawl interact session with configurable TTL, inactivity timeout, live-view streaming, and persistent profile storage. Returns: success, id, cdpUrl, liveViewUrl, interactiveLiveViewUrl, expiresAt.

delete_a_firecrawl_interact_by_id

Delete a Firecrawl interact session by id. Returns: success, sessionDurationMs, creditsBilled. Required: id.

firecrawl_interacts_execute

Execute code in a Firecrawl interact session's browser sandbox. Returns: success, stdout, result, stderr, exitCode, killed, error. Required: session_id and code.

list_all_firecrawl_interacts

List Firecrawl interact sessions, optionally filtered by status. Returns sessions with: id, status, cdpUrl, liveViewUrl, interactiveLiveViewUrl, streamWebView, createdAt, and lastActivity.

create_a_firecrawl_monitor

Create a new Firecrawl monitor that scrapes, crawls, or searches URLs on a recurring schedule and notifies on changes. Returns the created monitor including id, name, status, schedule, targets, webhook, notification, retentionDays, estimatedCreditsPerMonth, lastCheckSummary, goal, judgeEnabled, nextRunAt, lastRunAt, currentCheckId, createdAt, and updatedAt. Requires name, schedule, and targets.

delete_a_firecrawl_monitor_by_id

Delete a Firecrawl monitor by id. Returns success confirming the monitor was deleted. Required: id.

get_single_firecrawl_monitor_by_id

Get a single Firecrawl monitor by id. Returns the monitor including id, name, status, schedule, targets, webhook, notification, nextRunAt, lastRunAt, lastCheckSummary, and createdAt. Required: id.

list_all_firecrawl_monitors

List Firecrawl monitors for the team. Returns monitor objects including id, name, status, schedule, nextRunAt, lastRunAt, targets, lastCheckSummary, and createdAt. Supports limit (1-100, defaults to 25) and offset pagination.

update_a_firecrawl_monitor_by_id

Update an existing Firecrawl monitor, e.g. to change its schedule or status. Returns the updated monitor including id, name, status, schedule, nextRunAt, lastRunAt, targets, and lastCheckSummary. Required: id.

get_single_firecrawl_paper_similar_by_id

Find papers related to a seed paper in firecrawl, ranked by a natural-language intent. Returns: success, results, poolSize, truncated. Required: id and intent. k accepts 1-500 (defaults to 40).

list_all_firecrawl_parse_formats

List the file formats supported by Firecrawl's /parse endpoint. Returns formats, where each entry includes format, kind, extensions, mimeTypes, and available. Responses may be cached for up to an hour.

create_a_firecrawl_parse

Upload a file to Firecrawl's /parse endpoint and return its parsed content. Returns: markdown, pages, blocks, summary, html, rawHtml, rawBase64, screenshot, audio, video, answer, highlights, links, actions, metadata, warning, changeTracking, branding, product, menu, tools, success, data. Required: file (multipart upload; supported extensions include .pdf, .docx, .html, .rtf, .xlsx, .pptx, .epub,…

get_single_firecrawl_research_paper_by_id

Get a firecrawl research paper by id — a canonical paperId or source-specific primaryId such as arxiv:2105.05233. Returns success and the paper object with paperId, ids, title, abstract, authors, categories, createdDate, and updateDate. Supplying query switches to read mode and returns the top matching full-text passages; k caps passage count (1–50, default 4). Required: id.

list_all_firecrawl_research_papers

Search firecrawl research papers with a natural-language query. Returns success and ranked results, each carrying paperId, primaryId, ids, title, abstract, and relevance score. Required: query. k caps result count (1–500, default 40).

create_a_firecrawl_run

Trigger an on-demand Firecrawl monitor run for a given monitor. Queues the check and returns the run record including id, monitorId, status, trigger, scheduledFor, credit estimates, and page comparison summary. Required: monitor_id. Returns a conflict error if a check is already running.

create_a_firecrawl_search_developer

Search the firecrawl developer index with a JSON body. Returns success, results (each with id, type, url, title, and passages), coverage, and reranked. Required: query. k (max 100) caps ranked results and passages (max 5) sets matched passages per result; repos and sources return 400 unless a matching repository or doc type is requested.

list_all_firecrawl_search_developers

Search the firecrawl developer index by natural-language query. Returns success, results (each with id, type, url, title, and passages), coverage, and reranked. Required: query. Set k (max 100) to cap ranked results; repos and sources return 400 unless a matching repository or doc type is requested.

get_single_firecrawl_snapshot_by_id

Get an output snapshot of a Firecrawl agent job by its id. Returns: success, id, snapshotId, snapshot. Required: job_id and id. Snapshots are only available for spark-2 agent jobs.

create_a_firecrawl_support_ask

Ask the Firecrawl AI support agent to diagnose job, account, and API usage issues. Requires a JSON request body; the upstream schema (SupportAskRequest) is not field-enumerated in the source docs. Returns the support agent's answer; the response shape (SupportAskResponse) is likewise not enumerated upstream.

firecrawl_support_docs_searches_search

Search the Firecrawl documentation with citations. Sends a documentation question to the public docs corpus and returns a docs-grounded answer object. Requires a JSON request body; its field names are not enumerated in the available documentation, so consult the upstream Firecrawl API reference for the payload shape.

firecrawl_team_threat_protections_bulk_update

Replace the team's firecrawl threat protection policy with a full-document update — omitted fields reset to defaults. Returns the effective policy: mode, riskScoreThreshold, blacklist, whitelist, blockedTlds, failurePolicy, allowRequestOverrides, configured, updatedAt. Required: mode. Requires Threat Protection enabled for the team (403 otherwise).

list_all_firecrawl_team_threat_protections

Get the team's effective firecrawl threat protection policy. Returns: mode, riskScoreThreshold, blacklist, whitelist, blockedTlds, failurePolicy, allowRequestOverrides, configured, updatedAt. Requires Threat Protection enabled for the team (403 otherwise).

get_single_firecrawl_trace_by_id

Get the execution trace of a Firecrawl agent job by id. Returns: success, id, events, creditsUsed, activeBrowserSessions. Required: id. Traces are only available for spark-2 agent jobs.

Why Truto

Why use Truto’s MCP server for Firecrawl

Other MCP servers give you a static tool list for one app. Truto gives you a managed, multi-tenant MCP infrastructure across 850+ integrations.

01

Auto-generated, always up to date

Tools are dynamically generated from curated documentation — not hand-coded. As integrations evolve, tools stay current without manual maintenance.

02

Fine-grained access control

Scope each MCP server to read-only, write-only, specific methods, or tagged tool groups. Expose only what your AI agent needs — nothing more.

03

Multi-tenant by design

Each MCP server is scoped to a single connected account with its own credentials. The URL itself is the auth token — no shared secrets, no credential leaking across tenants.

04

Works with every MCP client

Standard JSON-RPC 2.0 protocol. Paste the URL into Claude, ChatGPT, Cursor, or any MCP-compatible agent framework — tools are discovered automatically.

05

Built-in auth, rate limits, and error handling

Tool calls execute through Truto’s proxy layer with automatic OAuth refresh, rate-limit handling, and normalized error responses. No raw API plumbing in your agent.

06

Expiring and auditable servers

Create time-limited MCP servers for contractors or automated workflows. Optional dual-auth requires both the URL and a Truto API token for high-security environments.

For your product

Ship Firecrawl tools in your product

Give the AI in your product access to each customer’s own Firecrawl account, with one MCP server per connected account.

Rather talk it through? Book a demo

Elaichi

For your own team

Use Firecrawl in ChatGPT or Claude yourself

Connect your company’s Firecrawl once, then ask in the AI you already use, with exactly your own access.

From the team behind Truto · 14-day free trial

How It Works

From zero to integrated

Go live with Firecrawl in under an hour. No boilerplate, no maintenance burden.

01

Link your customer’s Firecrawl account

Use Truto’s frontend SDK to connect your customer’s Firecrawl account. We handle all OAuth and API key flows — you don’t need to create the OAuth app.

02

We handle authentication

Don’t spend time refreshing access tokens or figuring out secure storage. We handle it and inject credentials into every API request.

03

Call our API, we call Firecrawl

Truto’s Proxy API is a 1-to-1 mapping of the Firecrawl API. You call us, we call Firecrawl, and pass the response back in the same cycle.

04

Unified response format

Every response follows a single format across all integrations. We translate Firecrawl’s pagination into unified cursor-based pagination. Data is always in the result attribute.

FAQs

Common questions about Firecrawl on Truto

Authentication, rate limits, data freshness, and everything else you need to know before you integrate.

How do end users authenticate their Firecrawl account?

End users connect via their Firecrawl API key, which Truto stores and injects into every request. Your product never has to handle key storage, rotation, or per-tenant credential isolation directly.

Can we run long-running crawls and batch scrapes without holding open connections?

Yes. Firecrawl's crawl and batch scrape endpoints are asynchronous — you create a job, then poll the get-by-id endpoints or fetch errors via the dedicated error endpoints. Truto exposes both create and retrieval operations so you can manage jobs at your own cadence.

What kinds of extraction are supported beyond raw HTML?

Firecrawl returns LLM-ready Markdown by default and supports schema-driven structured JSON extraction via the extract endpoint. You can pass a prompt and a schema, and Firecrawl handles navigation, parsing, and formatting internally.

How do we monitor usage and rate limits per customer?

Truto exposes Firecrawl's team activity, queue status, credit usage, and token usage endpoints — including historical usage — so you can build per-tenant dashboards, enforce internal quotas, or bill based on consumption.

Can we handle authenticated or interactive pages?

Yes. Firecrawl's browser sessions let you create persistent sandboxed browsers, execute custom JavaScript inside them, and run scrapes with interaction steps, which is useful for login flows, cookie banners, or DOM manipulation before extraction.

How do we discover what's on a site before crawling it?

Use the map endpoint to enumerate URLs on a domain, and the crawl preview parameters endpoint to validate filter and depth settings before kicking off a full crawl. This keeps credit usage predictable on large sites.

Firecrawl

Get Firecrawl integrated into your app

Our team understands what it takes to make a Firecrawl integration successful. A short, crisp 30 minute call with folks who understand the problem.