# n8n Template Authors · Emails from Their Sites (`corent1robert/n8n-template-author-contacts`) Actor

Export unique n8n template authors with a public email from their website. One author per row: inbox, phone, site, templates. n8n does not list emails — we read the creator site when they publish them. No login. No API key.

- **URL**: https://apify.com/corent1robert/n8n-template-author-contacts.md
- **Developed by:** [Corentin Robert](https://apify.com/corent1robert) (community)
- **Categories:** Lead generation, Integrations, Developer tools
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.40 / 1,000 unique n8n template authors

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/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
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.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — 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 Template Authors · Emails from Their Sites

Export **unique n8n template authors** with a **public email and phone from their website** — **one author per row**, not one row per workflow.

**No login. No n8n API key. No n8n Cloud account.**

**Free plan: 20 unique authors / run.** Paid plans follow your PPE budget.

### What does n8n Template Author Emails do?

This Actor builds an **outreach / partnership file** from the public [n8n workflow templates](https://n8n.io/workflows). Template mills already dump JSON. You want the **people who publish those templates**: **who to email**, **which site they run**, **how many templates they listed**.

n8n **does not list author emails** on the template card (`user.links` is a website or social URL). Each row is that file when the creator publishes it on **their own site**:

- **Public inbox** (`mailto:` or email in the page) from the homepage and contact / legal pages
- **Phone** when they publish a `tel:` link
- **Website, domain, n8n creator URL, template portfolio** in this run

Empty `developerEmail` means the author did not publish an inbox (form / chat / GitHub-only) or the site refused the visit — not a guessed `john@agency.com`. Two templates from the same website stay **one lead**.

### Who is this for?

| You are… | Typical goal | Suggested setup |
|----------|--------------|-----------------|
| n8n / automation agency | Creators already selling templates | Category **Lead Generation**, Find public emails **On** |
| Integration SaaS SDR | Authors who ship HubSpot / CRM workflows | Keyword `hubspot`, cap 20, **Outreach** view |
| Marketplace / partner manager | Verified creators with a site | Verified **Yes**, emails On |
| Outbound / Clay ops | Domain + inbox for CRM | Filter `contactStatus` = `email` |
| Market research | Full public catalog | Mode **Full catalog** (paid); emails Off if you only need domains |

**What you get by default:** unique author, **public email when the creator site lists one**, phone when listed, website, sample template, n8n profile. Official n8n usernames are skipped unless you turn that filter off.

`website_only` only appears when Find public emails is **Off**, or the author listed no crawlable site (GitHub / LinkedIn only). After a site visit with no mailbox the status is `no_contact`.

### How to use

1. Open this Actor in Apify Console.
2. **Step 1 — Mode:** leave **Search** (a niche or a pasted template URL) or switch to **Full catalog** (every unique author, paid).
3. **Step 2 — Search:** leave category **Lead Generation**, type `hubspot`, or paste `https://n8n.io/workflows/11807`.
4. Keep **Find public emails** **On**. Leave **Max authors** at 20 for a first run, then raise it (Search up to 2,000; Full catalog up to 5,000).
5. Click **Start**. Download JSON / CSV / Excel. **Outreach** = first email. **Overview** = email + templates + profile.

### Ready-made Console tasks

Four Actor tasks on your account (Examples tab needs a **public** Actor):

| Example | Console |
|---------|---------|
| Unique n8n Lead Generation template authors with emails | [task](https://console.apify.com/actors/tasks/kMfdB6rUcIXQrHszt) |
| n8n Marketing template authors | [task](https://console.apify.com/actors/tasks/zgB0NiGlc7KewdsS5) |
| n8n AI template authors for outreach | [task](https://console.apify.com/actors/tasks/9pDcqPDWhQaykhsSa) |
| Refresh one author from a template URL | [task](https://console.apify.com/actors/tasks/bXGMm6V3vkEajZvoe) |

When this Actor is Store-public, the same four tasks can land on the **Examples** tab.

### What it extracts

| Field | Why it matters |
|-------|----------------|
| `developerEmail`, `emails`, `emailSource` | Public inbox from the **creator site** (`publisher-website`) |
| `phone`, `phones` | Public `tel:` on the author site |
| `contactStatus` | Filter: `email` / `email_and_phone` vs `no_contact` vs `crawl_failed`. `website_only` = emails Off or no site |
| `publisherName`, `authorUsername`, `website`, `websiteDomain` | Person + clean host for CRM match |
| `templateCount`, `sampleTemplateName`, `sampleTemplateUrl`, `n8nCreatorUrl` | Portfolio + n8n profile |
| `verified`, `githubUrl`, `linkedinUrl`, `twitterUrl` | Badge + socials from `user.links` |
| `websiteFetchUrl`, `scrapedAt` | Which site page produced an inbox |

Not extracted (and not invented): n8n Cloud login emails, guessed `firstname@domain` patterns, workflow JSON, node graphs, or paid-template checkout emails.

### How it works

1. Read public templates (name, views, author, website / socials).
2. Deduplicate by website domain, else n8n username.
3. n8n never lists an inbox on the template.
4. If Find public emails is On, open the creator site (homepage + contact pages).
5. Write unique authors as they become complete — inbox when they published one.

### Input

```json
{
  "coverage": "search",
  "category": "Lead Generation",
  "maxAuthors": 20,
  "websiteEnrichment": "yes"
}
```

| Field | Notes |
|-------|-------|
| `coverage` | `search` or `catalog` |
| `query` | Keyword, `https://n8n.io/workflows/{id}`, or `https://n8n.io/creators/{username}` |
| `category` | Public template category (`Sales`, `Marketing`, `AI`, …) |
| `maxAuthors` | Unique author cap. **0** = no extra cap. Default 20 |
| `skipOfficialN8n` | Default skip official n8n usernames |
| `verifiedOnly` | Optional verified-creators filter |
| `websiteEnrichment` | `yes` / `no` — crawl the author site |
| `proxyConfiguration` | API-only. Cloud runs can pass Apify Proxy if a site blocks datacenter HTTP |

### Output example

```json
{
  "publisherName": "Țugui Dragoș",
  "authorUsername": "tuguidragos",
  "website": "https://tuguidragos.com",
  "websiteDomain": "tuguidragos.com",
  "developerEmail": null,
  "contactStatus": "no_contact",
  "emailSource": null,
  "templateCount": 1,
  "sampleTemplateUrl": "https://n8n.io/workflows/11807",
  "n8nCreatorUrl": "https://n8n.io/creators/tuguidragos"
}
```

`developerEmail` is filled when the creator site publishes a mailbox. Filter `contactStatus` = `email` before a sequencer.

### How much does it cost to scrape n8n template authors?

Pay-per-event on unique **authors** (not per workflow), plus a small charge when a website is opened.

| Scenario | Approx. cost (FREE tier) |
|----------|--------------------------|
| 20 authors, Find public emails On | Start + 20 × $0.002 + crawls × $0.0015 ≈ **$0.08** |
| 1,000 authors with emails On | ~**$3.50** plus compute |
| 1,000 authors, emails Off (domains only) | ~**$2.05** |

Higher Apify subscription tiers pay less per row (down to $0.001 / author). HTTP-only — no browser.

### Is it legal to scrape n8n templates?

This Actor only reads **public** template cards and **public** pages on the creator’s own website. As with any file that may contain personal emails, make sure your use complies with GDPR and similar rules. Do not use the dataset to spam.

### Local development

```bash
cd n8n-template-author-contacts
npm ci
npm test
apify run --purge --input-file=./input.json
```

`storage/` is local-only. Inspect `storage/datasets/default`.

### Also available

**[Zapier Apps · Publisher Emails by Category](https://apify.com/corent1robert/zapier-app-directory-developer-contacts)** — same unique-vendor + website inbox job on Zapier.

### Support

Contact <corentin@outreacher.fr> if you need a custom scraper or tailored automation.

# Actor input Schema

## `coverage` (type: `string`):

**Search (default):** use Step 2 (keyword, template URL, creator URL and/or category).

**Full catalog (paid):** walks public templates into unique authors. Leave Step 2 empty — it is ignored. Free Apify plans cannot use Full catalog.

## `query` (type: `string`):

Examples: `hubspot` · `https://n8n.io/workflows/11807` · `https://n8n.io/creators/tuguidragos`

Leave empty if you only pick a category. **Ignored** when Mode is Full catalog.

## `category` (type: `string`):

Optional, Search mode only. Leave **None** if you already typed a query. **Ignored** when Mode is Full catalog.

## `maxAuthors` (type: `integer`):

**Global** cap of unique author rows (one creator, many templates). Default **20**. Search: up to **2,000**. Full catalog (paid): up to **5,000**. **0** = no extra cap besides your paid plan.

## `skipOfficialN8n` (type: `string`):

**Yes (default):** keep independent creators. **No:** include official n8n usernames if they appear.

## `verifiedOnly` (type: `string`):

**No (default):** all listed authors. **Yes:** keep n8n-verified creators only.

## `websiteEnrichment` (type: `string`):

**On (recommended):** open each author website and export the public inbox and phone when they are on the site. n8n templates never list an email.

**Off:** website + templates only — cheaper if you already enrich domains in Clay.

## `websiteEmailMaxPages` (type: `integer`):

Homepage plus same-origin contact/legal pages when Find public emails is On.

## `verboseLogs` (type: `boolean`):

Add debug lines to the run log.

## Actor input object example

```json
{
  "coverage": "search",
  "category": "Lead Generation",
  "maxAuthors": 20,
  "skipOfficialN8n": "yes",
  "verifiedOnly": "no",
  "websiteEnrichment": "yes",
  "websiteEmailMaxPages": 5,
  "verboseLogs": false
}
```

# Actor output Schema

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

Email, phone, website, templates

## `outreach` (type: `string`):

Inbox and website for a first partnership email

## `dataset` (type: `string`):

All author rows

## `output` (type: `string`):

Authors scraped and filters

## `runLog` (type: `string`):

Live progress

# 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 = {};

// Run the Actor and wait for it to finish
const run = await client.actor("corent1robert/n8n-template-author-contacts").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 = {}

# Run the Actor and wait for it to finish
run = client.actor("corent1robert/n8n-template-author-contacts").call(run_input=run_input)

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

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

```

## CLI example

```bash
echo '{}' |
apify call corent1robert/n8n-template-author-contacts --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,corent1robert/n8n-template-author-contacts"
        }
    }
}

```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/avrvZkRuMqwO7XRzy/builds/zZjwyqfvgbyB25teV/openapi.json
