The thing that separates n8n, Zapier, and Make isn't features or polish — it's the billing unit. So I wrote 60 lines of Python to find out where the unit actually bites.
I run the entire content pipeline for a small publication on self-hosted n8n: 10 production workflows, around 209 nodes, on a single cloud box. The most-asked question I get about that setup isn't "why n8n" — it's "wouldn't Zapier have been easier?"
Easier, yes. But the reason I didn't reach for a hosted per-task tool has nothing to do with features and everything to do with one number that nobody puts on the comparison page: the billing unit.
So I modeled it. Here's the short version, then the code.
The three tools bill on three different units
- n8n bills per execution — one run of a whole workflow counts as 1, no matter how many nodes it has.
- Zapier bills per task — every action that runs is 1.
- Make bills per operation — every module run is 1 (now metered as credits).
That sounds like a pricing-page footnote. It's actually the whole decision. n8n's own vs-Zapier page states it plainly: a simple two-step workflow and a complex 200-step AI agent both count as one execution — and that same 200-step agent is "up to ~200 tasks" on a per-task tool.
My pipeline is built out of exactly the kind of long workflows that punishes. To make this concrete, here are three real ones:
| Workflow | Nodes | n8n cost per run | Per-task cost per run |
|---|---|---|---|
| SF-2 script generator | 27 | 1 execution | ~27 tasks |
| SF-4 render | 28 | 1 execution | ~28 tasks |
| SF-5 publisher | 33 | 1 execution | ~33 tasks |
SF-2 is a webhook receiving a content ID, a Postgres fetch, a Code node that assembles a prompt, an HTTP call to an LLM, a parser, two guard If nodes, a write-back, and a respond node. Twenty-seven nodes, one execution, done in seconds. Nothing exotic — just a legible chain of small steps. But on a per-task meter, every one of those nodes is a coin in the slot.
The model
No API, no network — just the arithmetic the pricing pages bury. The node→task mapping is 1:1, which is the vendors' own framing (the "200 steps ≈ 200 tasks" line above).
# Entry-tier quotas, verified live 2026-06-29
N8N_STARTER = {"quota": 2_500, "unit": "executions", "price": "€20/mo annual"}
ZAPIER_PRO = {"quota": 750, "unit": "tasks", "price": "$19.99/mo annual"}
MAKE_CORE = {"quota": 10_000, "unit": "operations", "price": "$9/mo annual"}
# n8n Community (self-hosted): unlimited executions, $0 software.
def tier_ceiling(nodes, quota):
"""Max runs/month before a per-unit tool's entry quota is exhausted."""
return quota // nodes
for name, nodes in {"SF-2": 27, "SF-4": 28, "SF-5": 33}.items():
print(name, nodes, "nodes ->",
"n8n:", N8N_STARTER["quota"], "runs |",
"Zapier:", tier_ceiling(nodes, ZAPIER_PRO["quota"]), "runs |",
"Make:", tier_ceiling(nodes, MAKE_CORE["quota"]), "runs")
Output:
====================================================================
ONE WORKFLOW: where its monthly run budget runs out at the entry tier
====================================================================
workflow nodes n8n runs Zapier runs Make runs
SF-2 script generator 27 2500 27 370
SF-4 render 28 2500 26 357
SF-5 publisher 33 2500 22 303
Read the SF-4 row. It's a 28-node workflow. On n8n that's 1 execution per run — 2,500 runs fit the €20 Starter tier, and it's unlimited if you self-host for free. On Zapier's $19.99 Professional plan, those 28 tasks-per-run mean you exhaust the entire 750-task budget at 26 runs a month. Roughly once a day. One workflow. A single moderately-branchy automation, run daily, eats a whole hosted plan.
Now scale it to the whole pipeline
One piece of content doesn't touch one workflow — it flows through all ten. So the real unit of work is "one content item, end to end": ~10 executions on n8n versus ~209 task-equivalents on a per-task tool.
items/mo n8n exec Zapier tasks
50 500 10,450
100 1,000 20,900
250 2,500 52,250
500 5,000 104,500
At 100 content items a month, that's 1,000 n8n executions — comfortably inside the 2,500 Starter tier — versus 20,900 Zapier tasks, which is many tiers above the $19.99 plan. Self-hosted, the n8n number costs $0 in software. And the gap doesn't close as you grow; it widens, because every node you add to a workflow is free on an execution meter and another coin on a task meter.
This is the same shape n8n's marketing claims, but it's worth deriving yourself rather than taking on faith: a 30-step workflow run 1,000 times is 1,000 executions (fine) or 30,000 tasks (a plan several times more expensive). The more your automation actually does, the more lopsided it gets.
The honest other side
I'm not going to pretend the execution meter is a free lunch, because the bill isn't where n8n costs you — the operations are:
- The learning curve is real. It's the top complaint in Capterra reviews, and fair: n8n expects comfort with APIs, JSON, and the occasional line of JavaScript. The moment you need to reshape data between steps, you're in Code-node territory. Zapier's plain-English Copilot will genuinely get a non-coder to a working automation faster.
- Self-hosting is an ops burden you now own. Docker plus Postgres is a ~30-minute stand-up, but you also own the upgrades, the backups, the monitoring, and the occasional 2am debug. A hosted tool absorbs all of that into the price.
- A sizing gotcha: sub-workflow calls, manual test runs, and automatic retries each count as executions too, so "2,500 should be plenty" can surprise you. Model your real run frequency, not your happy-path count.
- "Free" has a license asterisk. The Community edition is source-available under a fair-code license, not OSI open source — you can't resell it as your own hosted service.
For what it's worth, the reliability has held: pulling our live execution history off the n8n API, the last 93 retained executions came back 100% success. For a stack that renders video and posts to three platforms unattended, that's the bar I cared about. But that's my workload. If you're wiring a form to a CRM and a Slack ping, none of this math matters and you should just use Zapier.
The takeaway
"Which automation tool is cheapest" is the wrong question, because the tools don't even bill in the same unit. The right question is does your work look like a few short automations, or a few long ones run often? Short and occasional → the per-task polish of Zapier is worth paying for. Long or high-volume → the execution meter (and the free self-host) is a structural cost advantage that compounds with every node you add.
If you want the full version of that decision across all six tools in the category — who each one is actually for, and how their very different meters play out — I wrote it up in a roundup of the best AI automation tools. The one-line version: the best tool isn't the cheapest, it's the one billed like you build.
The 60-line model is reproducible — clone the quotas, swap in your own workflow node counts, and find your own crossover before you commit to a meter.
Top comments (0)