Ready-to-run browser automation examples for Notte.
This repository contains Python and TypeScript templates for common browser workflows: authenticated sessions, Vault-backed credentials, Persona inboxes, CAPTCHA handling, proxy routing, structured scraping, downloads, monitoring, and Notte Functions.
notte-templates/
python/ Python templates, one folder per workflow
ts/ TypeScript templates and npm workspace
run-outputs/ Local run logs and generated reports
Each template lives at:
<language>/<category>/<template-name>/
Most template folders include:
README.mdwith the goal, run command, and inputs.env.examplewith the expected environment variablesmain.pyormain.tsas the entrypoint
- A Notte API key
- Python templates:
uv - TypeScript templates: Node.js and npm
Set your API key in the template you want to run:
cp .env.example .envThen edit .env and add:
NOTTE_API_KEY=your_api_key_herecd python/getting-started/getting-started-with-notte
cp .env.example .env
uv run main.pyPython templates use inline uv script metadata, so each template can declare its own dependencies in main.py.
Install shared dependencies once:
cd ts
npm installThen run a template:
cd getting-started/getting-started-with-notte
cp .env.example .env
npm startThe TypeScript folder is an npm workspace. See ts/README.md for workspace commands.
auth: Profiles, Vaults, Personas, and login flowscaptcha-bot-handling: CAPTCHA solving and bot-protected pagesdeterministic-workflows: repeatable browser workflows without agent planningdownloads-files: browser workflows that save files locallyecommerce-price-monitoring: product scraping and price checksfunctions: deployable Notte Functionsplaywright: direct Playwright control of Notte browser sessionsproxies-geo: proxy routing and location-sensitive browsingstructured-scraping: structured extraction from public websiteswebsite-qa-monitoring: release, package, and website health checks