home / skills / apify / agent-skills / apify-audience-analysis
This skill analyzes audience demographics and engagement across multiple social platforms by running Apify actors and summarizing findings for actionable
npx playbooks add skill apify/agent-skills --skill apify-audience-analysisReview the files below or copy the command above to add this skill to your agents.
---
name: apify-audience-analysis
description: Understand audience demographics, preferences, behavior patterns, and engagement quality across Facebook, Instagram, YouTube, and TikTok.
---
# Audience Analysis
Analyze and understand your audience using Apify Actors to extract follower demographics, engagement patterns, and behavior data from multiple platforms.
## Prerequisites
(No need to check it upfront)
- `.env` file with `APIFY_TOKEN`
- Node.js 20.6+ (for native `--env-file` support)
- `mcpc` CLI tool (for fetching Actor schemas)
## Workflow
Copy this checklist and track progress:
```
Task Progress:
- [ ] Step 1: Identify audience analysis type (select Actor)
- [ ] Step 2: Fetch Actor schema via mcpc
- [ ] Step 3: Ask user preferences (format, filename)
- [ ] Step 4: Run the analysis script
- [ ] Step 5: Summarize findings
```
### Step 1: Identify Audience Analysis Type
Select the appropriate Actor based on analysis needs:
| User Need | Actor ID | Best For |
|-----------|----------|----------|
| Facebook follower demographics | `apify/facebook-followers-following-scraper` | FB followers/following lists |
| Facebook engagement behavior | `apify/facebook-likes-scraper` | FB post likes analysis |
| Facebook video audience | `apify/facebook-reels-scraper` | FB Reels viewers |
| Facebook comment analysis | `apify/facebook-comments-scraper` | FB post/video comments |
| Facebook content engagement | `apify/facebook-posts-scraper` | FB post engagement metrics |
| Instagram audience sizing | `apify/instagram-profile-scraper` | IG profile demographics |
| Instagram location-based | `apify/instagram-search-scraper` | IG geo-tagged audience |
| Instagram tagged network | `apify/instagram-tagged-scraper` | IG tag network analysis |
| Instagram comprehensive | `apify/instagram-scraper` | Full IG audience data |
| Instagram API-based | `apify/instagram-api-scraper` | IG API access |
| Instagram follower counts | `apify/instagram-followers-count-scraper` | IG follower tracking |
| Instagram comment export | `apify/export-instagram-comments-posts` | IG comment bulk export |
| Instagram comment analysis | `apify/instagram-comment-scraper` | IG comment sentiment |
| YouTube viewer feedback | `streamers/youtube-comments-scraper` | YT comment analysis |
| YouTube channel audience | `streamers/youtube-channel-scraper` | YT channel subscribers |
| TikTok follower demographics | `clockworks/tiktok-followers-scraper` | TT follower lists |
| TikTok profile analysis | `clockworks/tiktok-profile-scraper` | TT profile demographics |
| TikTok comment analysis | `clockworks/tiktok-comments-scraper` | TT comment engagement |
### Step 2: Fetch Actor Schema
Fetch the Actor's input schema and details dynamically using mcpc:
```bash
export $(grep APIFY_TOKEN .env | xargs) && mcpc --json mcp.apify.com --header "Authorization: Bearer $APIFY_TOKEN" tools-call fetch-actor-details actor:="ACTOR_ID" | jq -r ".content"
```
Replace `ACTOR_ID` with the selected Actor (e.g., `apify/facebook-followers-following-scraper`).
This returns:
- Actor description and README
- Required and optional input parameters
- Output fields (if available)
### Step 3: Ask User Preferences
Before running, ask:
1. **Output format**:
- **Quick answer** - Display top few results in chat (no file saved)
- **CSV** - Full export with all fields
- **JSON** - Full export in JSON format
2. **Number of results**: Based on character of use case
### Step 4: Run the Script
**Quick answer (display in chat, no file):**
```bash
node --env-file=.env ${CLAUDE_PLUGIN_ROOT}/reference/scripts/run_actor.js \
--actor "ACTOR_ID" \
--input 'JSON_INPUT'
```
**CSV:**
```bash
node --env-file=.env ${CLAUDE_PLUGIN_ROOT}/reference/scripts/run_actor.js \
--actor "ACTOR_ID" \
--input 'JSON_INPUT' \
--output YYYY-MM-DD_OUTPUT_FILE.csv \
--format csv
```
**JSON:**
```bash
node --env-file=.env ${CLAUDE_PLUGIN_ROOT}/reference/scripts/run_actor.js \
--actor "ACTOR_ID" \
--input 'JSON_INPUT' \
--output YYYY-MM-DD_OUTPUT_FILE.json \
--format json
```
### Step 5: Summarize Findings
After completion, report:
- Number of audience members/profiles analyzed
- File location and name
- Key demographic insights
- Suggested next steps (deeper analysis, segmentation)
## Error Handling
`APIFY_TOKEN not found` - Ask user to create `.env` with `APIFY_TOKEN=your_token`
`mcpc not found` - Ask user to install `npm install -g @apify/mcpc`
`Actor not found` - Check Actor ID spelling
`Run FAILED` - Ask user to check Apify console link in error output
`Timeout` - Reduce input size or increase `--timeout`
This skill helps you analyze audience demographics, preferences, behavior patterns, and engagement quality across Facebook, Instagram, YouTube, and TikTok. It orchestrates Apify Actors to collect follower lists, comments, likes, and profile data then produces summaries or downloadable CSV/JSON exports. Use it to discover who your audience is, how they engage, and which segments drive the most interaction. The skill supports quick chat summaries or full data exports for deeper analysis.
Pick the Actor that matches your analysis goal (followers, comments, likes, profile data, etc.). Use the mcpc tool to fetch the Actor input schema, adjust inputs, then run the included Node.js runner to execute the Actor. Outputs can be shown in chat for quick insights or saved as CSV/JSON files for further processing and segmentation.
What do I need before running an analysis?
Create a .env file with APIFY_TOKEN, install mcpc CLI, and run on Node.js 20.6+.
How do I choose the right Actor?
Select the Actor by the specific output you need (followers, comments, likes, profiles). Use the provided Actor list to match use case.
Can I get quick results without saving a file?
Yes — use the quick answer mode to display top results directly in chat without creating a file.