# Review Intelligence to Notion — Cross-Platform Review Feed API (`nexgendata/review-intelligence-notion`) Actor

- **URL**: https://apify.com/nexgendata/review-intelligence-notion.md
- **Developed by:** [NexGenData](https://apify.com/nexgendata) (community)
- **Categories:** Business, Marketing
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $100.00 / 1,000 brand scorecards

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/docs.md):

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

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python/docs.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/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

## Review Intelligence to Notion

Aggregate reviews across platforms, score them and push a brand-level review digest straight into Notion.

> Public reviews only — reviewer identities are shown exactly as published on the source platform.

### ⏰ Run this as a weekly review monitor (recommended)
New results land continuously. Schedule a weekly sweep (`0 8 * * 1`) and catch fresh results as they post — always-on review monitoring.

### 📊 What you get
Clean JSON, one record per result (full output has 12 fields):

- `brand` — Brand
- `source` — Source
- `data_source` — Data source
- `review_count` — Review count
- `average_rating` — Average rating
- `rating_distribution` — Rating distribution
- `recent_average` — Recent average
- `top_complaint_themes` — Top complaint themes
- `top_praise_themes` — Top praise themes
- `recent_negative_reviews` — Recent negative reviews

**Pricing:** $0.100 per result (Pay-Per-Event) — about **10 results per $1**.

### 🤖 Use with AI agents
Point Claude, the OpenAI Agents SDK, an n8n flow or any MCP-aware client at it and pull data on demand.

**Agentic payments (x402):** Supports agentic payment via x402 — agents can call this actor with USDC, no API key required.

### 🔗 Related actors
**Review & app intelligence family — monitor reviews across every platform, score them, pipe them to Notion:**

