# Cross-Platform Trend Radar (`yasaslive/cptr-trend-radar`) Actor

One ranked view of what's trending across TikTok, YouTube, Google Trends and Reddit — with velocity, cross-platform overlap, a 0-100 heat score, and an optional AI 'what to make this week' digest.

- **URL**: https://apify.com/yasaslive/cptr-trend-radar.md
- **Developed by:** [Eonix Pvt Ltd](https://apify.com/yasaslive) (community)
- **Categories:** AI, Social media, Lead generation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $0.30 / actor start

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

## 📡 Cross-Platform Trend Radar

**One ranked view of what's trending *across* TikTok, YouTube, Google Trends, and Reddit — plus an AI "what to make this week" brief in your inbox or Slack.**

Every other trend tool watches one platform. Creators and social teams work across all of them. Trend Radar pulls the signals from four sources, normalizes them into a single dataset, tells you what's **rising** (not just what's already big), flags topics **breaking out on more than one platform at once**, and scores everything with a single 0–100 heat number so you know where to point your camera this week.

***

### Why it's different

- **Cross-platform, not single-platform.** The same topic trending on TikTok *and* Google Trends is a stronger signal than either alone — and this is the only radar that detects that overlap and boosts it.
- **Velocity, not just volume.** It remembers last run and shows you what's *climbing*, what's *new*, and what's fading — so you catch trends on the way up.
- **A weekly brief that tells you what to make.** Optional AI digest turns the raw data into 3–5 concrete content ideas, each tied to the trends that justify it, delivered to Slack and/or email.
- **Runs itself.** Put it on a weekly schedule and forget it. One source having a bad day never breaks your run — you get partial results and a clear note.

### What you get

| Feature                    | Detail                                                                           |
| -------------------------- | -------------------------------------------------------------------------------- |
| **TikTok**                 | Trending public hashtags from Creative Center (name, rank, posts, views)         |
| **YouTube**                | Most-popular chart videos (overall / music / gaming / film) via the official API |
| **Google Trends**          | Trending searches with approximate traffic and linked news stories               |
| **Reddit** *(optional)*    | Rising posts from the subreddits you choose                                      |
| **Velocity**               | Rank change vs. your last run — rising / new / falling                           |
| **Cross-platform overlap** | Topics trending on 2+ platforms, boosted in the ranking                          |
| **Heat score**             | One 0–100 number blending rank, momentum, and overlap                            |
| **AI digest** *(optional)* | "What to make this week" — headline, highlights, and 3–5 content ideas           |
| **Delivery** *(optional)*  | Slack and/or email                                                               |

### Quick start

1. Click **Start** — with no setup at all you'll get **TikTok hashtags + Google Trends** for the US.
2. Want more? Add any of these (all optional, all your own free/low-cost keys):
   - **YouTube Data API key** (free from Google Cloud) → unlocks chart videos
   - **Anthropic API key** → unlocks the AI digest (usually under $0.05 of your Anthropic credit per run)
   - **Slack incoming webhook** and/or an **email address** → get the brief delivered
   - **Reddit app credentials** (free, 2-minute setup) → unlocks Reddit rising posts
3. Set a **schedule** (weekly Monday morning is the sweet spot) and let it run.

> Tip: run it once with **Healthcheck mode** on to confirm everything's wired up before you schedule it — it takes a few seconds and uses no proxy.

### Input

Everything is optional except the geo. Highlights:

| Field                                         | Default               | What it does                                                                         |
| --------------------------------------------- | --------------------- | ------------------------------------------------------------------------------------ |
| **Countries**                                 | `["US"]`              | ISO country codes, up to 5. Each geo adds a little runtime and TikTok proxy cost.    |
| **TikTok / YouTube / Google Trends / Reddit** | on / on / on / off    | Toggle sources. YouTube auto-disables (with a note) if you don't add a key.          |
| **YouTube API key**                           | —                     | Free key from Google Cloud Console → YouTube Data API v3.                            |
| **Anthropic API key + model**                 | — / `claude-sonnet-5` | Unlocks the AI digest. Choose Sonnet (default), Opus (premium), or Haiku (cheapest). |
| **Slack webhook / Email**                     | —                     | Where to deliver the brief. Slack must be a `hooks.slack.com` URL.                   |
| **Max items per source**                      | 100                   | Cap per source, per country (10–500).                                                |

All API keys and the Slack URL are **secret fields** — encrypted, masked, and scoped to your run.

### Output

A **dataset** of ranked trend items, sorted by heat:

```json
{
  "platform": "google_trends",
  "type": "topic",
  "title": "world cup final",
  "url": "https://trends.google.com/trends/explore?q=world%20cup%20final&geo=US",
  "geo": "US",
  "rank": 1,
  "prevRank": 4,
  "isNew": false,
  "velocity": 0.6,
  "metrics": { "trafficApprox": "2,000,000+" },
  "overlap": { "platforms": ["google_trends", "tiktok"], "count": 2 },
  "heat": 94
}
```

Plus a **run summary** (per-source status, what was delivered) and, if enabled, a **`digest.md`** with your weekly brief. Export the dataset as JSON, CSV, or Excel, or pull it via the Apify API into your own tools.

### Pricing

Pay only for what you run:

| Event                 | Price |
| --------------------- | ----- |
| Per run               | $0.30 |
| Per 1,000 trend items | $1.50 |
| AI digest generated   | $0.25 |

A typical **weekly run costs about $1** — often covered by the free monthly platform credits if you run weekly. You bring your own YouTube / Anthropic / Reddit keys, so those quotas are yours (the YouTube and Google sources are free; the AI digest bills a few cents to your own Anthropic account on top).

