Trawl

n8n

The Trawl community node for n8n lets a workflow list your scraps, run one and read the rows of its last run. It is a thin wrapper over the public Trawl REST API, so it needs nothing but an API key. The node can also be used as a tool by the n8n AI Agent.

Install

On self-hosted n8n, open Settings > Community Nodes, select Install, enter @trawlme/n8n-nodes-trawl and confirm. Only an Owner or Admin can install community nodes. See n8n's own guide, Install community nodes.

n8n Cloud installs community nodes only once n8n has verified them.

Credential

Create a Trawl API credential in n8n:

Field Value
API Key A Trawl API key, starting with trawl_. Create one under Developers → API Keys in the Trawl app.
Base URL https://api.trawl.me (default). Change it only to target another Trawl instance.

The key is sent as Authorization: Bearer <key>. n8n tests it with a one-item scrap list. The scopes the key needs depend on the operation:

Operation Scope
Credential test and the "From List" scrap picker trawl:scraps:read
Get Many trawl:scraps:read
Run trawl:scraps:run
Get Latest Result trawl:scraps:read and trawl:history:read

See API Keys for how scopes work.

Operations

The node has one resource, Scrap, with three operations:

Operation What it does
Get Many Lists your scraps, with an optional text search.
Run Runs a scrap. With Wait for Result on (default), the node waits for the run to finish (it can take a few minutes) and outputs one item per scraped row. With it off, the run is queued and the node outputs { status: "queued", scrapId } at once.
Get Latest Result Outputs the rows of the scrap's last run, one item per row. It never starts a run and uses no run quota.

Pick the scrap from a searchable list, or paste its ID (24 hex characters).

Get Latest Result fails with a clear message when the scrap has never run, when a run is still in progress, when the last run failed, or when the stored data of the last run has aged out.

Run parameters

Parameters (optional JSON, default {}) lets one scrap serve many inputs. Give a JSON object, or an expression that returns one:

JSON
{ "TRAWL.city": "Paris", "TRAWL.limit": 20 }

The object must carry the exact keys of the scrap's stored parameters, as stored (normally TRAWL.<name>), and every key is required, with the same value type as the stored one (a number stays a number, text cannot be empty). A mismatch, such as a bare city when the scrap stores TRAWL.city, fails the run with a 422 (with Full Response on, you get it as statusCode 422). A scrap with no stored parameters ignores the object. With Wait for Result off, the object is not checked up front, and a wrong key fails the run later, silently. TRAWL.url can never be overridden. See Parameters for the full TRAWL.* reference. Invalid JSON, or a value that is not an object, fails the node with an error naming the field.

Output

The Output option of Run has two modes:

  • Rows (default): one item per scraped row.
  • Full Response: one item per call, { statusCode, body }, where body is the raw API JSON { type, message, data }. An HTTP error status (for example a 429 when a run is already in progress) is output, not thrown, so the workflow can branch on statusCode. A network error or a timeout still fails the node.

Empty runs and errors

A successful run with zero rows outputs nothing, and n8n ends the branch there. For scheduled workflows, turn on the node setting Always Output Data so the next nodes still run. Turn on Continue On Fail to get an error as an item instead of stopping the workflow.

Example workflow

Every morning, run a scrap and send its rows on:

  1. Schedule Trigger: every day at 08:00.
  2. Trawl: Resource Scrap, Operation Run, pick your scrap, Wait for Result on.
  3. Any next node (Google Sheets, Slack, a database) receives one item per scraped row.

To read data that a Trawl schedule already collected, use Get Latest Result instead of Run. It costs no run.

To have Trawl push each finished run to n8n instead (Growth and Pro), use a webhook and verify its signature in n8n.

Versions

An installed community node never updates by itself. To get a newer version, update the package on purpose from Settings > Community Nodes, and test your workflows after. Until you do, your workflows keep running the version you installed.

n8n or MCP

For plain scrap runs, use this node. To let an LLM client discover and call Trawl tools, use the MCP server.

See also: API Keys · MCP Server · Webhooks

Next step → Webhooks