Maxun: The No-Code Scraper That Treats Web Automation Like a Runtime

A deep dive into the interpreter, browser heuristics, and self-hosted infrastructure that turn fragile scraping scripts into a platform.

9 min read • View on GitHub • More from getmaxun

A wide editorial scene of a human operator pulling a single workflow lever while browser windows, data blocks, and pipeline components move behind glass. On one side, snapped CSS selector threads lie scattered; on the other, structured output flows through an orderly assembly line. The image explains Maxun as a runtime for web automation, not a simple recorder.
Maxun’s core idea is not point-and-click scraping. It is turning a visual workflow into something a runtime can execute, validate, and recover.
Key Takeaways

Most scraping tools promise speed. Maxun promises something more interesting: a way to make web automation feel structured, inspectable, and durable. That shift matters because the hard part of scraping is rarely the first run. It is the hundredth run, after the site changes, the selector breaks, or the job needs to run unattended.

The big idea: scraping as a runtime

Maxun does not ask users to write a Playwright script and then babysit it. It asks them to describe intent through a visual workflow, then turns that workflow into an execution plan. That makes the product feel closer to a browser VM for non-programmers than a traditional scraper.

Maxun is the web access layer for AI.We make it easy to turn websites into structured data — without writing code, maintaining brittle scripts, or dealing with complex scraping infrastructure.

Maxun Website, Project Documentation · About Maxun

That framing is not marketing fluff. In the codebase, the center of gravity sits in maxun-core, where a workflow file is interpreted step by step. The UI is the front door. The runtime is the product.

{
  "workflow": [
    { "where": "url matches", "what": "click login" },
    { "where": "selector exists", "what": "extract list" }
  ]
}

Inside the workflow interpreter

The core abstraction is simple and powerful: a sequence of Where / What pairs. The interpreter reads a workflow file, checks the current browser state, and executes the next action only when the conditions are satisfied. That gives Maxun a declarative feel. You describe the goal, and the runtime decides when each step is safe to run.

Maxun turns visual actions into a validated execution pipeline, then runs that plan through a browser session with runtime controls.

That structure also explains why abort handling and concurrency matter here. A scraper that cannot stop cleanly is a liability. A workflow engine that cannot manage a browser session predictably is just a nicer way to lose track of failures.

A close-up view of a dense browser page filled with repeated product cards. Invisible measurement lines, contour overlays, and grouped clusters show how the system identifies repeated items and likely content regions. The image explains Maxun’s browser-side heuristics for finding structure on messy pages.
Maxun’s browser-side logic looks for structure, not just selectors. That makes it more resilient when pages are noisy or repetitive.

Why no-code scraping usually breaks

Traditional scraping fails for boring reasons. Static selectors drift. Pagination changes shape. Login states introduce branches. Infinite scroll hides content behind timing problems. The first extraction succeeds, then the site changes by one class name and the whole thing falls apart.

Failure modeSelector scriptMaxun approach
Layout shiftHard-coded CSS breaksWorkflow and structural heuristics can re-anchor the step
PaginationManual looping logicInterpreter can manage step order and execution state
Login flowCustom code for each siteBrowser session and runtime controls keep state together
Long-running jobsAd hoc retriesQueue, storage, and browser pooling handle persistence

That comparison is the real context for Maxun. It is not trying to make scraping prettier. It is trying to make it survive contact with the web.

It’s surprising that in 2024, scraping data is still more complicated than actually using it. The last time I tried existing providers, I realized they mostly cater to technical users or big corporations with too much $ in the bank.

The browser-side trick that makes it smarter than a recorder

The clever part is not that Maxun can click buttons. It is that the injected browser-side logic tries to infer which elements matter by combining DOM structure with visual cues like size and repeated patterns. That is a very different mental model from “record the selector I clicked.”

In practice, this means repeated cards on a page can be treated as a cluster rather than isolated elements. The system is not only asking, “What selector did the user touch?” It is also asking, “What shape does the page itself suggest is data?”

How Maxun keeps the system from falling apart

Maxun’s reliability story is infrastructure-heavy in the best way. The workflow passes through validation before it reaches the browser. Parameters get injected cleanly. Browser instances are pooled. Jobs are queued. Outputs land in object storage and PostgreSQL instead of vanishing into process memory.

LayerWhat it doesWhy it matters
PreprocessorValidates workflow schema and injects parametersPrevents malformed instructions from reaching execution
BrowserPoolReuses browser resources across jobsCuts overhead without giving up isolation
pg-bossSchedules and manages jobs in PostgresMakes long-running work more durable
MinIOStores screenshots and HTML artifactsKeeps large outputs portable and scalable

This is why Maxun reads as a platform instead of a helper library. The system is built to absorb failure, not just expose an API.

Maxun’s place in the scraping landscape

Maxun sits in an awkward but useful middle. Compared with Playwright, it removes code and gives you a visual control layer. Compared with Firecrawl and Crawl4AI, it gives you more explicit runtime control and a self-hosted operating model. Compared with brittle custom scripts, it gives you validation, pooling, and a cleaner path from intent to execution.

ProjectBest forTrade-off
PlaywrightCode-first browser automationYou own the scripting and the maintenance
FirecrawlAPI-first AI scrapingLess visual control and less runtime transparency
Crawl4AILLM-oriented crawlingMore developer-facing than workflow-facing
MaxunVisual, self-hosted web automationYou trade some raw code flexibility for a higher-level runtime

That position is specific enough to matter. Maxun is not trying to out-library Playwright or out-API Firecrawl. It is trying to own the middle layer where non-technical users, ops-heavy teams, and fast-moving builders all want the same thing: structured web data without building the whole machine.

Why this matters

Maxun reflects a broader shift in web automation. The winning abstraction is no longer just a selector or a script. It is a layered system that validates intent, interprets execution, inspects the page structurally, and keeps the job alive long enough to finish.

That is the real story here. Maxun makes scraping feel less like brittle automation and more like software infrastructure. If that idea keeps spreading, the next generation of web extraction tools will look less like snippets and more like runtimes.