# n8n Integrations Scraper - Automation App Data (`benthepythondev/n8n-integrations-scraper`) Actor

Scrape n8n integrations pages and extract app/integration names, URLs, categories and workflow automation metadata.

- **URL**: https://apify.com/benthepythondev/n8n-integrations-scraper.md
- **Developed by:** [Ben](https://apify.com/benthepythondev) (community)
- **Categories:** Automation, Developer tools, Business
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $2.50 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

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 Integrations Scraper - Automation App Data

Scrape n8n integrations pages and extract app/integration names, URLs, categories and workflow automation metadata. Export to JSON/CSV/Excel, run on a schedule, call via API, or connect to Make, Zapier or n8n.

### What is the n8n Integrations Scraper?

The n8n Integrations Scraper turns public integrations pages into structured rows that are easy to filter, enrich, deduplicate and send into a CRM, spreadsheet, dashboard, data warehouse or monitoring workflow. It is designed for the same workflows that make marketplace, jobs, SaaS, app-directory and lead-generation actors valuable on Apify: finding targets, tracking categories, comparing competitors, building prospect lists and keeping a repeatable dataset fresh.

Instead of manually opening directory pages and copying names one at a time, paste one or more source URLs and let the actor collect the public listing data. The actor uses direct HTTP requests and structured-page extraction, so it stays lightweight and cost-effective. Defaults are intentionally small and reliable for Apify health checks, while `maxResults` lets you expand the run when you need more records.

#### What data does it extract?

- **title** - listing, app, course, job, software, template or integration name
- **url** - absolute URL to the listing when available
- **description** - public listing text, snippet, card text or structured description
- **company** - company, vendor, publisher or organization when exposed by the source
- **kind** - high-level source type such as apps, jobs, templates or courses
- **source** - actor/source identifier for downstream joins
- **source_url** - final page URL fetched after redirects
- **input_url** - URL you provided in the actor input
- **raw** - structured JSON object when the source exposes JSON data

### Input

| Field | Type | Description |
| --- | --- | --- |
| `searchUrls` | array | Source directory, search or category URLs to scrape. |
| `maxResults` | integer | Maximum rows to return per input URL. Keep this small for tests and larger for production runs. |

#### Example input

```json
{
  "searchUrls": ["https://n8n.io/integrations/"],
  "maxResults": 25
}
````

### Output

```json
{
  "source": "n8n-integrations-scraper",
  "kind": "integrations",
  "index": 1,
  "title": "Example listing title",
  "company": "Example company",
  "url": "https://example.com/listing",
  "description": "Public listing text extracted from the page.",
  "input_url": "https://n8n.io/integrations/",
  "source_url": "https://n8n.io/integrations/"
}
```

### Use cases

💼 **B2B lead generation** - collect public app, software, company, course or job listings that can become account lists, enrichment targets or outbound segments.

📊 **Market research** - compare categories, vendors, templates, integrations and marketplaces over time without rebuilding a custom crawler for every run.

🔎 **Competitive intelligence** - monitor new listings, content changes, app launches, integration directories and category pages on a schedule.

⚙️ **Workflow automation** - send fresh directory rows to Google Sheets, Airtable, Notion, HubSpot, Salesforce, Make, Zapier, n8n or your own API.

### Production tips

For best results, start with the default input and confirm the first run returns the fields you need. Then widen the source URLs, category pages or search pages and raise `maxResults` gradually. This keeps the run predictable, avoids noisy datasets and makes it easier to compare changes between scheduled runs.

The actor is designed for repeatable business workflows rather than one-off copy and paste work. Use a saved task when you need the same source checked daily or weekly. Add a webhook when you want each finished dataset to flow into Make, Zapier, n8n, Slack, Google Sheets, Airtable, BigQuery or your own backend. The output fields stay stable so downstream automations can depend on `title`, `url`, `description`, `company`, `source_url` and `input_url`.

When using the data for lead generation or market research, deduplicate by `url` first, then enrich the remaining rows with your own CRM fields, tags, owner assignment, notes or scoring rules. For monitoring use cases, store each run separately and compare the current dataset with the previous one to find newly added listings, removed listings and changed descriptions.

### Data quality notes

This scraper reads public pages and public JSON/structured data when the source exposes it. Some directories use mixed layouts: featured cards, category links, sponsored placements and normal organic listings can appear on the same page. The actor keeps a conservative extraction strategy so it returns useful rows while avoiding low-value navigation links where possible.

Every run records both the original `input_url` and the final `source_url`, which helps when a website redirects a category page, localizes content, or changes pagination. Keep those fields when exporting to a warehouse or spreadsheet; they make debugging and deduplication much easier later.

The default result limit is intentionally small so Apify health checks finish quickly and reliably. For larger collection jobs, run a small sample first, inspect the dataset, then increase `maxResults` and schedule the actor only after the output matches your workflow.

### Why use this actor?

You can always write a custom script for one page, but maintaining dozens of small scripts is where teams lose time. This actor gives you a packaged Apify workflow: hosted execution, scheduling, logs, datasets, API access, exports, webhooks and pay-per-result billing in one place. That makes it practical for ongoing competitive tracking, prospect list building and category monitoring without maintaining servers.

### FAQ

**Does this actor need a login?** No. It is built for public pages and does not require a username, password or private session.

**Can I scrape multiple URLs?** Yes. Add multiple `searchUrls` and the actor will process each one in the same run.

**Can I increase the number of results?** Yes. Raise `maxResults` when you need more rows. For quick tests, keep it low.

**Does it use a browser?** No. The actor uses direct HTTP requests and structured extraction, which keeps it faster and cheaper than browser automation.

**What if the website changes layout?** The actor combines structured JSON discovery, JSON-LD parsing and semantic listing extraction. If a source changes heavily, rerun with a small test first.

**Is this legal?** This actor extracts publicly available information. You are responsible for using the data lawfully and respecting applicable privacy, database, copyright, GDPR, CAN-SPAM and platform rules.

**Can I schedule it?** Yes. Use Apify schedules to refresh a marketplace, job search, template page or directory every hour, day or week.

**Can I export to CSV or Excel?** Yes. Apify datasets support JSON, CSV, Excel, XML and API access.

**Can I use it for lead scoring?** Yes. The rows can be enriched with contact extractors, website checks, traffic data, CRM fields or your own scoring model.

**Why does it return fewer rows than the page visually shows?** Some sites render extra items only in the browser or after scroll. This actor prioritizes reliable public data available in the initial response.

### You might also like

- [Website Contact Extractor](https://apify.com/benthepythondev/website-contact-extractor)
- [Google Maps Email Scraper](https://apify.com/benthepythondev/google-maps-email-scraper)
- [Y Combinator Companies Scraper](https://apify.com/benthepythondev/y-combinator-companies-scraper)
- [StepStone Scraper](https://apify.com/benthepythondev/stepstone-scraper)

**Keywords:** n8n integrations scraper, integrations scraper, n8n integrations scraper, marketplace scraper, directory scraper, lead generation data, competitor intelligence, business directory API, app marketplace scraper, SaaS directory scraper, jobs data scraper, structured web data, Apify actor, CSV export, JSON API, automation workflow

### Support and feedback

If this Actor saves time in your workflow, please leave a short Apify Store review. Reviews help other users evaluate the tool and help prioritize maintenance. If a source changes or a field stops populating, open an Actor issue with the run ID, public input, and expected field. Never include passwords, private cookies, or confidential data.

# Actor input Schema

## `searchUrls` (type: `array`):

Directory, search or category URLs to scrape.

## `maxResults` (type: `integer`):

Maximum rows to return for each input URL.

## Actor input object example

```json
{
  "searchUrls": [
    "https://n8n.io/integrations/"
  ],
  "maxResults": 10
}
```

# Actor output Schema

## `results` (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 = {
    "searchUrls": [
        "https://n8n.io/integrations/"
    ],
    "maxResults": 10
};

// Run the Actor and wait for it to finish
const run = await client.actor("benthepythondev/n8n-integrations-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 = {
    "searchUrls": ["https://n8n.io/integrations/"],
    "maxResults": 10,
}

# Run the Actor and wait for it to finish
run = client.actor("benthepythondev/n8n-integrations-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 '{
  "searchUrls": [
    "https://n8n.io/integrations/"
  ],
  "maxResults": 10
}' |
apify call benthepythondev/n8n-integrations-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "n8n Integrations Scraper - Automation App Data",
        "description": "Scrape n8n integrations pages and extract app/integration names, URLs, categories and workflow automation metadata.",
        "version": "1.0",
        "x-build-id": "ewSMoGIfvHSVafq3x"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/benthepythondev~n8n-integrations-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-benthepythondev-n8n-integrations-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/benthepythondev~n8n-integrations-scraper/runs": {
            "post": {
                "operationId": "runs-sync-benthepythondev-n8n-integrations-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/benthepythondev~n8n-integrations-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-benthepythondev-n8n-integrations-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",
                "properties": {
                    "searchUrls": {
                        "title": "Search URLs",
                        "type": "array",
                        "description": "Directory, search or category URLs to scrape.",
                        "default": [
                            "https://n8n.io/integrations/"
                        ],
                        "items": {
                            "type": "string"
                        }
                    },
                    "maxResults": {
                        "title": "Max results per URL",
                        "minimum": 1,
                        "maximum": 1000,
                        "type": "integer",
                        "description": "Maximum rows to return for each input URL.",
                        "default": 10
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
