/interact endpoint — Scrape a page, then call /interact to take actions on it — click buttons, fill forms, navigate deeper, or extract dynamic content. Describe what you want in natural language via prompt, or write Playwright code (Node.js, Python) and Bash (agent-browser) for full control. Sessions persist across calls, with live view and interactive live view URLs for real-time browser streaming. Persistent profiles let you save and reuse browser state (cookies, localStorage) across scrapes. Available in JS, Python, Java, and Rust SDKs.query format — Added query format to the /scrape endpoint — pass a natural-language prompt and get a direct answer back in data.answer.audio format — Added audio format option to scrape responses, returning audio output as a field on the document.onlyCleanContent parameter — Added onlyCleanContent parameter to the /scrape endpoint, which strips navigation, ads, cookie banners, and other non-semantic content from markdown output.fast, auto, ocr) and a maxPages option to control extraction depth and OCR behavior..doc file support — Added support for parsing legacy .doc files.contentType in scrape responses — Added contentType to scrape responses for PDFs and documents.timeout, max_retries, and backoff_factor — these were previously accepted but silently ignored.o3-mini model on extract jobs.time_taken in /v1/map always returning ~0.failed status with an error message and partial data when a crawl-level failure occurs.maxPages not being passed to the PDF extractor — previously, full PDF content was returned while only charging for the limited page count.maxCredits threshold.colors.secondary not being populated.removeBase64Images running after deriveDiff in the transformer pipeline, causing diff issues.ZodError in /v1/search controller.handlebars, path-to-regexp, fast-xml-parser, rollup (CVE-2026-27606), undici, and others.GET /v2/team/activity endpoint for listing recent scrape, crawl, and extract jobs with cursor-based pagination (last 24 hours, up to 100 results per page, filterable by endpoint type).regexOnFullURL parameter on crawl requests to apply includePaths/excludePaths filtering against the full URL including query parameters. Available in JS, Python, Java, and Elixir SDKs.deduplicateSimilarURLs parameter on crawl requests. Available in JS, Python, Java, and Elixir SDKs.extract endpoint — use the /agent endpoint instead. Existing extract methods in JS and Python SDKs are marked deprecated.persistentSession to profile on browser/interact requests (writeMode is now saveChanges). The old parameter name remains functional but is no longer documented.Full Changelog: https://github.com/firecrawl/firecrawl/compare/v2.8.0...v2.9.0
Fetched April 11, 2026