# n8n Workflow Templates Scraper (`fetch_cat/n8n-workflow-templates-scraper`) Actor

Search and export public n8n workflow templates with categories, integrations, author details, popularity metrics, and optional workflow JSON.

- **URL**: https://apify.com/fetch\_cat/n8n-workflow-templates-scraper.md
- **Developed by:** [Hanna Nosova](https://apify.com/fetch_cat) (community)
- **Categories:** Developer tools, Automation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $0.02 / 1,000 workflow template saveds

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).


# README

## n8n Workflow Templates Scraper

Find and export public n8n workflow templates for automation research, RevOps enablement, agency prospecting, and AI workflow inspiration. Search by keyword, filter by category or integration, and optionally include the importable workflow JSON for deeper analysis.

### What you can do

- Discover reusable n8n workflow templates for a tool, use case, or business process.
- Compare templates by views, author, category, price, and connected integrations.
- Build lead lists of creators and workflow examples for consulting or enablement work.
- Export template metadata to CSV, JSON, Excel, Google Sheets, webhooks, or your own API pipeline.

### Who is it for?

- Automation consultants looking for reusable examples before scoping client work.
- RevOps, SalesOps, and MarketingOps teams researching automations by app or use case.
- Agencies building libraries of proven n8n workflow patterns.
- AI builders comparing agent, lead generation, enrichment, and notification workflows.
- Product teams tracking template popularity and ecosystem integrations.

### Example input

```json
{
  "searchQueries": ["slack", "google sheets"],
  "maxItems": 25,
  "integrations": ["Slack"],
  "sort": "popular",
  "includeWorkflowJson": false,
  "includeAuthorDetails": true
}
````

### Example output

```json
{
  "templateId": 12345,
  "name": "Scrape physician profiles from BrowserAct into Google Sheets and notify Slack",
  "url": "https://n8n.io/workflows/12345",
  "templateDescription": "Scrape physician profiles from BrowserAct to Google Sheets...",
  "totalViews": 3522,
  "price": 0,
  "purchaseUrl": null,
  "createdAt": "2026-01-01T06:03:29.887Z",
  "updatedAt": null,
  "categories": ["Lead Generation"],
  "integrations": ["Code", "Google Sheets", "Slack"],
  "authorName": "Madame AI Team | Kai",
  "authorUrl": "https://n8n.io/creators/madame-ai",
  "sourceQuery": "slack",
  "scrapedAt": "2026-07-09T18:00:00.000Z"
}
```

### Input settings

| Field | Type | Description |
| --- | --- | --- |
| `searchQueries` | array of strings | Keywords to search, such as `slack`, `ai agent`, `crm`, or `google sheets`. |
| `maxItems` | integer | Maximum number of templates to save across all searches. |
| `categories` | array of strings | Optional category name filters, such as `Marketing`, `Sales`, or `Lead Generation`. |
| `integrations` | array of strings | Optional node/integration filters, such as `Slack`, `Gmail`, `OpenAI`, or `Google Sheets`. |
| `sort` | string | `relevance`, `popular`, or `newest`. |
| `includeWorkflowJson` | boolean | Include importable workflow JSON when available. Adds one extra request per saved template. |
| `includeAuthorDetails` | boolean | Include public author username, avatar, bio, verified flag, and links. |
| `proxyConfiguration` | object | Optional proxy settings. Most runs do not need a proxy. |

### Output fields

- `templateId`, `name`, `url`, `templateDescription`
- `totalViews`, `price`, `purchaseUrl`
- `createdAt`, `updatedAt`
- `categories`, `integrations`, `nodes`
- `authorName`, `authorUrl`, optional `authorDetails`
- optional `workflowJson`
- `sourceQuery`, `scrapedAt`

### Pricing

This actor uses pay-per-event pricing:

- Run start: $0.005 per run
- Workflow template saved: tiered from $0.00003912 per result on the Free plan to $0.000013 per result on the Diamond plan. Bronze price is $0.000034017 per result.

You control cost with `maxItems`. A Bronze-plan run saving 1,000 templates costs about $0.039 before Apify platform fees.

### Tips for best results

- Use specific searches such as `slack crm`, `lead generation`, `invoice`, or `ai agent` for focused results.
- Use `integrations` when you need templates that include a specific app or node.
- Enable `includeWorkflowJson` only when you need to inspect or import workflow structure.
- Keep the first run small, then increase `maxItems` once the output shape matches your workflow.

### Limits and caveats

- The actor extracts publicly available n8n workflow template data.
- Very restrictive filters can produce fewer results than `maxItems`.
- n8n may change public template fields over time; missing optional fields are returned as `null` or omitted.
- Workflow JSON is available only when n8n exposes it for the selected template.

### Legality and responsible use

This actor collects public template information from n8n. Use the exported data responsibly, respect n8n's terms, and avoid using author details for spam or unsolicited bulk outreach. If you process personal data, make sure you have a valid legal basis and follow applicable privacy rules.

### API usage

Node.js:

```javascript
import { ApifyClient } from 'apify-client';

