# Notion Template Scraper (`maximedupre/notion-template-gallery`) Actor

Find public Notion templates by search, category, trending lists, or gallery URL. Get titles, links, creators, tags, prices, and available popularity data.

- **URL**: https://apify.com/maximedupre/notion-template-gallery.md
- **Developed by:** [Maxime Dupré](https://apify.com/maximedupre) (community)
- **Categories:** Business, Marketing, Other
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $2.70 / 1,000 notion templates

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 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

### 🧩 Find useful Notion templates in one dataset

Made for researchers, creators, and teams, this Actor finds public Notion templates and saves their links, creator details, tags, prices, dates, and available popularity data. Search the gallery, browse a category, check trending templates, or collect known gallery URLs.

- Build a broad catalog with **[Notion Templates](https://apify.com/maximedupre/notion-template-gallery/examples/notion-templates)**.
- Find options that cost nothing with **[Free Notion Templates](https://apify.com/maximedupre/notion-template-gallery/examples/free-notion-templates)**.
- Review popular choices with **[Best Notion Templates](https://apify.com/maximedupre/notion-template-gallery/examples/best-notion-templates)**.
- Find styled dashboards with **[Aesthetic Notion Templates](https://apify.com/maximedupre/notion-template-gallery/examples/aesthetic-notion-templates)**.
- Gather study tools with **[Notion Templates for Students](https://apify.com/maximedupre/notion-template-gallery/examples/notion-templates-for-students)**.
- Find a planning workspace with **[Notion Life Planner Template](https://apify.com/maximedupre/notion-template-gallery/examples/notion-life-planner-template)**.
- Compare work tools with **[Best Notion Templates for Productivity](https://apify.com/maximedupre/notion-template-gallery/examples/best-notion-templates-for-productivity)**.

#### 📦 What data is returned?

Each saved template has its stable ID, title, gallery and template links, preview image, description, category, tags, and publication date. It also has available creator, price, duplicate, like, and rating data. Missing optional values stay `null` or use an empty array.

#### ▶️ How to run the Actor

1. Choose keyword search, category browsing, specific template URLs, or trending templates.
2. Fill in the matching target option.
3. Add optional price, creator, profile, or work-limit settings.
4. Click **Start**. Open the dataset when the run ends.

The Actor saves the first eligible occurrence of each template. If the same template appears again, it is skipped.

#### 🧾 Input

| Field | Type | What it does |
|---|---|---|
| `target` | string | Chooses keyword search, category browsing, specific public template URLs, or trending templates. |
| `query` | string | Sets the words used only for keyword search. |
| `category` | string | Sets the gallery category used only for category browsing. |
| `templateUrls` | array | Lists public Notion Template Gallery URLs used only for the URL target. |
| `price` | string | Keeps free or paid templates for search, category, and trending targets. Leave it empty to keep both. |
| `creatorType` | string | Keeps official or community-made templates for search, category, and trending targets. Leave it empty to keep both. |
| `includeCreatorDetails` | boolean | Adds available creator bios and public social or website links. This may make the run slower. |
| `maxItems` | integer | Stops after this many templates. Leave it empty to return all available results until the source is exhausted. |

Default-input example from a successful run:

```json
{
  "target": "search",
  "query": "project management",
  "includeCreatorDetails": false,
  "maxItems": 3
}
```

Only settings for the chosen target are used. Other target-option values are ignored.

#### 📤 Output

| Field | Type | What it does |
|---|---|---|
| `templateId` | string | Stable public template ID. |
| `title` | string | Template name. |
| `galleryUrl` | string | Public gallery page. |
| `templateUrl` | string or null | Direct public link for opening or duplicating the template. |
| `previewImageUrl` | string or null | Main preview image. |
| `description` | string or null | Public template summary. |
| `category` | string or null | Gallery category. |
| `tags` | array | Gallery topics and labels. |
| `publishedAt` | string or null | Publication date and time. |
| `creator.creatorId` | string or null | Stable public creator ID. |
| `creator.name` | string or null | Public creator name. |
| `creator.profileUrl` | string or null | Public gallery creator profile. |
| `creator.creatorType` | string or null | Whether the creator is official or community-made. |
| `creator.bio` | string or null | Bio when profile details were requested and found. |
| `creator.websiteUrl` | string or null | Website when profile details were requested and found. |
| `creator.socialLinks` | array | Public social profiles found for the creator. |
| `creator.socialLinks[].name` | string | Social site name. |
| `creator.socialLinks[].url` | string | Public social profile URL. |
| `duplicateCount` | integer or null | Visible use or duplicate count. |
| `likeCount` | integer or null | Visible like count. |
| `rating` | number or null | Visible gallery rating. |
| `ratingCount` | integer or null | Number of ratings behind the visible rating. |
| `price.isFree` | boolean or null | Whether the template is free. |
| `price.amount` | number or null | Numeric price. |
| `price.currency` | string or null | Price currency code. |

```json
{
  "templateId": "4b542475-5bd4-436f-a723-bb7247049968",
  "title": "Proofread",
  "galleryUrl": "https://www.notion.com/templates/proofread",
  "templateUrl": "https://notion-templates.notion.site/Proofread-39917954d9c280aa90d3c82c4bd2a1c0",
  "previewImageUrl": "https://s3-us-west-2.amazonaws.com/public.notion-static.com/template/6726f47a-38ca-4c3b-ac64-ea6f899f32a4/1783718357152/desktop.jpg",
  "description": "Tighten and correct a selection or page without changing its meaning.",
  "category": "Project Management",
  "tags": [
    "Writing Skills",
    "Writing",
    "Documentation",
    "Blogging",
    "Editorial Calendar",
    "AI Skills",
    "Life",
    "Hobbies",
    "Docs",
    "Work",
    "Website Building",
    "Marketing",
    "Project Management",
    "Roadmaps & Calendars"
  ],
  "publishedAt": "2026-03-27T06:59:22.929Z",
  "creator": {
    "creatorId": "a5109c3c-545e-4750-82c1-7e81b4e2bec8",
    "name": "Notion",
    "profileUrl": "https://www.notion.com/templates/creators/notion",
    "creatorType": "official",
    "bio": null,
    "websiteUrl": null,
    "socialLinks": []
  },
  "duplicateCount": null,
  "likeCount": null,
  "rating": null,
  "ratingCount": null,
  "price": {
    "isFree": null,
    "amount": null,
    "currency": null
  }
}
```

#### 💳 Pricing

This Actor uses pay-per-event pricing. You are charged for each public Notion template saved to the dataset. Runs that save no templates do not create a template charge.

#### 🔌 Integrations

Use the dataset with the Apify API, webhooks, schedules, Google Sheets, Zapier, Make, or other Apify integrations.

https://www.youtube.com/watch?v=bNACk1\_S\_6w\&list=PLObrtcm1Kw6MUrlLNDbK9QRg8VDJg0gOW\&index=4

#### ❓ FAQ

##### Can it copy a template into my workspace?

No. It returns public gallery data and a direct template link when one is available. It does not copy or import template content.

##### Can it read private Notion templates?

No. It works with public Template Gallery pages only.

##### Are creator, price, and popularity fields always filled?

No. These details are saved when they are available. Missing optional values stay clear instead of being guessed.

##### When should I add creator profile details?

Turn them on when you need available bios, websites, or social links. Leave them off for a simpler run.

##### What happens when I leave the maximum empty?

The Actor returns all available results until the source is exhausted.

### 📝 Changelog

#### 0.0: Initial release

- Find public Notion templates by keyword, category, trending lists, or gallery URL, with links, creator details, tags, prices, dates, and available popularity data.

### 🆘 Support

For issues, questions, or feature requests, [file a ticket](https://console.apify.com/actors/maximedupre~notion-template-gallery/issues) and I'll fix or implement it in less than 24h 🫡

### 🔗 Related Actors

- [Notion Template Gallery Scraper](https://apify.com/crawlerbros/notion-template-gallery-scraper) — Compare another way to collect public gallery listings.
- [Notion Template Scraper](https://apify.com/forlex/notion-template-scraper) — Compare creator, price, and rating exports.
- [Notion Page Scraper](https://apify.com/forlex/notion-page-scraper) — Extract content from known public Notion pages.
- [Notion Uploader](https://apify.com/forlex/notion-uploader) — Send an Apify dataset to a Notion database.
- [Custom Notion System Generator](https://apify.com/primeflowio/notion-template-generator) — Create a custom Notion workspace system.

**Made with ❤️ by Maxime Dupré**

# Actor input Schema

## `target` (type: `string`):

Choose keyword search, category browsing, specific public template URLs, or trending templates.

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

Enter the words to search for. This is used only for Keyword search.

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

Enter a Notion Template Gallery category name. This is used only for Category browsing.

## `templateUrls` (type: `array`):

Add one or more public Notion Template Gallery URLs. This is used only for Specific template URLs.

## `price` (type: `string`):

Show only free or paid templates. Leave this empty to include both. This filter is used by Keyword search, Category browsing, and Trending templates.

## `creatorType` (type: `string`):

Show only official or community-made templates. Leave this empty to include both. This filter is used by Keyword search, Category browsing, and Trending templates.

## `includeCreatorDetails` (type: `boolean`):

Get available creator bios and public social or website links. This may make the run slower.

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

Stop after this many templates. Leave this empty to collect all available results.

## Actor input object example

```json
{
  "target": "search",
  "query": "project management",
  "includeCreatorDetails": false,
  "maxItems": 3
}
```

# Actor output Schema

## `results` (type: `string`):

Open the collected template details, creator data, popularity, and prices.

# 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 = {
    "target": "search",
    "query": "project management",
    "maxItems": 3
};

// Run the Actor and wait for it to finish
const run = await client.actor("maximedupre/notion-template-gallery").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 = {
    "target": "search",
    "query": "project management",
    "maxItems": 3,
}

# Run the Actor and wait for it to finish
run = client.actor("maximedupre/notion-template-gallery").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 '{
  "target": "search",
  "query": "project management",
  "maxItems": 3
}' |
apify call maximedupre/notion-template-gallery --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=maximedupre/notion-template-gallery",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/acts/UQ9LkAmamLk17MjYr/builds/YoBdUaRT6VzsCHfwl/openapi.json
