What is planned after 1.1. Nothing here is promised for a particular date; items move up when someone needs them. Ideas and pull requests are welcome — open an issue to discuss one before starting on it.
Legend: P1 next up · P2 planned · P3 exploring
AsyncSearchScraper with await scraper.search(q),
on curl_cffi’s AsyncSession and Playwright’s async API. Aggregate mode
becomes asyncio.gather with a deadline instead of a thread pool, so
thousands of concurrent queries cost one event loop; async tools for MCP.crawl(url, max_pages, same_site=True)
yielding MarkdownDocuments, with robots.txt respect and sitemap discovery,
for building RAG corpora.fetch_markdown() (via pypdf,
python-docx), so search results that are files read as well as pages.browser="puppeteer" via
pyppeteer/a Node sidecar, for teams whose scraping stack is already
Puppeteer scripts: run an existing .js scraper and get a
SearchResponse back.headless-driver record URL opens a
headed Playwright window, records clicks and inputs, and writes a replayable
Python script with stable selectors — the Cypress/Playwright codegen
experience for scraping flows.goto, click, fill,
wait_for, extract, paginate) runnable from the CLI and CI, with
screenshots on failure — Cypress-like end-to-end checks for scrapers.ws:// endpoint and Selenium to a grid with the same scraper API.undetected-chromedriver-style patching as an opt-in Selenium mode.sec-ch-ua
brands to the replaced User-Agent (today the headless brand list can still
say HeadlessChrome).unparsed, try
structural heuristics (repeated link-and-heading blocks) and report the
candidate selector, so layout changes degrade instead of breaking.doctor --fingerprint showing the
JA3/JA4, HTTP/2 and header fingerprint each transport presents.headless-driver tui: live engine health,
circuit-breaker states and a search box.slim (browserless), full
(Chrome + Playwright).headless-driver mcp): search, search_aggregate, fetch_page,
extract, screenshot; MCP SDK 1.x and 2.xfetch_markdown() with boilerplate removal, token
counts, truncation, chunking and automatic JavaScript renderingsearch(q, pages=N), de-duplicated across pagesSearchResult dataclass and pydantic modelsblocked, rate_limited, unparsed)curl_cffi) with profile rotationverify_emptyextract(),
capture_json(), screenshots, PDF, tracingbench, extract, colourful logging, end-to-end suite from the installed wheel