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

# Olostep + n8n

> Add web scraping, search, batch jobs, crawls, and site maps to any n8n workflow, no code required.

The verified [Olostep Web Scraper node](https://n8n.io/integrations/olostep-web-scraper/) gives you six operations inside n8n's visual builder: scrape a URL, search the web, get AI answers, batch-scrape thousands of URLs, crawl a site, or map all its links.

[View on n8n →](https://n8n.io/integrations/olostep-web-scraper/)

## Before you start

* **An Olostep account with an API key:** [get one free](https://olostep.com/dashboard), no credit card required. Your first 500 credits are included.
* **n8n running:** either [n8n Cloud](https://n8n.io/cloud/) or a self-hosted instance. Community nodes must be enabled (they are by default on most setups).
* **No coding required:** everything in this guide is done through n8n's visual editor.

***

## Setup

<Steps>
  <Step title="Search for the Olostep node">
    Open any workflow, click **+**, and search for **Olostep**. Select **Olostep Web Scraper** from the results.

    <img src="https://mintcdn.com/olostep-58/dxAYTC_H6gJN108B/images/integrations/n8n/step-1.png?fit=max&auto=format&n=dxAYTC_H6gJN108B&q=85&s=dee8769fcd2a85836d8fb16c12f577ba" alt="Search for Olostep in the n8n node picker" width="1602" height="1114" data-path="images/integrations/n8n/step-1.png" />
  </Step>

  <Step title="Install the node">
    Click the result to open the Node details panel, then click **Install node**. n8n will install `n8n-nodes-olostep` and prompt you to restart. Do that before continuing.

    <img src="https://mintcdn.com/olostep-58/dxAYTC_H6gJN108B/images/integrations/n8n/step-2.png?fit=max&auto=format&n=dxAYTC_H6gJN108B&q=85&s=2721be5e49905b7428c6a082ed73dd18" alt="Olostep Web Scraper node details with Install node button" width="1602" height="1114" data-path="images/integrations/n8n/step-2.png" />

    <Note>
      If **Community Nodes** is disabled for your workspace, an admin needs to enable it first. See the [n8n community nodes guide](https://docs.n8n.io/integrations/community-nodes/installation/).
    </Note>
  </Step>

  <Step title="Add your API key">
    Open the Olostep node in your workflow, click **Set up Credential** (in the Parameters tab), add your API key, and click **Save**.

    <img src="https://mintcdn.com/olostep-58/dxAYTC_H6gJN108B/images/integrations/n8n/step-3.png?fit=max&auto=format&n=dxAYTC_H6gJN108B&q=85&s=ce6d9f0d70ee4f4a8f167bf1909b7c8d" alt="Olostep credentials form in n8n with API Key field" width="1742" height="1114" data-path="images/integrations/n8n/step-3.png" />

    Get your key from the [Olostep dashboard →](https://olostep.com/dashboard)
  </Step>

  <Step title="Wire it up and run">
    Connect the Olostep node to a trigger and any downstream steps, then execute your workflow.

    <img src="https://mintcdn.com/olostep-58/dxAYTC_H6gJN108B/images/integrations/n8n/step-4.png?fit=max&auto=format&n=dxAYTC_H6gJN108B&q=85&s=bf0a711ca890d85ed1b8915c50035697" alt="n8n workflow canvas with Schedule Trigger connected to Olostep node" width="1742" height="1114" data-path="images/integrations/n8n/step-4.png" />
  </Step>
</Steps>

***

## Actions

<CardGroup cols={2}>
  <Card title="Scrape Website" icon="file-lines">
    Pull content from any URL as Markdown, HTML, JSON, or plain text. Handles JS-rendered pages with optional wait times and country targeting.
  </Card>

  <Card title="Search" icon="magnifying-glass">
    Run a web search and get structured results (titles, URLs, and snippets) as JSON.
  </Card>

  <Card title="Answers (AI)" icon="sparkles">
    Ask a natural-language question and get an answer with cited sources. Useful before LLM nodes when you need grounded responses.
  </Card>

  <Card title="Batch Scrape URLs" icon="layer-group">
    Submit up to 10,000 URLs in one job, processed in parallel. Returns a `batch_id`; retrieve results asynchronously.
  </Card>

  <Card title="Create Crawl" icon="spider-web">
    Start from a URL, follow links, and scrape all subpages. Good for docs sites, blogs, or full-site ingestion. Returns a `crawl_id`.
  </Card>

  <Card title="Create Map" icon="map">
    Get every URL on a site without scraping content. Use it for discovery before a batch job. Returns a `map_id`.
  </Card>
</CardGroup>

<Note>
  **Batch, Crawl, and Map are async.** Store the returned ID and use a Wait node or a second workflow to retrieve results once processing completes.
</Note>

***

## Example workflow: Lead enrichment from Google Sheets

**What it does:** When you paste a company URL into a Google Sheet, this workflow automatically scrapes the company's website, extracts key information with an AI node, and writes the results back to the same row, turning a blank spreadsheet into a filled-out lead database.

**Nodes used:** Google Sheets trigger → Olostep Scrape Website → OpenAI → Code → Google Sheets update

<img src="https://mintcdn.com/olostep-58/dxAYTC_H6gJN108B/images/integrations/n8n/workflow-example.png?fit=max&auto=format&n=dxAYTC_H6gJN108B&q=85&s=60e725c70903c2b3cf6918f2ca486e70" alt="Lead enrichment workflow in n8n: Google Sheets trigger connected to Olostep, OpenAI, Code, and Google Sheets update nodes" width="868" height="558" data-path="images/integrations/n8n/workflow-example.png" />

***

### Step 1: Set up your Google Sheet

Create a sheet with these columns: `Company URL`, `Industry`, `Description`, `Company Size`, `Enriched`. The workflow reads from `Company URL` and fills in the rest.

### Step 2: Add a Google Sheets trigger

In n8n, add a **Google Sheets** trigger node. Set the event to **Row Added**, point it at your sheet, and set it to watch the `Company URL` column. Now every time you paste a new URL into the sheet, this workflow fires.

### Step 3: Add Olostep Scrape Website

Connect an **Olostep Web Scraper** node after the trigger. Set:

* **Action:** Scrape Website
* **URL:** `{{ $json["Company URL"] }}` (pulls the URL from the new row)
* **Output Format:** Markdown

Markdown works best here because it strips navigation, ads, and boilerplate. The AI node in the next step gets clean prose about the company instead of raw HTML noise.

### Step 4: Add an OpenAI node

Connect an **OpenAI** node. Set the model to `gpt-4o-mini` (fast and cheap for extraction tasks) and use this prompt:

```
You are a sales researcher. Based on the company website content below, extract:
1. Industry (one phrase, e.g. "B2B SaaS", "E-commerce", "Healthcare")
2. One-sentence company description (max 20 words)
3. Estimated company size (Startup / SMB / Mid-market / Enterprise)

Return only a JSON object with keys: industry, description, company_size.

Website content:
{{ $json.markdownContent }}
```

The `markdownContent` field is what Olostep returns from the scrape, as clean plain text.

### Step 5: Parse the AI response and write back

Add a **Code** node to parse the JSON from OpenAI:

```js theme={null}
const parsed = JSON.parse($input.first().json.message.content);
return [{ json: parsed }];
```

Then connect a **Google Sheets** node set to **Update Row**. Map the columns:

* `Industry` → `{{ $json.industry }}`
* `Description` → `{{ $json.description }}`
* `Company Size` → `{{ $json.company_size }}`
* `Enriched` → `Yes`

### What you get

Paste a URL like `https://notion.so` into your sheet, and within \~10 seconds the row fills in:

| Company URL                            | Industry          | Description                                         | Company Size | Enriched |
| -------------------------------------- | ----------------- | --------------------------------------------------- | ------------ | -------- |
| [https://notion.so](https://notion.so) | Productivity SaaS | All-in-one workspace for notes, docs, and databases | Mid-market   | Yes      |

From here you can extend this workflow: add a Slack notification when enrichment completes, filter by industry before writing back, or replace Google Sheets with HubSpot to update contacts directly.

***

## Templates

Ready-to-import n8n workflows built with Olostep:

<CardGroup cols={2}>
  <Card title="Crawl docs → AI knowledge base" icon="book" href="https://www.n8n.io/workflows/13436-crawl-documentation-sites-and-build-an-ai-knowledge-base-with-olostep/">
    Crawl documentation sites with Olostep and structure the output into an AI-ready knowledge base.
  </Card>

  <Card title="Google Maps leads → decision-maker enrichment" icon="map-location-dot" href="https://n8n.io/workflows/11086-scrape-business-leads-from-google-maps-and-extract-decision-maker-info-with-olostep/">
    Scrape business leads from Google Maps and enrich them with decision-maker details.
  </Card>

  <Card title="Mine user complaints → insight report" icon="chart-line" href="https://www.n8n.io/workflows/13435-mine-user-complaints-and-generate-insight-reports-with-olostep-gemini-and-google-docs/">
    Analyze complaints with Olostep + Gemini and generate structured insight reports in Google Docs.
  </Card>

  <Card title="Amazon product extraction → Google Sheets" icon="table" href="https://n8n.io/workflows/11158-extract-amazon-product-data-to-sheets-with-olostep-api/">
    Extract Amazon product URLs and metadata with Olostep, then sync the results to Sheets.
  </Card>
</CardGroup>

[Browse all Olostep workflows on n8n.io →](https://n8n.io/workflows/?q=olostep)

***

## Parsers

Add a parser ID to the **Parser** field on any Scrape or Batch action to get structured data instead of raw content:

| Parser                       | Extracts                                         |
| ---------------------------- | ------------------------------------------------ |
| `@olostep/amazon-product`    | Title, price, rating, reviews, images, variants  |
| `@olostep/google-search`     | Result titles, URLs, snippets                    |
| `@olostep/google-maps`       | Business name, address, rating, reviews          |
| `@olostep/extract-emails`    | Email addresses from any page                    |
| `@olostep/extract-socials`   | Social profile links (X, GitHub, LinkedIn, etc.) |
| `@olostep/extract-calendars` | Google Calendar and ICS links                    |

See the full list in the [Olostep parser store →](https://www.olostep.com/store)

***

## Troubleshooting

<AccordionGroup>
  <Accordion title="API key rejected">
    Copy the key directly from [olostep.com/dashboard](https://olostep.com/dashboard) with no trailing spaces. Delete and recreate the credential in n8n if the error persists.
  </Accordion>

  <Accordion title="Scraped content is empty">
    Increase **Wait Before Scraping** (try 2000–5000ms for JS-heavy pages). Confirm the URL is publicly accessible without a login. If a specific domain is consistently failing, contact [info@olostep.com](mailto:info@olostep.com).
  </Accordion>

  <Accordion title="Batch URL format error">
    The **URLs to Scrape** field expects a JSON array:

    ```json theme={null}
    [
      { "url": "https://example.com/page-1", "custom_id": "p1" },
      { "url": "https://example.com/page-2", "custom_id": "p2" }
    ]
    ```

    Use a Code node upstream to build this array from your data if needed.
  </Accordion>

  <Accordion title="Rate limit hit">
    Add a **Wait** node between scrape steps, or switch to **Batch Scrape URLs** instead of looping single scrapes. Check current usage in the [dashboard](https://olostep.com/dashboard).
  </Accordion>

  <Accordion title="Community Nodes not visible in Settings">
    On n8n Cloud, community nodes must be enabled by a workspace owner. On self-hosted, make sure `N8N_COMMUNITY_PACKAGES_ENABLED=true` is set in your environment. See [n8n's installation guide](https://docs.n8n.io/integrations/community-nodes/installation/).
  </Accordion>
</AccordionGroup>

***

## Related

<CardGroup cols={2}>
  <Card title="Scrapes API" icon="file-lines" href="/features/scrapes">
    Full reference for the scrape endpoint
  </Card>

  <Card title="Batches API" icon="layer-group" href="/features/batches">
    How batch jobs work and how to retrieve results
  </Card>

  <Card title="Crawls API" icon="spider-web" href="/features/crawls">
    Crawl configuration and result retrieval
  </Card>

  <Card title="Maps API" icon="map" href="/features/maps">
    URL discovery and filtering options
  </Card>
</CardGroup>

## Get Started

Ready to automate your web search, scraping, and crawling workflows?

<CardGroup cols={2}>
  <Card title="n8n Website" icon="link" href="https://n8n.io">
    n8n platform
  </Card>

  <Card title="Install the Node" icon="workflow" href="https://www.npmjs.com/package/n8n-nodes-olostep">
    Install n8n-nodes-olostep and start building automated workflows
  </Card>
</CardGroup>

Connect Olostep with n8n and automate your web data extraction today!
