A fleet of stealth browsers at your fingertips.
Finic provides browser infrastructure for developers building web scrapers, browser automations, and AI agents in Python. It does this by giving you a browser in the cloud you can control remotely using Playwright or Puppeteer (in just a few lines), or Selenium (with some work).
Finic is designed to be unopionated about the development process, and simply provide browser and network-level utilities to make sure your automations don't get blocked.
git clone https://github.com/finic-ai/finic.git
Run the image locally the same as any other Docker container.
sudo docker-compose up --build
Once the container is running, you can connect to it like this.
CDP_URL = "ws://localhost:8000/ws" async def main(): print("Connecting to Browser...") async with async_playwright() as pw: browser = await pw.chromium.connect_over_cdp(CDP_URL) try: print("Connected! Navigating...") page = await browser.new_page() await page.goto("https://example.com", timeout=2 * 60 * 1000) print("Navigated! Scraping page content...") html = await page.content() print(html) finally: await browser.close() asyncio.run(main())
Or run python testscript.py to test out the container.
If you want to use a Finic browser with an existing project, simply replace this line:
browser = playwright.chromium.launch(headless=False)
with this one: with this:
browser = playwright.chromium.connect_over_cdp("ws://localhost:8080/ws")