Firecrawl Reader

Parameters and methods of FirecrawlReader, which scrapes or crawls websites into documents using Firecrawl.

FirecrawlReader reads data from websites using Firecrawl.

Parameters

ParameterTypeDefaultDescription
api_keyOptional[str]NoneFirecrawl API key for authentication
paramsOptional[Dict]NoneAdditional parameters passed to the Firecrawl API
modeLiteral["scrape", "crawl"]"scrape""scrape" reads a single page, "crawl" follows links to read multiple pages
chunkboolTrueChunk documents after reading
chunk_sizeint5000Size of each chunk when chunking is enabled
chunking_strategyOptional[ChunkingStrategy]SemanticChunking()Strategy used to chunk documents
nameOptional[str]NoneName of the reader
descriptionOptional[str]NoneDescription of the reader
allowed_hostsOptional[List[str]]NoneAllowed hostnames for the initial URL sent to Firecrawl. This local check does not constrain redirects or the provider's remote crawl; configure the Firecrawl crawl scope separately.

Methods

read()

Scrapes or crawls the given URL, depending on mode, and returns a list of documents.

ParameterTypeDefaultDescription
urlstrRequiredURL of the website to scrape or crawl
nameOptional[str]NoneName override for the resulting documents

async_read()

Async variant of read(). Accepts the same parameters.

Setup

Install the reader and chunking dependencies:

uv pip install -U agno firecrawl-py chonkie openai

Configure FIRECRAWL_API_KEY or pass api_key. The default semantic chunker uses OpenAI embeddings and requires OPENAI_API_KEY when chunking. Set an explicit non-semantic chunking_strategy or chunk=False to avoid embedding calls; Chonkie is still required when importing the reader.