Notte runs full browser sessions that render JavaScript completely - unlike HTTP-based scrapers that only see the initial HTML. This makes it ideal for SPAs built with React, Vue, Angular, or Next.js.
The problem with API-based scrapers:
- SPAs load data dynamically via JavaScript
- API scrapers (curl, requests, Firecrawl) see empty containers or loading spinners
- Client-side rendering means the real content isn't in the initial HTML
How Notte solves this:
- Full Chromium browser sessions render all JavaScript
- AI agents wait for content to load, handle infinite scroll, and navigate pagination
- Structured data extraction returns typed Pydantic models
- Stealth settings and proxies can help with sites that apply bot controls
At scale:
- Plan-based browser concurrency, with higher limits available on Enterprise
- Retry logic for transient failures
- Serverless functions with cron scheduling for recurring extractions
- Usage-based pricing for browser time, proxies, and LLM usage
Example workflow:
"Navigate to [SPA], wait for the product grid to load, scroll to load all items, extract name/price/rating for each product as a ProductSchema."
Notte handles the rendering, scrolling, extraction, and typing. You get clean JSON.
Docs at docs.notte.cc/quickstart.