Skip to main content

Workflows

A workflow chains multiple scraping strategies into a directed acyclic graph (DAG), where the output of one scraper feeds into the next. This lets you build multi-step pipelines like “scrape an index page for links, then scrape each detail page.”

When to use workflows

Use workflows when:
  • You need to scrape pages discovered by a previous scrape
  • Data extraction requires multiple stages (index -> detail -> sub-detail)
  • You want to filter results between stages
  • Different pages need different extraction strategies
Use simple schedules instead when:
  • You’re scraping a single URL or static list of URLs
  • All pages use the same extraction strategy
  • There’s no dependency between scrapes

Key concepts

Nodes

Each node in a workflow represents a scraping operation using a specific strategy. Nodes have one of three input types:

Edges

Edges connect nodes and define data flow. Each edge goes from a source node to a target node. Edges can optionally include filters that control which upstream results are passed downstream.

Filters

Filters let you selectively pass data between nodes. For example, only follow links that contain “article” or skip items where the price is below a threshold. See Post-Extraction Filtering for the full operator reference.
Available filter operators: All string operators accept an optional case_sensitive parameter (default: False).

How workflows execute

  1. Root nodes execute first using their static URLs
  2. Results flow through edges, optionally filtered
  3. Downstream nodes receive URLs or data from upstream
  4. This continues until all leaf nodes complete
  5. Final results are collected from leaf nodes, grouped by URL

Building workflows

Basic chain (A -> B)

Scrape an index page, then follow each link to a detail page:

Fan-out (A -> B, C, D)

One source feeding multiple downstream scrapers:

Filtered pipeline

Only follow links that match a condition:

Multi-stage chain (A -> B -> C)

Change detection

Workflows support change detection through two mechanisms:
  • trigger_on_change_only: When set on an edge, downstream nodes only execute if the upstream results have changed since the last run
  • force: When running a workflow with force=True, change detection is skipped and all nodes re-execute

Scheduling workflows

Workflows can be scheduled to run automatically, just like single-strategy schedules:
See Workflow SDK Reference for all scheduling methods.

Parameters

Nodes can pass parameters to their strategies:

Next steps

Python SDK Reference

Complete workflow class and method documentation

REST API Reference

Workflow endpoints in the REST API

Strategies

Learn about the extraction strategies workflows use

Schedules

Compare with simple scheduled scrapes

Need help?

Email me at mckinnon@meter.sh