### What it can and can't do (straight talk)

- **TikTok public data is limited.** TikTok only exposes about **3 trending hashtags per country** without a login — and this actor **never logs in or solves CAPTCHAs**. You get those public hashtags reliably; TikTok sounds and videos are behind a login wall and are not collected. Google Trends and YouTube carry the volume.
- **It's a weekly/daily radar, not a real-time firehose.** A trend that's born and dies within a few hours can be missed. Schedule it for the cadence that matches your planning.
- **Trends come from third parties.** Platforms change their pages; when one breaks, your run degrades gracefully (partial results + a clear note) and the actor is updated. It's built to bend, not break.

### Data & compliance

Public trend data only. The actor collects content-level fields (titles, hashtags, counts, links) — it **does not collect or store creator profiles or usernames**, and gathering personal data is not its purpose. YouTube and Reddit run under your own API credentials and their terms; TikTok uses only public, no-login pages. See the actor's `SECURITY.md` for the full posture.

***

*Built for creators and social teams who plan content across platforms. Questions or a source you'd like added? Reach out through the Store listing.*

# Actor input Schema

## `sourceTiktok` (type: `boolean`):

Trending hashtags, songs and videos from TikTok's public Creative Center (no login; uses residential proxy).

## `sourceYoutube` (type: `boolean`):

Most-popular chart videos via the official YouTube Data API. Requires your free API key below — auto-disabled with a notice if the key is missing.

## `sourceGoogleTrends` (type: `boolean`):

Trending searches from the public Google Trends RSS feed. No key needed.

## `sourceReddit` (type: `boolean`):

Rising posts via Reddit's OAuth API. Requires YOUR OWN Reddit app credentials below (Reddit closed keyless access in 2026) — you act as the API consumer under Reddit's terms.

## `geos` (type: `array`):

ISO 3166-1 alpha-2 country codes, max 5. Each extra geo adds runtime and TikTok proxy cost roughly linearly.

## `maxItemsPerSource` (type: `integer`):

Cap on normalized items kept per source (10-500).

## `youtubeApiKey` (type: `string`):

Free key from Google Cloud Console (YouTube Data API v3). This run uses ~12 of your 10,000 free daily quota units.

## `youtubeCategories` (type: `array`):

Which most-popular charts to pull per country.

## `redditClientId` (type: `string`):

From your own Reddit app (reddit.com/prefs/apps, type 'script'). Only needed when the Reddit source is enabled.

## `redditClientSecret` (type: `string`):

Secret of the same Reddit app.

## `redditSubreddits` (type: `array`):

Subreddits to read rising posts from (max 10).

## `anthropicApiKey` (type: `string`):

Unlocks the AI 'what to make this week' digest (typically <$0.05 of your Anthropic credit per run). Without it, the run still delivers the ranked dataset.

## `digestEnabled` (type: `boolean`):

Turn the AI digest on/off (also requires the Anthropic key).

## `digestModel` (type: `string`):

Claude model used for the digest, billed to your Anthropic key.

## `slackWebhookUrl` (type: `string`):

https://hooks.slack.com/... URL. Digest and degradation alerts are posted here. Other hosts are rejected by design.

## `emailTo` (type: `string`):

Email address for the digest (sent via the official apify/send-mail actor on your account).

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

Used exclusively for TikTok Creative Center. Residential is strongly recommended; other sources connect directly.

## `snapshotStoreName` (type: `string`):

Named key-value store holding last-run snapshots for velocity. Reuse the same name across schedules; deleting it only costs one run of velocity data.

## `healthcheck` (type: `boolean`):

Runs installation checks only (input validation, Google Trends reachability, state-store round-trip). No scraping, no proxy, no digest.

## `debugScreenshots` (type: `boolean`):

On TikTok failure/block, save screenshots + response metadata to the run's key-value store under DEBUG/.

## Actor input object example

```json
{
  "sourceTiktok": true,
  "sourceYoutube": true,
  "sourceGoogleTrends": true,
  "sourceReddit": false,
  "geos": [
    "US"
  ],
  "maxItemsPerSource": 100,
  "youtubeCategories": [
    "default",
    "music",
    "gaming"
  ],
  "redditSubreddits": [
    "all",
    "popular"
  ],
  "digestEnabled": true,
  "digestModel": "claude-sonnet-5",
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  },
  "snapshotStoreName": "trend-radar-state",
  "healthcheck": false,
  "debugScreenshots": false
}
```

# Actor output Schema

## `trends` (type: `string`):

The normalized, heat-ranked trend items collected this run (TikTok, YouTube, Google Trends, Reddit), sorted by heat.

## `digest` (type: `string`):

The 'what to make this week' brief, generated when an Anthropic API key is supplied and the digest is enabled.

## `summary` (type: `string`):

Per-source status, item counts, digest and delivery outcomes, and billing events for this run.

# 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 = {
    "geos": [
        "US"
    ],
    "proxyConfiguration": {
        "useApifyProxy": true,
        "apifyProxyGroups": [
            "RESIDENTIAL"
        ]
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("yasaslive/cptr-trend-radar").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 = {
    "geos": ["US"],
    "proxyConfiguration": {
        "useApifyProxy": True,
        "apifyProxyGroups": ["RESIDENTIAL"],
    },
}

# Run the Actor and wait for it to finish
run = client.actor("yasaslive/cptr-trend-radar").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 '{
  "geos": [
    "US"
  ],
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  }
}' |
apify call yasaslive/cptr-trend-radar --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,yasaslive/cptr-trend-radar"
        }
    }
}

```

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/JgblzPidJDc7k1Y9b/builds/knjeZDJIhahF4RF0J/openapi.json
