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.

scraper.fy
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)
end

Scrape 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.

Navigation & Interaction
visit("https://example.com")
click("button.submit")
type("input[name=email]", "[email protected]")
wait_for(".results")
scroll_to(".footer")
Data Extraction
element = find_element(".product")
elements = find_elements(".product-card")

title = element.text
href = element.href
src = element.src

record("title", title)
Control Flow
for item in items
  name = item.find_element(".name").text
  record("name", name)
end

if exists(".next-page")
  click(".next-page")
end
Utilities
wait(2)  # wait 2 seconds
screenshot("page.png")
timestamp = now()

# Access input data
url = inputs["url"]

View full Command reference →

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.

e-commerce
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())
end

Scrape job listings

Collect job postings from a board. Filter by keywords and paginate through results.

job boards
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")
end

Automate form submission

Fill and submit forms with data from inputs. Handle login flows and multi-step forms.

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

1

Write your script

Use the DSL to define navigation, interactions, and data extraction.

2

Run in the cloud

Execute on demand or on a schedule. Watch via VNC if needed.

3

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.

Starter

$9.90/month

2,500 credits

~40 min runtime

Pro

Popular
$39.90/month

12,000 credits

~3 hours runtime

Business

$149.90/month

60,000 credits

~16 hours runtime

Enterprise

$499.90/month

240,000 credits

~66 hours runtime

Credits reset monthly. Cancel anytime.

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]