HuluFlow · About 15 minutes

Getting started

Your first workflow: one public list page → selected columns → a table you can open later.

You will not write HTML selectors. You paste a public URL, describe the columns you care about in plain language, let HuluFlow discover those columns, tick the ones to keep, then click Run. Only after that extract looks right should you add store (save rows) and notify (email).

Audience: anyone new to HuluFlow. You need a browser, an email address, and a website you are allowed to collect from that does not require login.

~15 minutes Done when: a browsable dataset
  1. Register
  2. Scrape
  3. Discover
  4. Run
  5. Store

Before you begin

A few checks save time. If any of these fail, pick a different sample URL first.

  • 01 Use a public http(s) list or detail page (no login wall, no CAPTCHA).
  • 02 Prefer a small catalog or directory page so discovery finishes quickly.
  • 03 Free plans include 20 credits / month — runs consume credits by webpage requests.
  • 04 Chinese UI lives under /zh/; English under /. You can switch languages anytime.

Words you will see

You can skip this and come back. These five ideas cover most of the product.

Workflow — the named project that holds your canvas (the pipeline).

Node — one box on the canvas (scrape, URL generator, store, or notify).

Run — one execution of the whole pipeline from left to right.

Dataset — the table filled by a store node; browse it under Datasets or export CSV/JSON.

Credits — the plan pool; 1 credit per webpage request by scrape nodes.

Field discovery — HuluFlow opens your sample URL and proposes columns; you tick what to keep.

Six steps

Each step includes “what you should see” and “if you get stuck” — follow along; you do not need to read everything first.

  1. 01

    Create an account

    Open Register, enter email and a password of at least 8 characters, then submit. You land in the console overview. Free accounts start with 20 credits / month so you can try a full pipeline.

    Log in later from the same site. There is no separate “install” — HuluFlow runs in the cloud. Your workflows keep running on a schedule even when your laptop is closed (once status is active and an interval is set).

    What you should see: Overview shows credit usage, recent workflows, and links to Workflows / Datasets / API keys.

    If you get stuck: Email already registered → use Log in. Wrong language → switch to /zh/ or /. Cannot find the console → after login open Workflows from the app menu.

  2. 02

    Create a workflow and add a scrape node

    Go to Workflows → New workflow. Give it a clear name (for example “Demo list”). Open the editor. Add a scrape node from the palette onto the canvas. Click the node so the right-hand config panel opens.

    Paste one public list URL into the URL field. Set mode to list (many products/rows on one page). In requirement, write the columns you want in everyday words, for example: title, price, product url. You are describing intent — not CSS.

    What you should see: A scrape box on the canvas; config shows URL, list/detail mode, requirement, and Fetch fields.

    If you get stuck: Run returns 402 → out of credits. Upgrade or wait for the next period. Saving the graph does not consume credits.

  3. 03

    Discover fields and tick columns

    Click Fetch fields (or the equivalent discovery action). Wait for the sample to return. You will see proposed columns and a few sample rows. Tick only the columns you need — fewer columns means cleaner tables later. Click Apply / save on the node so fields are stored on the scrape config.

    Saving a scrape preset (reusable node) requires at least one selected field. On the canvas, always Apply after discovery before you rely on Run. If discovery returns nothing useful, change the URL or the requirement text and try again.

    What you should see: A checklist of discovered columns plus sample row values.

    If you get stuck: No fields — the URL must be publicly reachable over http(s). Login pages, soft 404s, and CAPTCHA pages will not discover columns. Try a simpler public list page first.

  4. 04

    Run once and read the output

    Click Run. Wait until the run finishes (the API and console wait for completion). Open the latest run. Each node shows status ok or error, plus input and output. For scrape, output.items is an array of row objects.

    If status is error, open that node’s error message first — it usually says “needs a URL”, quota, or crawl failure. Fix the config, save, and run again. Do not add store until scrape output looks right.

    What you should see: Run status ok/error; scrape output with items you recognize from the page.

    If you get stuck: “Scrape needs a URL” — fill the URL field, or connect a URL generator / upstream link field. Empty items — mode may be wrong (list vs detail) or the page structure changed; re-fetch fields.

  5. 05

    Add a store node and write a dataset

    Add a store node. Draw a connection from the scrape output to the store input. In store config, set key_fields to a stable identity — almost always the product or profile url. Optionally set dataset_name (for example “demo products”). Run again.

    Open Console → Datasets. You should see the table and rows. Later runs with the same key update the same row (upsert) instead of inserting duplicates. That is how monitoring stays clean.

    What you should see: A dataset with row count; opening it shows columns and data.

    If you get stuck: Bad keys (title only) collide when two products share a name. Prefer the unique product URL. If the table is empty, confirm the edge from scrape → store and that scrape produced items.

  6. 06

    Schedule and optional notify

    Set interval_minutes (1440 = once per day, 60 = hourly on plans that allow it). Set status to active so the cloud worker picks it up; paused means only manual Run. Optionally add a notify node after scrape or store: when=new for brand-new rows, or when=field_change with watch_fields like price.

    “Collect” usually means store on every run. “Monitor” is the same graph plus schedule and notify on change. You can export the dataset as CSV or JSON from the dataset page anytime (up to the export row limit).

    What you should see: next_run_at on the workflow when active; optional notify test in node config (dry run does not send mail).

    If you get stuck: No automatic runs — status is paused, or interval is empty (manual only). No email — check when/watch_fields, and that a previous run exists to compare against for “new” / field_change.

Common beginner questions

Do I need to know programming?

No. The console is enough for building, scheduling, browsing tables, and exporting. The API is optional for engineers who want to automate the same steps from another system.

Why did Fetch fields fail on my site?

The crawl engine only works on publicly reachable pages. Sites that require login, block bots aggressively, or show CAPTCHA often fail. Start with a simple public list. You are also responsible for only collecting sites you are allowed to use.

What counts against my plan?

Scrape nodes consume credits when they request pages (1 request = 1 credit). URL generator, store, and notify do not. Saving a graph does not spend credits — running does.

Where do I go next?

Read Concepts for definitions, then the Workflows & nodes guide. In the editor, open the AI chat tab to describe changes to the current graph.

Does saving the canvas spend credits?

No. Credits deduct only when a run’s scrape nodes actually request pages.

Can I skip scheduling at first?

Yes — and you should. Manually run scrape → store until the dataset looks right, then set an interval and switch status to active.

What next

Getting started covers the shortest path. Pick a follow-up based on your goal.