A simpler way to automate browsers
Write browser automation scripts with a clean, readable syntax. Runs in cloud-hosted browsers with live debugging via VNC.
visit("https://news.ycombinator.com")
posts = find_elements(".athing")
for post in posts
title = post.find_element(".titleline a").text
link = post.find_element(".titleline a").href
record("title", title)
record("link", link)
endScrape Hacker News front page. Results export to CSV, JSON, or via API.
Built for developers
Familiar patterns like loops and selectors. Cloud execution with debugging tools included.
Cloud execution
Scripts run on cloud-hosted Chrome browsers. No local setup or dependencies required.
Live VNC preview
Watch your script execute in real-time. See the browser as your automation runs.
Built-in export
Use record() to collect data. Export to CSV, JSON, or fetch via API.
Stealth mode
Browsers configured to reduce detection. Optional proxy support for geo-targeting.
Scheduled runs
Run scripts on a schedule. Daily, hourly, or custom cron expressions.
REST API
Trigger scripts and retrieve results programmatically. Integrate with your existing tools.
Readable syntax
The DSL is designed to be readable and concise. Familiar constructs like loops, conditionals, and element selectors.
visit("https://example.com")
click("button.submit")
type("input[name=email]", "[email protected]")
wait_for(".results")
scroll_to(".footer")element = find_element(".product")
elements = find_elements(".product-card")
title = element.text
href = element.href
src = element.src
record("title", title)for item in items
name = item.find_element(".name").text
record("name", name)
end
if exists(".next-page")
click(".next-page")
endwait(2) # wait 2 seconds
screenshot("page.png")
timestamp = now()
# Access input data
url = inputs["url"]Example scripts
A few examples of what you can build. Each runs in a cloud browser with results exported automatically.
Monitor competitor prices
Track prices across multiple product pages. Schedule to run daily and export changes.
visit("https://competitor.com/products")
wait_for(".product-grid")
products = find_elements(".product-card")
for product in products
name = product.find_element(".product-name").text
price = product.find_element(".price").text
url = product.find_element("a").href
record("name", name)
record("price", price)
record("url", url)
record("checked_at", now())
endScrape job listings
Collect job postings from a board. Filter by keywords and paginate through results.
visit("https://workatastartup.com/jobs")
wait_for(".job-listing")
jobs = find_elements(".job-listing")
for job in jobs
title = job.find_element(".job-title").text
company = job.find_element(".company-name").text
location = job.find_element(".location").text
link = job.find_element("a").href
record("title", title)
record("company", company)
record("location", location)
record("link", link)
end
# Handle pagination
if exists(".next-page")
click(".next-page")
endAutomate form submission
Fill and submit forms with data from inputs. Handle login flows and multi-step forms.
# Use input data passed to the script
email = inputs["email"]
message = inputs["message"]
visit("https://example.com/contact")
wait_for("form")
type("input[name=email]", email)
type("textarea[name=message]", message)
click("button[type=submit]")
wait_for(".success-message")
screenshot("confirmation.png")How it works
Write your script
Use the DSL to define navigation, interactions, and data extraction.
Run in the cloud
Execute on demand or on a schedule. Watch via VNC if needed.
Get your data
Download results as CSV/JSON or fetch via API.
Pricing
Usage-based pricing. 1 credit = 1 second of browser time.
Start with 500 free credits — no credit card required.
How credits work
1 credit = 1 second
Pay for actual browser runtime. Credits deducted when script completes.
VNC preview: +25%
Watch your script run live. Useful for debugging and development.
Proxy: +50%
Use our proxy network for geo-targeting. Bring your own at no extra cost.
Start automating
Create an account to get 500 free credits. No credit card required.
Questions? [email protected]