# TikTok Trend Opportunity Intelligence (`crocheted_poacher/tiktok-trend-opportunity-intelligence`) Actor

Find commercially useful TikTok trends by country and niche, then rank momentum, engagement quality, freshness, saturation risk and commercial relevance for product research, content strategy, APIs and AI agents.

- **URL**: https://apify.com/crocheted\_poacher/tiktok-trend-opportunity-intelligence.md
- **Developed by:** [Benjamin Rogers](https://apify.com/crocheted_poacher) (community)
- **Categories:** Social media, Business, Automation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $50.00 / 1,000 trend opportunities

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

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
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.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

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

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## TikTok Trends API - Product Research & Content Ideas

Find live TikTok trends for product research, ecommerce research, content ideas, trend discovery, marketing intelligence, automation workflows, APIs, and AI agents.

This TikTok trends API goes beyond a raw TikTok trends scraper. It turns current hashtag trend data into ranked commercial opportunities using momentum, commercial relevance, engagement quality, freshness, and saturation risk, so automated systems can identify stronger product and content opportunities without manual research.

### What you get

Each paid result is a decision-ready opportunity containing the trend, source provenance, component scores, 0-100 opportunity score, band, evidence-backed rationale, and optional content/product angles.

**The score is a relative commercial opportunity ranking. It is not a probability, revenue forecast, or guarantee that a trend will convert.**

### Minimal input

```json
{
  "country": "US",
  "industry": "beauty",
  "maxInsights": 25
}
```

Optional controls let you raise the minimum score, lower the maximum result count, disable content/product angles, and cap upstream source spend.

### Example output

```json
{
  "rank": 1,
  "trendName": "#skincareglow",
  "trendType": "hashtag",
  "country": "US",
  "industry": "beauty",
  "sourceUrl": "https://www.tiktok.com/tag/skincareglow",
  "sourceRank": 2,
  "views": 12000000,
  "engagementRate": 0.102,
  "momentumScore": 96,
  "commercialRelevanceScore": 73,
  "saturationRiskScore": 63,
  "opportunityScore": 85,
  "opportunityBand": "A",
  "scoreMeaning": "Relative commercial opportunity ranking; not a probability or guarantee.",
  "whyRanked": "measured trend velocity; source rank 2; audience scale; engagement quality; industry relevance; freshness",
  "contentAngle": "Create timely beauty content around #skincareglow.",
  "productAngle": "Test products, offers, or bundles that naturally connect #skincareglow with beauty.",
  "sourceActor": "data_xplorer/tiktok-trends",
  "observedAt": "2026-09-22T00:00:00Z"
}
```

### Commercial scoring

P003 combines five transparent components:

- **35% momentum** — source rank, audience scale, and velocity where available
- **25% commercial relevance** — relationship between the trend and your selected industry
- **15% engagement quality** — engagement rate or interaction density
- **15% freshness** — newer signals score higher
- **10% inverse saturation** — mature/overexposed signals are penalized

Bands: **A 80-100**, **B 65-79**, **C 55-64**. Lower-scoring signals are filtered by default.

### Pay Per Event

Configure Apify Pay Per Event with:

- event: `trend-opportunity`
- launch price: **US$0.05 per delivered opportunity**
- display equivalent: **US$50 / 1,000 trend opportunities**

The Actor charges `trend-opportunity` immediately before each qualified dataset result. Filtered and malformed source records are not charged.

Do not add a separate paid `apify-default-dataset-item` event or the same delivered insight can be charged twice.

### Margin protection

P003 estimates upstream source volume before calling the trend provider and caps it against `upstreamSpendGuardUsd`. If the configured guard cannot afford one estimated raw source result, the run returns no paid results rather than exceed the guard.

### Designed for automated demand

This Actor is designed for TikTok trends, trend intelligence, product research, content ideas, ecommerce research, AI agents, marketing intelligence, APIs, MCP workflows, and automated data products. It requires no manual client fulfilment.

### Source strategy

V1 uses `data_xplorer/tiktok-trends` through an isolated adapter. Upstream pricing and schema can change, so live launch economics must be verified before Store publication and periodically rechecked after material source changes.

# Actor input Schema

## `country` (type: `string`):

Country code used to request geographically relevant TikTok trend signals.

## `industry` (type: `string`):

Optional commercial niche used to score how relevant each trend is to your market.

## `maxInsights` (type: `integer`):

Maximum number of paid, qualified commercial trend opportunities returned.

## `minimumOpportunityScore` (type: `integer`):

Minimum 0-100 commercial opportunity score required for a trend to be delivered and charged.

## `upstreamSpendGuardUsd` (type: `number`):

Maximum estimated upstream data spend allowed for the run before source volume is reduced.

## `includeContentAngle` (type: `boolean`):

Generate a concise content angle for each delivered trend opportunity.

## `includeProductAngle` (type: `boolean`):

Generate a concise product or offer angle for each delivered trend opportunity.

## Actor input object example

```json
{
  "country": "US",
  "industry": "beauty",
  "maxInsights": 25,
  "minimumOpportunityScore": 55,
  "upstreamSpendGuardUsd": 1,
  "includeContentAngle": true,
  "includeProductAngle": true
}
```

# Actor output Schema

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

Decision-ready TikTok trend opportunities written to the default dataset.

# 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("crocheted_poacher/tiktok-trend-opportunity-intelligence").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("crocheted_poacher/tiktok-trend-opportunity-intelligence").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 crocheted_poacher/tiktok-trend-opportunity-intelligence --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,crocheted_poacher/tiktok-trend-opportunity-intelligence"
        }
    }
}
```

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/xi7IJLCveQnSU7lMo/builds/TVoc5IRlriAu2oCHY/openapi.json
