36 operations.
Across six resources: Account, Backend, Circuit, Job, Session and Workload.
Verified n8n community node
Build a circuit. Run it on a real QPU. Act on the result.
Build, run and retrieve quantum circuits on the IBM Quantum Platform, straight from n8n. Verified by n8n, so it installs on n8n Cloud as well as self-hosted.
On n8n’s community nodes screen, enter
n8n-nodes-ibm-quantum
n8n Cloud or self-hosted · Free, MIT License · Unofficial, not affiliated with IBM
da45jem1vhnc73fkj6t0: 2,066 shots read 00 and 1,950 read 11, the two outcomes a Bell state should give. The other 80 are device error.Zero runtime dependencies. No Qiskit, no quantum library, nothing to compile. Circuits travel as OpenQASM 3 text, and your API key becomes a short-lived token that n8n refreshes on its own.
Across six resources: Account, Backend, Circuit, Job, Session and Workload.
In the n8n picker: an action, a trigger for finished jobs, and an AI Agent tool that n8n builds from the action.
Run through the node on three IBM Heron devices, every one listed in the testing record.
With 100% coverage of the node’s logic, enforced by CI rather than reported.
At runtime. No Qiskit, no quantum library, nothing to compile.
Operations
Pick a resource to see what it does, in the words n8n shows. Backend fields are dropdowns filled from your own account, labeled like ibm_kingston (Heron r2, online, 290 queued).
Per plan on the account this instance belongs to: usage limits, allowed backends, session TTLs and functions
List every IBM-API-Version and which one is still live
Read the cost limit set on this instance
Read the plan, limits and backends attached to this instance
Every IBM Quantum instance the API key can see, with the cost limit and allowed backends of each, read from the IBM Cloud Resource Controller
Read seconds consumed against the quota for the current period
Totals for jobs, sessions and usage over a date range, with every usage and queue-time figure in milliseconds
The backend, plan and instance values the analytics filters accept
The same totals, in milliseconds, split by backend, instance, plan, subscription or user
The same totals as a time series, one point per day, in milliseconds
Cap the QPU seconds this instance may spend, or clear the cap, through the IBM Cloud Resource Controller
Static device data: basis gates, coupling map and qubit count
Pulse level defaults; every IBM Cloud device returns an empty object
Pick the online device with the shortest queue
Every device on this instance, with status, qubits and queue
Calibration data: gate errors, readout errors and timings
Live availability, queue depth and any operator message
Assemble an OpenQASM 3 program from a gate list, validated locally
Pass an existing OpenQASM 3 program through, header checked
Stop a queued or running job; queued jobs cost nothing
Remove a job and its results permanently
Read whatever the program wrote to the job log
Recent jobs, newest first, without their circuit payloads
Search the tags in use; the term must be 3 to 100 characters
Timestamps, QPU seconds charged and execution time
Wait for a terminal state, then parse counts or expectation values
The current state of a job, with the failure reason when it has one
Run a circuit and read expectation values of observables
Characterize the noise of a circuit layer
Run a circuit and read measurement counts
Replace the whole tag list on a job
End the session at once: it stops accepting new jobs, queued jobs will not run, and a running job finishes. To let queued jobs drain first, use Set Accepting Jobs instead.
Open a batch or dedicated session on one backend
Read a session state and its remaining time
Stop a session taking new jobs; that ends it and it cannot reopen
Jobs and sessions in one listing, with richer filters
Real hardware
The Qiskit Runtime REST API does not transpile. A textbook h or cx is queued, then fails with reason code 1517, and a failed job still spends quota.
xsxrxrzrzzczmeasureresetdelaybarrieryzhssdgttdgrypucxswapcrxcrycrzccxidIBM lists id as native, yet a job carrying it fails, so the node leaves it out of the program.
The 27 entries of the Circuit › Build palette. Every OpenQASM 3 Submit reads the chosen backend’s basis gates and coupling map first, and warns about an instruction or a qubit pair the device cannot run before the job is queued.
Two identities turn a Bell state into gates the chip runs, with no transpiler at all:
H = rz(π/2) · sx · rz(π/2)CNOT = H · cz · H
Measured on ibm_fez over 2,048 shots: 48.7% 00 and 46.2% 11.
OPENQASM 3.0;
include "stdgates.inc";
qubit[2] q;
bit[2] c;
rz(1.5707963267948966) q[0];
sx q[0];
rz(1.5707963267948966) q[0];
rz(1.5707963267948966) q[1];
sx q[1];
rz(1.5707963267948966) q[1];
cz q[0], q[1];
rz(1.5707963267948966) q[1];
sx q[1];
rz(1.5707963267948966) q[1];
c[0] = measure q[0];
c[1] = measure q[1];Transpile locally with Qiskit, on any plan, then paste the result into the node. A fake backend carries the real device’s topology and gates, so no credentials are needed.
Pin the Submit to the device you transpiled for.
from qiskit import QuantumCircuit, qasm3
from qiskit.transpiler.preset_passmanagers import generate_preset_pass_manager
from qiskit_ibm_runtime.fake_provider import FakeFez # mirrors ibm_fez
backend = FakeFez()
qc = QuantumCircuit(2, 2)
qc.h(0)
qc.cx(0, 1)
qc.measure(0, 0)
qc.measure(1, 1)
isa = generate_preset_pass_manager(optimization_level=1, backend=backend).run(qc)
print(qasm3.dumps(isa)) # paste this into the nodeLong-running jobs
A hardware job can sit in the queue for hours, and IBM offers no push or callback, so something has to poll. The trigger polls on n8n’s scheduler, not inside a held-open execution.
Submits and finishes at once, with the jobId. Nothing blocks.
Fires when a job reaches a terminal state. Get Results returns at once, because the job is already done.
reason, reasonCode and reasonSolution, so a workflow can page someone or resubmit elsewhere.AI Agent tool
Attach the node to an n8n AI Agent and the model calls its operations directly. It fits questions best, where the agent asks and gets a structured answer.
Which QPU has the shortest queue right now?
Backend › Get Least Busy
Which Heron device will start my job soonest?
Backend › Get Least Busy, Rank By an estimated wait, Processor Family Heron
How much runtime is left on my instance?
Account › Get Usage
Which backends and session limits does my plan allow?
Account › Get Account Configuration
Did job d1abc finish?
Job › Get Status, with Include Circuit Params off
Submission works too, but on hardware the agent has to supply a transpiled circuit, so pair it with a circuit built beforehand rather than asking the model to write one.
Quota
The Open plan gives 600 seconds of QPU time per rolling 28 days, and a failed job still spends some of it. The node gives you the brakes.
Caps what one job may spend. Left at zero, IBM stamps the job with the plan maximum, on the Open plan all 600 seconds, so set a real number.
A ceiling for every job on the instance, written through IBM Cloud’s Resource Controller and read back from it. Clear Limit returns the instance to the plan default, on the Open plan 600 seconds.
Keep the jobs of a hybrid loop together instead of sending each back to the general queue. Batch is the only mode the Open plan allows.
Get Usage compares seconds consumed with the limit; the analytics operations break the spend down by backend, plan, user or date.
In the editor
Tested
Every job this project has run on IBM hardware through the node is in its testing record, failed and canceled ones included: most of those were sent to measure exactly how IBM refuses something.
187 completed, 68 failed and 28 canceled, between June 24 and September 10, 2026.
30.0 minutes of real device time, as IBM charged it.
ibm_fez, ibm_marrakesh and ibm_kingston, 156 qubits each.
In 25 files, holding the node’s logic at 100% of statements, branches, functions and lines, a gate CI enforces.
Security
n8n keeps your API key as an encrypted credential. The node reads it in one place, to exchange it with IBM for a short-lived token, and every API call it makes after that has a 30-second timeout.
| Host | Used for |
|---|---|
iam. | Exchanging the API key for a short-lived token |
quantum. | Qiskit Runtime, US East instances |
eu-de. | Qiskit Runtime, EU (Germany) instances |
resource-controller. | IBM Cloud Resource Controller, only for Get Many Instances and Set Cost Limit |
Watch and read
The launch, the n8n verification, and what the three nodes do.
An end-to-end Bell state on a real QPU, including the transpilation step that trips up most first attempts.
What 121 seconds of real QPU time found that green tests and 98 percent coverage could not.
The same rejected program, submitted twenty times, came back as one code eleven times and as the other nine.
An unofficial, community-maintained n8n node for the IBM Quantum Platform. It builds OpenQASM 3 circuits, submits them to Qiskit Runtime on real IBM hardware, reads the results, and starts workflows when jobs finish. n8n has verified it.
No. It is unofficial and community-maintained, and it is not affiliated with, endorsed by, or sponsored by IBM. Every node carries an (Unofficial) marker in the n8n picker.
Yes. It is verified by n8n, so it installs on n8n Cloud as well as on self-hosted n8n: open the community nodes screen and enter the package name, n8n-nodes-ibm-quantum.
An IBM Cloud account with access to the IBM Quantum Platform, an IBM Cloud API key, and the Cloud Resource Name (CRN) of your Qiskit Runtime instance. Self-hosted n8n needs Node.js 24 from n8n 2.36 on; Node.js 22 is enough for n8n 2.35 and older.
Not to run the node: it has zero runtime dependencies. Real hardware accepts only transpiled circuits, though, so for anything beyond the native gates you transpile locally with Qiskit, free on any plan, and pass the result in.
The circuit was not transpiled to the backend’s native gates, or a two-qubit gate landed on a pair the chip does not connect. Build it from native gates, or transpile it for the exact device you submit to. The node warns about both before the job is queued.
No. IBM retired its cloud simulators on May 15, 2024, so every backend is real hardware. To try a circuit without spending quota, simulate it locally with Qiskit first.
Yes. The action node is usable as an n8n AI Agent tool, and on n8n 1.85.0 or newer nothing extra is needed. It fits questions best, such as which QPU has the shortest queue or how much runtime is left.
The node is free and open source under the MIT License. Jobs use your IBM Quantum plan: the Open plan gives 600 seconds of QPU time per rolling 28 days, and a failed job still spends some of it.
Free and open source, under the MIT License.
n8n-nodes-ibm-quantum