Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.upsonic.ai/llms.txt

Use this file to discover all available pages before exploring further.

Overview

FirecrawlTools extends ToolKit and uses the Firecrawl API for scraping, crawling, mapping, web search, batch scraping, and LLM-powered extraction.
ToolKit: FirecrawlTools inherits from ToolKit. You get all base behavior (e.g. include_tools, exclude_tools, timeout, use_async). See Creating ToolKit for the full API.
Required: Set FIRECRAWL_API_KEY (env or .env). Install: uv pip install firecrawl-py.
Tools (13): scrape_url, crawl_website, start_crawl, get_crawl_status, cancel_crawl, map_website, search_web, batch_scrape, start_batch_scrape, get_batch_scrape_status, extract_data, start_extract, get_extract_status. Use ToolKit’s exclude_tools / include_tools to limit which tools the agent sees.

Examples

from upsonic import Agent, Task
from upsonic.tools.custom_tools.firecrawl import FirecrawlTools

agent = Agent(model="anthropic/claude-sonnet-4-6", tools=[FirecrawlTools()])
task = Task(description="Scrape https://www.nike.com.tr and summarize the main content in one short paragraph.")
result = agent.print_do(task)
print(result)

from upsonic import Agent, Task
from upsonic.tools.custom_tools.firecrawl import FirecrawlTools

tools = FirecrawlTools(
    default_scrape_limit=50,
    default_search_limit=10,
    fc_timeout=60,
    exclude_tools=["crawl_website", "start_crawl", "get_crawl_status", "cancel_crawl"],
    timeout=60.0,
)
agent = Agent(model="anthropic/claude-sonnet-4-6", tools=[tools])
task = Task(description="Search the web for 'Upsonic AI agent framework' and summarize the top 3 results.")
result = agent.print_do(task)
print(result)

Parameters

ParameterTypeDefaultDescription
api_keystr | Nonefrom env FIRECRAWL_API_KEYFirecrawl API key.
api_urlstr | NoneNoneCustom API base URL for self-hosted Firecrawl.
default_formatslist[str] | None["markdown"]Default output formats for scrape operations.
default_scrape_limitint100Default page limit for crawl operations.
default_search_limitint5Default result limit for search operations.
fc_timeoutint120Timeout in seconds for blocking operations.
poll_intervalint2Seconds between job status polls.