[Apple App Store](https://apify.com/nexgendata/apple-app-store-scraper) · [Google Play Store](https://apify.com/nexgendata/google-play-store-scraper) · [Google Play Reviews](https://apify.com/nexgendata/google-play-reviews-scraper) · [iOS App Store Reviews](https://apify.com/nexgendata/ios-app-store-reviews-scraper) · [Google Maps Reviews](https://apify.com/nexgendata/google-maps-reviews) · [Amazon Reviews](https://apify.com/nexgendata/amazon-reviews) · [Capterra Reviews](https://apify.com/nexgendata/capterra-review-firehose) · [AI Sentiment Analyzer](https://apify.com/nexgendata/ai-sentiment-analyzer)

**Agent front door — Review Intelligence MCP:** [Review Intelligence MCP](https://apify.com/nexgendata/review-intelligence-mcp-server)


*This actor is currently private — treated and ready for review.*
---
*Public web data, assembled for research and monitoring.*

# Actor input Schema

## `apps` (type: `array`):

What to score, one per line. The format depends on the chosen source:
• app_store — App Store name, numeric App ID, or apps.apple.com URL (e.g. 'Notion', '1232780281', 'https://apps.apple.com/us/app/notion/id1232780281').
• google_play — Play package id, Play Store URL, or app name (e.g. 'com.spotify.music', 'Notion').
• g2 — G2 product slug or product page URL (e.g. 'slack').
• trustpilot — company name or Trustpilot domain/URL (e.g. 'amazon.com', 'https://www.trustpilot.com/review/stripe.com'). Public review data only.
## `source` (type: `string`):

Which public review source to read from. app_store (Apple App Store) and google_play (Google Play) are the proven, ~93%+ reliable primary sources. g2 and trustpilot are also available but may be anti-bot blocked.
## `maxReviewsPerApp` (type: `integer`):

Maximum number of reviews to read per item before computing the scorecard (more reviews = more reliable themes and trend).
## `country` (type: `string`):

Storefront / region code for app_store and google_play (us, gb, ca, de, fr, jp, br, in, au, mx, etc.). For App Store, if the chosen storefront returns nothing the Actor automatically falls back to other storefronts. Ignored for g2/trustpilot.
## `language` (type: `string`):

Language code for google_play reviews (e.g. en, es, de, fr). Ignored for other sources.
## `sortBy` (type: `string`):

Review ordering for app_store / google_play: newest first or most relevant/helpful first.
## `notionConnector` (type: `string`):

Connect your Notion workspace and this Actor writes the scorecards into a brand-new Notion database in the same run — it never sees your Notion credentials. Authorize a Notion MCP connector in Apify Console → Settings → API & Integrations, then select it here. (Without a connector you get the dataset only.)
## `notionParentId` (type: `string`):

Optional. The Notion page ID to create the scorecard database under. If blank, Notion creates it as a private page in your workspace.
## `supabaseConnector` (type: `string`):

Optional. Connect your own Supabase project and the results are also inserted into a table in the same run — the Actor never sees your Supabase credentials. Authorize a write-scoped, project-scoped Supabase MCP connector in Apify Console (Settings -> Integrations), then select it here.
## `supabaseTable` (type: `string`):

Target table in the public schema (created if missing, with id, a jsonb data column, and a scraped_at timestamp). Default: nexgendata_leads.
## `supabaseProjectId` (type: `string`):

Your Supabase project reference (e.g. abcdefghijklmnop). Required unless your connector URL is already project-scoped. Find it in your project URL: supabase.com/dashboard/project/THIS_PART.
## `deliveryDedup` (type: `boolean`):

When on (default), records already delivered in a previous run are not delivered again to the same destination — so scheduled runs only push new items. Turn off to deliver every record on every run.

## Actor input object example

```json
{
  "apps": [
    "Notion",
    "Spotify"
  ],
  "source": "app_store",
  "maxReviewsPerApp": 100,
  "country": "us",
  "language": "en",
  "sortBy": "mostRecent",
  "supabaseTable": "nexgendata_leads",
  "deliveryDedup": true
}
````

# 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 = {
    "apps": [
        "Notion"
    ],
    "source": "app_store",
    "maxReviewsPerApp": 100,
    "country": "us",
    "language": "en",
    "sortBy": "mostRecent"
};

// Run the Actor and wait for it to finish
const run = await client.actor("nexgendata/review-intelligence-notion").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 = {
    "apps": ["Notion"],
    "source": "app_store",
    "maxReviewsPerApp": 100,
    "country": "us",
    "language": "en",
    "sortBy": "mostRecent",
}

# Run the Actor and wait for it to finish
run = client.actor("nexgendata/review-intelligence-notion").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 '{
  "apps": [
    "Notion"
  ],
  "source": "app_store",
  "maxReviewsPerApp": 100,
  "country": "us",
  "language": "en",
  "sortBy": "mostRecent"
}' |
apify call nexgendata/review-intelligence-notion --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Review Intelligence to Notion — Cross-Platform Review Feed API",
        "version": "0.0",
        "x-build-id": "tSKHuGYesVLshMxB6"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/nexgendata~review-intelligence-notion/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-nexgendata-review-intelligence-notion",
                "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/nexgendata~review-intelligence-notion/runs": {
            "post": {
                "operationId": "runs-sync-nexgendata-review-intelligence-notion",
                "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/nexgendata~review-intelligence-notion/run-sync": {
            "post": {
                "operationId": "run-sync-nexgendata-review-intelligence-notion",
                "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": [
                    "apps"
                ],
                "properties": {
                    "apps": {
                        "title": "Apps / brands",
                        "type": "array",
                        "description": "What to score, one per line. The format depends on the chosen source:\n• app_store — App Store name, numeric App ID, or apps.apple.com URL (e.g. 'Notion', '1232780281', 'https://apps.apple.com/us/app/notion/id1232780281').\n• google_play — Play package id, Play Store URL, or app name (e.g. 'com.spotify.music', 'Notion').\n• g2 — G2 product slug or product page URL (e.g. 'slack').\n• trustpilot — company name or Trustpilot domain/URL (e.g. 'amazon.com', 'https://www.trustpilot.com/review/stripe.com'). Public review data only.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "source": {
                        "title": "Review source",
                        "enum": [
                            "app_store",
                            "google_play",
                            "g2",
                            "trustpilot"
                        ],
                        "type": "string",
                        "description": "Which public review source to read from. app_store (Apple App Store) and google_play (Google Play) are the proven, ~93%+ reliable primary sources. g2 and trustpilot are also available but may be anti-bot blocked.",
                        "default": "app_store"
                    },
                    "maxReviewsPerApp": {
                        "title": "Max reviews per app/brand",
                        "minimum": 20,
                        "maximum": 500,
                        "type": "integer",
                        "description": "Maximum number of reviews to read per item before computing the scorecard (more reviews = more reliable themes and trend).",
                        "default": 200
                    },
                    "country": {
                        "title": "Country (optional)",
                        "type": "string",
                        "description": "Storefront / region code for app_store and google_play (us, gb, ca, de, fr, jp, br, in, au, mx, etc.). For App Store, if the chosen storefront returns nothing the Actor automatically falls back to other storefronts. Ignored for g2/trustpilot.",
                        "default": "us"
                    },
                    "language": {
                        "title": "Language (optional)",
                        "type": "string",
                        "description": "Language code for google_play reviews (e.g. en, es, de, fr). Ignored for other sources.",
                        "default": "en"
                    },
                    "sortBy": {
                        "title": "Sort by (optional)",
                        "enum": [
                            "mostRecent",
                            "mostHelpful"
                        ],
                        "type": "string",
                        "description": "Review ordering for app_store / google_play: newest first or most relevant/helpful first.",
                        "default": "mostRecent"
                    },
                    "notionConnector": {
                        "title": "Notion connector (optional)",
                        "type": "string",
                        "description": "Connect your Notion workspace and this Actor writes the scorecards into a brand-new Notion database in the same run — it never sees your Notion credentials. Authorize a Notion MCP connector in Apify Console → Settings → API & Integrations, then select it here. (Without a connector you get the dataset only.)"
                    },
                    "notionParentId": {
                        "title": "Notion parent page ID (optional)",
                        "type": "string",
                        "description": "Optional. The Notion page ID to create the scorecard database under. If blank, Notion creates it as a private page in your workspace."
                    },
                    "supabaseConnector": {
                        "title": "Deliver to Supabase (optional)",
                        "type": "string",
                        "description": "Optional. Connect your own Supabase project and the results are also inserted into a table in the same run — the Actor never sees your Supabase credentials. Authorize a write-scoped, project-scoped Supabase MCP connector in Apify Console (Settings -> Integrations), then select it here."
                    },
                    "supabaseTable": {
                        "title": "Supabase table name (optional)",
                        "type": "string",
                        "description": "Target table in the public schema (created if missing, with id, a jsonb data column, and a scraped_at timestamp). Default: nexgendata_leads.",
                        "default": "nexgendata_leads"
                    },
                    "supabaseProjectId": {
                        "title": "Supabase project ID (optional)",
                        "type": "string",
                        "description": "Your Supabase project reference (e.g. abcdefghijklmnop). Required unless your connector URL is already project-scoped. Find it in your project URL: supabase.com/dashboard/project/THIS_PART."
                    },
                    "deliveryDedup": {
                        "title": "Deduplicate deliveries across runs",
                        "type": "boolean",
                        "description": "When on (default), records already delivered in a previous run are not delivered again to the same destination — so scheduled runs only push new items. Turn off to deliver every record on every run.",
                        "default": true
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
