# Browser Automation That Thinks

> AI-powered robotic process automation with computer vision, natural language understanding, and self-healing workflows. Automate web scraping, form filling, and data entry 100x faster with agents that adapt to UI changes automatically.

Canonical: https://rpa.do/

## In code

```ts
import { Rpa } from 'rpa.do'

// AI-powered web scraping with natural language
on.Scrape.requested(async $ => {
  const bot = Rpa({ vision: true, headless: true })
  await bot.navigate($.targetUrl)
  const data = await bot.extract({
    instructions: 'find all product names, prices, and reviews',
    schema: { products: [{ name: 'string', price: 'number', rating: 'number' }] }
  })
  $.Database.insert.Products(data.products)
})
```

## Frequently asked questions

### How does AI-powered RPA differ from traditional automation?

Traditional RPA breaks when UI changes—selectors fail, scripts stop. Rpa.do uses computer vision and natural language to understand pages semantically. Agents identify elements by label, context, and visual appearance, not fragile CSS selectors. Self-healing workflows adapt to UI changes automatically. If a button moves or changes color, the agent still finds it. Success rate: 95-99% vs 60-80% for traditional RPA.

### Can agents handle CAPTCHAs and anti-bot measures?

Yes. Residential proxy support (1M+ IPs), browser fingerprinting randomization, and realistic human-like interactions (mouse movements, typing patterns, delays). CAPTCHA solving via third-party services (2Captcha, Anti-Captcha) or manual intervention workflows. Rate limiting and session management prevent detection. Automatic retry with different fingerprints on block. Success rate: 90%+ for most sites.

### What about sites with complex JavaScript and SPAs?

Full support for single-page applications, infinite scroll, lazy loading, and dynamic content. Agents wait for elements intelligently (network idle, DOM stability, specific elements). Execute custom JavaScript when needed. Handle WebSocket connections, real-time updates, and async operations. Works with React, Vue, Angular, and all modern frameworks. Automatic retry on JavaScript errors with error recovery.

### How do I extract structured data from unstructured pages?

Natural language extraction: describe what you want ('find prices and ratings'), agent uses computer vision and DOM analysis to extract data. Schema validation ensures data quality. Handle tables, lists, grids, and complex layouts automatically. Fuzzy matching for similar-but-not-exact data. Works across pagination and infinite scroll. Export to JSON, CSV, database, or API. Average accuracy: 95%+ for well-structured sites.

### What about compliance and ethics?

Respect robots.txt, rate limiting, and terms of service. Built-in throttling prevents overwhelming sites. User-agent identification (optional stealth mode). GDPR-compliant data handling with automatic PII detection. Audit logs of all actions. Webhook notifications for policy violations. Legal guidance for scraping vs unauthorized access. Support for authenticated scraping with consent. Enterprise compliance features (SOC2, HIPAA).

## Part of Platform.do

rpa.do is one of the primitives of Platform.do, in the Workflows layer (triggers, steps and functions). Every .do shares one grammar, Business-as-Code, and one SDK.

- What is Business-as-Code? https://platform.do/business-as-code
- Platform.do: https://platform.do/
- Docs: https://docs.platform.do
