Maxun

No-code web data extraction and scraping platform

Automation & Workflows ★ 17.6k stars Medium setup AGPL-3.0

Maxun is an open-source no-code platform that turns websites into APIs and spreadsheets through point-and-click robots. It handles pagination, scrolling, and scheduled extraction.

Key features

  • No-code scraping robots
  • Turn sites into APIs
  • Scheduled extraction
  • Handles pagination and scroll

Pros & cons

Strengths

  • No-code robot builder
  • Handles pagination and scrolling
  • Scheduled extractions

Trade-offs

  • Relatively young project
  • Site changes break robots

Maxun replaces

Last reviewed Aug 26, 2026 · 844 words

Every Maxun robot has a shelf life. It records where things are on a page, and when the target site ships a redesign, moves a CSS class or adds a cookie banner, the robot returns empty rows until you re-record it. That is not a flaw in Maxun; it is the nature of no-code scraping, and the catalogue flags it for a reason. Plan for it and the tool is a pleasure: a scheduled extraction that turns a site into an API in 10 minutes without writing a selector. Ignore it and you will find out in a month, when a spreadsheet stops updating.

A robot is a recorded browser session, not a script

Maxun runs a real Chromium via Playwright and records you clicking through a page. You mark a list (a grid of products, a table of results), tell it which fields you want, and it infers the pattern and captures every matching row. It handles pagination by having you click "next" once, and infinite scroll by scrolling once, then repeats. There are 3 capture modes: a list, a single block of text, and a screenshot. The output is JSON through the API, a CSV download, or a push to Google Sheets. What you never see is the selector, which is the whole point and also why a broken robot cannot be patched by editing a line; you re-record the step that changed.

Five containers for one scraper, and 2 GB is a floor

The compose stack is the backend, the frontend, Postgres for robots and run history, Redis for the job queue, and MinIO for screenshots and files. The catalogue's 2 GB minimum covers idle; a headless Chromium running a long scroll pushes well past that, so on a shared mini PC give it headroom or set concurrent runs to 1. The frontend and backend are separate ports, and both need to be reachable through your reverse proxy with the frontend told the backend's public URL in its environment. Read the project's .env example line by line; most first-run failures are a mismatched URL rather than a broken container.

git clone https://github.com/getmaxun/maxun.git && cd maxun
cp ENVEXAMPLE .env
docker compose up -d

Scheduling and the API are where it earns its keep

A single run is a party trick. The value is a robot on a schedule (hourly, daily, weekly) whose latest run is available at an endpoint with an API key, so a dashboard, a spreadsheet or an n8n flow reads structured data from a site that never intended to offer any. Webhooks fire on completion. That combination is what people pay Octoparse and its rivals for, and Maxun does it on your hardware with no row limits. The maintenance loop is: alert when a run returns 0 rows, open the robot, re-record the broken step, and move on; 10 minutes per breakage, a few times a year per site.

Scraping someone else's site from a home IP has 2 practical risks. The first is getting blocked: keep schedules polite (daily, not every 5 minutes), honour the site's robots.txt where it draws a line, and route through a proxy if a target is known to be aggressive; Maxun supports configuring one. The second is terms of service. Public data for personal use is one thing; republishing a competitor's prices or scraping behind a login you agreed not to automate is another. Data protection law also applies if the rows contain names. None of this is Maxun-specific, but a tool this easy makes it easy to forget.

Maxun against changedetection, Firecrawl and n8n

You wantPick
To know when a page changeschangedetection
Structured rows from a list or table, no codeMaxun
Clean Markdown of whole pages for an LLM pipelineFirecrawl
To act on the data once it existsn8n, fed by any of the above

The category is crowded because each tool answers a different question. Maxun's niche is the one where you can point at a list and say "that, every day, as rows". If you can write a selector and a fetch() call, a 30-line script in a scheduled container is lighter than 5 containers and just as brittle; Maxun's advantage is for the people who cannot, or who would rather re-record than debug.

What I'd do

Deploy it if you have 2 or more sites you want as data on a schedule and nobody around who enjoys writing scrapers. Run it behind your reverse proxy, set concurrency to 1, keep schedules daily, and wire a zero-row alert through n8n so breakages surface within a day. If the need is a single "tell me when this changes" watch, changedetection does that on 1 container and 128 MB, and I would start there. Maxun belongs in the automation stack as the structured-data source, not as the whole pipeline.

Similar automation & workflows apps