const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('fetch_cat/n8n-workflow-templates-scraper').call({
  searchQueries: ['slack'],
  maxItems: 50,
  sort: 'popular'
});

const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);
```

Python:

```python
from apify_client import ApifyClient
import os

client = ApifyClient(os.environ['APIFY_TOKEN'])
run = client.actor('fetch_cat/n8n-workflow-templates-scraper').call(run_input={
    'searchQueries': ['slack'],
    'maxItems': 50,
    'sort': 'popular',
})

items = client.dataset(run['defaultDatasetId']).list_items().items
print(items)
```

cURL:

```bash
curl -X POST "https://api.apify.com/v2/acts/fetch_cat~n8n-workflow-templates-scraper/runs?token=$APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"searchQueries":["slack"],"maxItems":50,"sort":"popular"}'
```

### MCP and agent usage

Use this actor as an Apify tool in agents that need to discover automation examples or workflow templates.

Claude CLI example:

```bash
claude mcp add apify-n8n-workflows --transport http "https://mcp.apify.com/?tools=fetch_cat/n8n-workflow-templates-scraper"
```

MCP JSON configuration:

```json
{
  "mcpServers": {
    "apify-n8n-workflows": {
      "url": "https://mcp.apify.com/?tools=fetch_cat/n8n-workflow-templates-scraper"
    }
  }
}
```

Example prompts:

- "Find popular n8n workflow templates that use Slack and summarize the best options."
- "Search n8n templates for Google Sheets automations and return categories, authors, and URLs."
- "Export workflow template ideas for AI lead generation with author details."

### Related actors

- [GitHub Trending Scraper](https://apify.com/fetch_cat/github-trending-scraper)
- [Hacker News Search Scraper](https://apify.com/fetch_cat/hacker-news-search-scraper)
- [Hugging Face Models Scraper](https://apify.com/fetch_cat/hugging-face-models-scraper)

### FAQ

**Can I export the actual workflow JSON?**\
Yes. Set `includeWorkflowJson` to `true` to include the workflow definition when available.

**Can I filter to only Slack or Google Sheets templates?**\
Yes. Use `integrations`, for example `["Slack"]` or `["Google Sheets"]`.

**Does this actor need a proxy?**\
Usually no. The public n8n template data is accessible with standard HTTP requests.

**Can I scrape private n8n workflows?**\
No. This actor is for public n8n workflow templates only.

### Support

If a run fails or a field is missing, open an issue from the actor page and include your run ID plus the input you used.

### Changelog

- 0.1 — Initial release with keyword search, filters, author details, template metadata, and optional workflow JSON.

# Actor input Schema

## `searchQueries` (type: `array`):

Keywords to search in n8n workflow templates, such as an integration, use case, or automation task.

## `maxItems` (type: `integer`):

Maximum number of workflow templates to save across all searches.

## `categories` (type: `array`):

Only save templates whose n8n category names contain one of these values. Leave empty to include all categories.

## `integrations` (type: `array`):

Only save templates using nodes or integrations that contain one of these names, for example Slack, Gmail, Google Sheets, or OpenAI.

## `sort` (type: `string`):

How to sort templates before saving. Popular sorts by total views; newest sorts by creation date.

## `includeWorkflowJson` (type: `boolean`):

Fetch and include the importable n8n workflow JSON when available. This adds one extra request per saved template.

## `includeAuthorDetails` (type: `boolean`):

Include public author username, avatar, bio, verified flag, and links when available.

## `proxyConfiguration` (type: `object`):

Optional Apify proxy configuration. The public n8n API usually works without a proxy.

## Actor input object example

```json
{
  "searchQueries": [
    "slack",
    "google sheets"
  ],
  "maxItems": 10,
  "sort": "relevance",
  "includeWorkflowJson": false,
  "includeAuthorDetails": true,
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}
```

# Actor output Schema

## `overview` (type: `string`):

No description

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "searchQueries": [
        "slack",
        "google sheets"
    ],
    "maxItems": 10
};

// Run the Actor and wait for it to finish
const run = await client.actor("fetch_cat/n8n-workflow-templates-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "searchQueries": [
        "slack",
        "google sheets",
    ],
    "maxItems": 10,
}

# Run the Actor and wait for it to finish
run = client.actor("fetch_cat/n8n-workflow-templates-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "searchQueries": [
    "slack",
    "google sheets"
  ],
  "maxItems": 10
}' |
apify call fetch_cat/n8n-workflow-templates-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=fetch_cat/n8n-workflow-templates-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "n8n Workflow Templates Scraper",
        "description": "Search and export public n8n workflow templates with categories, integrations, author details, popularity metrics, and optional workflow JSON.",
        "version": "0.1",
        "x-build-id": "YFc9LXrKrJ1rIVatl"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/fetch_cat~n8n-workflow-templates-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-fetch_cat-n8n-workflow-templates-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/fetch_cat~n8n-workflow-templates-scraper/runs": {
            "post": {
                "operationId": "runs-sync-fetch_cat-n8n-workflow-templates-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/fetch_cat~n8n-workflow-templates-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-fetch_cat-n8n-workflow-templates-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "required": [
                    "searchQueries"
                ],
                "properties": {
                    "searchQueries": {
                        "title": "Search queries",
                        "minItems": 1,
                        "type": "array",
                        "description": "Keywords to search in n8n workflow templates, such as an integration, use case, or automation task.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "maxItems": {
                        "title": "Maximum templates",
                        "minimum": 1,
                        "maximum": 10000,
                        "type": "integer",
                        "description": "Maximum number of workflow templates to save across all searches.",
                        "default": 10
                    },
                    "categories": {
                        "title": "Categories",
                        "type": "array",
                        "description": "Only save templates whose n8n category names contain one of these values. Leave empty to include all categories.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "integrations": {
                        "title": "Integrations / nodes",
                        "type": "array",
                        "description": "Only save templates using nodes or integrations that contain one of these names, for example Slack, Gmail, Google Sheets, or OpenAI.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "sort": {
                        "title": "Sort saved templates",
                        "enum": [
                            "relevance",
                            "popular",
                            "newest"
                        ],
                        "type": "string",
                        "description": "How to sort templates before saving. Popular sorts by total views; newest sorts by creation date.",
                        "default": "relevance"
                    },
                    "includeWorkflowJson": {
                        "title": "Include workflow JSON",
                        "type": "boolean",
                        "description": "Fetch and include the importable n8n workflow JSON when available. This adds one extra request per saved template.",
                        "default": false
                    },
                    "includeAuthorDetails": {
                        "title": "Include author details",
                        "type": "boolean",
                        "description": "Include public author username, avatar, bio, verified flag, and links when available.",
                        "default": true
                    },
                    "proxyConfiguration": {
                        "title": "Proxy configuration",
                        "type": "object",
                        "description": "Optional Apify proxy configuration. The public n8n API usually works without a proxy.",
                        "default": {
                            "useApifyProxy": false
                        }
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
