WebSkrapWebSkrap
WebSkrap logoAsync-first · Playwright · Patchright · MCP

Scrape the web like a real browser

WebSkrap is an async-first Python scraping framework built on Playwright that also works as a web tool for LLMs and agents. You get coherent browser profiles, persistent sessions, Patchright-powered stealth, and an MCP server that returns live pages as plain text instead of raw HTML.

pip install webskrap
webskrap install
webskrap fetch https://example.com --format json --max-chars 12000

Browser automation ready for agents and scripts

Async-first
Built on Playwright with an async API for concurrent data collection workflows.
Browser profiles
Coherent desktop and mobile profiles keep viewport, user agent, and locale consistent.
Persistent sessions
Reuse cookies, storage, and a user data dir across fetches to stay logged in between runs.
Resource routing
A resource policy blocks images, fonts, and trackers to make pages load faster and leaner.
Patchright stealth
Patchright ships with WebSkrap for stealth-oriented sessions and CLI fetches.
Human-like clicks
human_click moves the cursor along a Bezier curve with eased spacing before the click.
MCP server
fetch and stealth_fetch tools for Claude, Codex, and any MCP agent. They return clean page text, not raw HTML.
Built for LLMs
Clean-text output by default, 5-10x fewer tokens than raw HTML, plus JSON and bounded CLI output.

Quickstart

import asyncio

from webskrap import WebSkrapClient


async def main() -> None:
    async with WebSkrapClient() as client:
        result = await client.fetch("https://example.com")
        print(result.status)
        print(result.title)
        print(result.text[:200])


asyncio.run(main())