# AI Content Opportunity Radar (`icekurt/ai-content-opportunity-radar`) Actor

Discover emerging social media content opportunities before they become saturated. Analyze trend velocity, engagement, competition, creator performance, hooks, and content patterns to identify what to post next.

- **URL**: https://apify.com/icekurt/ai-content-opportunity-radar.md
- **Developed by:** [hasan kurt](https://apify.com/icekurt) (community)
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $2.99 / 1,000 results

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

### What does AI Content Opportunity Radar do?

**AI Content Opportunity Radar finds short-form video ideas with measurable momentum before they become saturated.** It analyzes public TikTok videos and Instagram Reels, ranks emerging content patterns, and turns evidence into practical hooks, formats, and “what to post next” recommendations. Use it from Apify Console, API, schedules, or integrations.

### Why use AI Content Opportunity Radar?

Discover promising patterns in a niche, identify fast-moving trends across platforms, compare public competitor accounts, find outlier posts, estimate saturation and engagement, and create original content angles from observed evidence. Every result links to its public source. Scores are relative to the collected sample and do not guarantee future performance.

### How to use AI Content Opportunity Radar

1. Open the **Input** tab.
2. Choose Content Opportunity Radar, Trend Radar, or Competitor Radar.
3. Enter the niche, platforms, language, and lookback period.
4. For Competitor Radar, add at least one public Instagram or TikTok username/profile URL.
5. Set the result limit and click **Start**.
6. Review or export the Output dataset.

### Input

The main fields are mode, niche, platforms, country, language, creatorSize, contentStyle, goal, competitorAccounts, lookbackDays, and maxResults. Competitor Radar accepts usernames, @handles, or full public profile URLs. Platform-specific URLs go only to the matching platform; plain usernames are checked on every selected platform.

Example:

```
{
  "mode": "Competitor Radar",
  "niche": "Fitness",
  "platforms": ["Instagram Reels"],
  "language": "English",
  "creatorSize": "Any",
  "competitorAccounts": ["menshealthmag"],
  "lookbackDays": 30,
  "maxResults": 10
}
```

### Output

Each row is a ranked public post or Reel with observed metrics, opportunity and outlier scores, source URL, detected hook, content format, content angle, and a recommended next post.

```
{
  "analysisMode": "Competitor Radar",
  "rank": 1,
  "competitorAccount": "menshealthmag",
  "accountPostsAnalyzed": 12,
  "opportunityScore": 84,
  "outlierScore": 91,
  "performanceVsBaseline": 3.4,
  "sourceUrl": "https://www.instagram.com/reel/example/"
}
```

You can download the dataset in various formats such as JSON, HTML, CSV, or Excel.

### Data table

| Field | Meaning |
| --- | --- |
| opportunityScore | Relative opportunity score within the sample |
| trendStage | Emerging, Rising, Hot, Active, Saturated, or Declining |
| outlierScore | Performance relative to the creator baseline |
| competitorAccount | Competitor requested in the input |
| accountPostsAnalyzed | Usable posts included for the account |
| viewsPerHour | Observed views divided by post age |
| performanceVsBaseline | Post views divided by creator baseline |
| whatToPost | Original execution recommendation |
| sourceUrl | Public evidence URL |

### Pricing / Cost estimation

Cost depends on selected platforms, competitor accounts, requested results, and downstream public-data Actors. Keep maxResults and the competitor list small for inexpensive checks, then expand when needed. Apify free-tier limits and current dependency pricing apply.

### Tips and advanced options

- Use seven days for fast trend discovery and 30 days for competitor baselines.
- Test one platform first to control cost.
- Use full profile URLs when the same username belongs to different people.
- Treat unknown follower counts as missing data, not zero.
- Schedule the same input to compare momentum over time.

### FAQ, disclaimers, and support

The Actor analyzes public data only. Availability depends on source platforms and dependency Actors. Language detection, trend stages, and scores are analytical estimates and can be uncertain with short captions or small samples. Follow platform terms, privacy rules, and applicable laws. For bugs, requests, or custom solutions, use the Actor’s **Issues** tab and include a sanitized input and run ID.

# Actor input Schema

## `mode` (type: `string`):

Choose whether to discover trends, analyze competitors, or generate ranked content opportunities.

## `niche` (type: `string`):

Topic, niche, product category, or audience interest to analyze.

## `platforms` (type: `array`):

Social platforms to analyze and compare.

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

Target country or market used to contextualize trend discovery.

## `language` (type: `string`):

Preferred language of the target content and audience.

## `creatorSize` (type: `string`):

Approximate account size used when evaluating realistic opportunities and creator-relative performance.

## `contentStyle` (type: `string`):

Preferred production style used when generating actionable content angles.

## `goal` (type: `string`):

The main outcome the creator wants to optimize for.

## `competitorAccounts` (type: `array`):

Public Instagram or TikTok usernames/profile URLs. Required when Analysis mode is Competitor Radar; platform-specific URLs are sent only to their matching platform.

## `lookbackDays` (type: `integer`):

How many recent days should influence trend and saturation analysis.

## `maxResults` (type: `integer`):

Maximum number of ranked opportunities returned.

## Actor input object example

```json
{
  "mode": "Content Opportunity Radar",
  "niche": "Fitness",
  "platforms": [
    "TikTok",
    "Instagram Reels"
  ],
  "country": "United States",
  "language": "English",
  "creatorSize": "Small (1K-50K followers)",
  "contentStyle": "Any",
  "goal": "Views",
  "competitorAccounts": [],
  "lookbackDays": 7,
  "maxResults": 20
}
```

# Actor output Schema

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

No description

# 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("icekurt/ai-content-opportunity-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 = {}

# Run the Actor and wait for it to finish
run = client.actor("icekurt/ai-content-opportunity-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 '{}' |
apify call icekurt/ai-content-opportunity-radar --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,icekurt/ai-content-opportunity-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/Wf2UTwz5q6tjgnBlG/builds/W0PowE1QkZBICJSjg/openapi.json
