Download data from a Neo4J server.

Parameters:

Parameters:
See dedicated page for more information.
Runs a Cypher query against a remote Neo4j server and returns the result rows as a table you can use in downstream steps.
It works over HTTP/HTTPS and also supports running through an HTTP proxy (per your pipeline’s global proxy settings).
Security note
By default Neo4j’s REST endpoint is available over HTTP (port 7474). Credentials sent over HTTP are visible to anyone who can sniff traffic. Prefer HTTPS (often 7473) on your server. This action supports both protocols.
| Field (Id) | What it is | Required | Example |
|---|---|---|---|
| Neo4j Cypher query | The Cypher query to execute. Use MATCH/RETURN, CALL … YIELD, parameters via literal values, etc. |
✅ | MATCH (n) RETURN n LIMIT 100 |
| URL (IP:PORT) | Neo4j REST base URL (IP:PORT) (http(s)://host:port). Do not include /db/… path; the action handles the request path. |
✅ | https://neo4j.mycorp.com:7473 |
| user | Neo4j login / username. | ✅ | neo4j |
| Password | Neo4j password / token (stored as a secret). | ✅ | ••••••• |
| Debug information level | Verbosity of logs. Choose nothing, basic, or verbose. |
Optional | verbose (as in the screenshot) |
| Optional: extra parameters for cURL | Extra cURL options (advanced). Useful for custom headers, proxy overrides, timeouts, etc. | Optional | --max-time 120 |
| Number of retries on connection error | Number of connection retries on network errors. | Optional | 3 (default) |
Output
A table with one row per result record. Column names mirror the keys returned by Neo4j.
RETURN n, you’ll get a single column named n whose values are JSON-like maps of node properties.RETURN n.name, n.age, you’ll get two columns: name, age.MATCH (n) RETURN n LIMIT 100https://neo4j.mycorp.com:7473basicDownstream, use a “JSON expand/flatten” (if available) to unpack the node map from column n into separate columns.
Neo4j Cypher query:
MATCH (p:Person)
WHERE p.country = 'FR'
RETURN p.id AS person_id,
p.name AS name,
p.age AS age
LIMIT 1000
This produces directly consumable columns: person_id, name, age.
Neo4j Cypher query:
CALL db.labels() YIELD label RETURN label
Same rules: you’ll get a label column.
HTTP vs HTTPS:
7474 (HTTP), 7473 (HTTPS).Proxy:
If your environment requires outbound proxy, configure it globally for the pipeline; this action respects those settings.
Authentication:
Uses basic auth with login/password. (If your Neo4j requires tokens, place the token as password or add custom headers via Optional: extra parameters for cURL.)
Large results:
Filter and LIMIT where possible. Return explicit properties rather than full nodes/relationships to keep payloads small.
| Symptom | Likely cause | Fix |
|---|---|---|
Connection refused / timeouts |
Wrong host/port, firewall, proxy not set | Verify URL (IP:PORT), open port 7473/7474, set proxy, increase --max-time in Optional: extra parameters for cURL |
401 Unauthorized |
Bad credentials | Recheck user/Password, account lockout, password rotation |
| TLS/SSL errors | HTTPS with self-signed/old cert | Update certs, or (last resort) add advanced cURL flags in Optional: extra parameters for cURL |
| Empty table | Query returned no rows | Test the Cypher in Neo4j Browser; adjust filters or LIMIT |
| Columns show JSON blobs | You returned nodes/relationships | Return specific properties (see “Return specific properties”) |
Useful debug settings
verbose to print request/response metadata (not secrets).--max-time 120 --retry 3 --retry-connrefused.