> ## Documentation Index
> Fetch the complete documentation index at: https://help.lobstr.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Connect lobstr.io to n8n and automate your scraping workflows

> Install the official lobstr.io node in n8n to create Squids, add tasks, launch runs, and pull scraped results — plus a trigger node that fires the moment a run finishes.

lobstr.io has an **official n8n node**, verified by n8n. It comes as a package with two nodes:

* **lobstr.io** — the action node. Create Squids, add tasks, launch runs, and fetch results.
* **lobstr.io Trigger** — starts a workflow the moment a run finishes, fails, pauses, or resumes.

Between them you can build a full pipeline — scrape, then route the data anywhere n8n connects to — without writing a line of code.

## Before you start

* A [lobstr.io account](https://app.lobstr.io) with credits.
* n8n **1.57.0 or newer**, running Node.js 20.15 or newer.
* Your lobstr.io **API key** — see [how to find your API key](/getting-started/api-key).

## Watch the setup walkthrough

<iframe width="100%" height="420" src="https://www.loom.com/embed/d957b4c90a3f404d9226734a142aaacf" frameborder="0" allowfullscreen />

## Install the node

lobstr.io is a **verified** n8n node, so you install it the same way on n8n Cloud and on self-hosted n8n:

<Steps>
  <Step title="Open the nodes panel">
    Click the **+** in the top-right of the canvas.
  </Step>

  <Step title="Search for lobstr.io">
    Type `lobstr.io`. The node appears in the results with a verified badge.
  </Step>

  <Step title="Install it">
    Click it and confirm the install. Both nodes — **lobstr.io** and **lobstr.io Trigger** — are added together.
  </Step>
</Steps>

<Note>
  The package is published as `@lobstrio/n8n-nodes-lobstr`. You only need that name if you're installing manually on a locked-down self-hosted instance — otherwise search is all it takes.
</Note>

## Add your credentials

<Steps>
  <Step title="Copy your API key">
    Open the **API** menu in your [lobstr.io dashboard](https://app.lobstr.io/dashboard/api) and click **Copy**.

    <Frame>
      <img src="https://mintcdn.com/lobstrio-8dcae32c/lanZnXBNnxHNeAbm/images/integrations/get_api_key.png?fit=max&auto=format&n=lanZnXBNnxHNeAbm&q=85&s=24927a4ac6175233505fd09f6d49ae85" alt="Copy your lobstr.io API key from the API menu in the dashboard" width="1443" height="620" data-path="images/integrations/get_api_key.png" />
    </Frame>
  </Step>

  <Step title="Create the credential in n8n">
    Add a lobstr.io node to a workflow, then create a new **lobstr.io API** credential and paste the key.
  </Step>

  <Step title="Save">
    n8n verifies the key against lobstr.io as you save, so you'll know immediately if it's wrong.
  </Step>
</Steps>

<Warning>
  Your API key grants full access to your lobstr.io account. Treat it like a password — never paste it into a shared workflow or an exported template.
</Warning>

## What the node can do

| Resource    | Operations                                             |
| ----------- | ------------------------------------------------------ |
| **Crawler** | Get, Get Many, Get Parameters                          |
| **Squid**   | Create, Delete, Empty, Get, Get Many, Update           |
| **Task**    | Create, Delete, Get Many                               |
| **Run**     | Abort, Get, Get Many, Start, **Start and Get Results** |
| **Result**  | Get Results, by Squid or by run                        |
| **User**    | Get Balance, Get Profile                               |

<Tip>
  **Get Parameters** on the Crawler resource tells you exactly which task and Squid parameters a given scraper accepts. Use it when you're not sure what to feed a crawler you haven't used before.
</Tip>

## The two ways to run a scrape

### Synchronous — Start and Get Results

**Run** → **Start and Get Results** launches the run, polls until it finishes, and outputs the scraped rows as items. One node, data comes out the other side. This is the simplest option and the right default for short scrapes.

This walkthrough does the whole thing inside n8n — providing the input, triggering the run, and collecting the results:

<iframe width="100%" height="420" src="https://www.loom.com/embed/a2dac84154784bd2b21eb19d4b7231d6" frameborder="0" allowfullscreen />

Or follow it as steps:

<Steps>
  <Step title="Squid → Create">
    Pick a crawler, for example Google Maps Search Export, and create a Squid.
  </Step>

  <Step title="Task → Create">
    Add your tasks — URLs or search parameters, depending on what the crawler accepts.
  </Step>

  <Step title="Run → Start and Get Results">
    Launch it and get the scraped data back as items.
  </Step>
</Steps>

Three options control the wait:

| Option                      | Default   | What it does                                      |
| --------------------------- | --------- | ------------------------------------------------- |
| **Max Results**             | `0` (all) | Caps how many rows come back                      |
| **Poll Interval (Seconds)** | `10`      | How often the node checks whether the run is done |
| **Wait Timeout (Seconds)**  | `600`     | How long it waits before failing                  |

### Event-driven — the trigger node

For long runs, split it in two: let the trigger node wake the workflow when the run finishes, then fetch the rows. This is the most common way people use the node.

<iframe width="100%" height="420" src="https://www.loom.com/embed/6e31b796be8a468a81e8b7b5a056b436" frameborder="0" allowfullscreen />

<Steps>
  <Step title="Add the lobstr.io Trigger node">
    Select the Squid you want to watch and pick the events. The default is **run.done**, which is what most workflows want.

    | Event         | Fires when                                      |
    | ------------- | ----------------------------------------------- |
    | `run.done`    | The run finished successfully                   |
    | `run.error`   | The run crashed with an error                   |
    | `run.paused`  | The run was halted, e.g. account limits reached |
    | `run.running` | The run started or resumed                      |
  </Step>

  <Step title="Fetch the rows">
    Add a lobstr.io node set to **Result** → **Get Results**, filtered by run, using `{{ $json.id }}` from the trigger event.
  </Step>

  <Step title="Send the data on">
    Add whatever destination you need — a CRM, a database, a sheet, a Slack message.
  </Step>
</Steps>

<Warning>
  Activating the trigger **replaces any webhook delivery already configured** on that Squid. If you've set up a webhook in the Squid's Delivery panel pointing somewhere else, it will be overwritten.
</Warning>

## Things to know

* **Launching a run spends credits**, and an n8n trigger can fire far more often than you'd click Launch by hand. Put a filter or a schedule in front of the node so a runaway workflow doesn't drain your balance.
* **Runs launched from n8n are ordinary runs.** They appear in your dashboard, count against your [slots](/core-concepts/slots), and spend the same [credits](/core-concepts/credits).
* **Every run re-processes every task** in the Squid's list. To scrape only new inputs, use **Squid** → **Empty** and add fresh [tasks](/core-concepts/tasks) before launching.
* **Results expire** after 28 days on paid plans and 7 days on the free plan — fetch them before then.

<Note>
  If all you want is the data in a spreadsheet or a bucket, you don't need n8n: lobstr.io can [export to Google Sheets](/integrations/google-sheets) or [Amazon S3](/integrations/amazon-s3) on its own. Reach for n8n when the data needs transforming, enriching, or routing to several places at once.
</Note>
