monitoring-instagram-brand-mentions
Monitors Instagram for brand mentions and tagged posts using apidojo's Instagram scraper on Apify. Triggers when the user asks to: track Instagram mentions of a brand or product, m…
API Dojo
@apidojo-io
Install
$ openclaw skills install @apidojo-io/monitoring-instagram-brand-mentionsMonitoring Instagram Brand Mentions
Tracks all public Instagram posts mentioning a brand — via branded hashtags, @mentions, or product name keywords. Classifies mentions by sentiment and type (UGC, complaint, press coverage, competitor comparison).
Prerequisites
APIFY_TOKENenvironment variable set- Optional: Apify MCP server installed
Inputs
| Parameter | Type | Required | Default | Notes |
|---|---|---|---|---|
startUrls | array | ✅ | [] | Instagram URLs — profiles, hashtags, locations, audio pages, reels |
until | string | Optional | — | Scrape posts until this date (YYYY-MM-DD) |
maxItems | number | Optional | Unlimited | Maximum posts to return |
customMapFunction | string | Optional | — | JavaScript function to transform each output object |
Workflow
Progress:
- [ ] Step 1: Build hashtag and keyword list
- [ ] Step 2: Run instagram-scraper for each hashtag
- [ ] Step 3: Classify mention type and sentiment
- [ ] Step 4: Identify top advocates and critics
- [ ] Step 5: Deliver brand health report
Step 1 & 2: Run instagram-scraper
Recommended — run_actor.js (handles waiting, output, and file saving automatically):
# Quick answer (prints table to chat)
node scripts/run_actor.js \
--actor "apidojo~instagram-scraper" \
--input '{"param": "value"}'
# Save as CSV
node scripts/run_actor.js \
--actor "apidojo~instagram-scraper" \
--input '{"param": "value"}' \
--output YYYY-MM-DD_results.csv --format csv
# Save as JSON
node scripts/run_actor.js \
--actor "apidojo~instagram-scraper" \
--input '{"param": "value"}' \
--output YYYY-MM-DD_results.json --format json
APIFY_TOKENmust be set in environment or.envfile.
If Apify MCP is available:
Tool: apify:run-actor
Actor: "apidojo~instagram-scraper"
Input:
{
"keywords": ["#[BRAND]", "#[BRAND]review", "#[BRAND]community"],
"maxItems": 100
}
REST API fallback:
curl -X POST "https://api.apify.com/v2/acts/apidojo~instagram-scraper/runs?token=$APIFY_TOKEN" -H "Content-Type: application/json" -d '{"keywords": ["#[brand]", "#[brand]review"], "maxItems": 100}'
Run for each hashtag cluster. Merge results and deduplicate by postUrl.
Step 2: Classify Mentions
Mention type:
UGC = post contains product photo + brand mention; author is not verified
COMPLAINT = caption contains negative indicators: "broken", "disappointed", "scam", "refund", "terrible", "never again"
POSITIVE_REVIEW = caption contains: "love", "amazing", "best", "recommend", "obsessed"
PRESS/EDITORIAL = author is verified OR follower_count > 100K
COMPETITOR_COMPARISON = caption mentions competitor brand alongside this brand
Sentiment: Apply same lexical classification as Twitter sentiment skill (positive/negative/neutral indicators).
Step 3: Score Reach
mention_reach = likes + comments * 5 + (followers_of_author / 100)
Step 4: Edge Cases
- Official brand account's own posts in results: Drop posts where
ownerUsername= brand's own handle - Hashtag is overloaded (> 1M posts): Use long-tail branded hashtags instead; or filter by date
- Sentiment misclassified for complex posts: Flag posts with both positive and negative indicators as
MIXED; report count - Foreign language mentions dominant: Report language distribution; flag non-English mentions separately
Output Format
# Instagram Brand Mention Monitor: [BRAND]
Posts collected: [N] | Period: [DATE_RANGE] | Date: [DATE]
## Mention Type Distribution
UGC: [N] | Positive Reviews: [N] | Complaints: [N] | Press: [N] | Comparisons: [N]
## Sentiment Summary
Positive: [X%] | Negative: [X%] | Neutral: [X%]
Weighted by reach: Positive [X%] | Negative [X%]
## Top UGC Posts (Most Liked)
| Creator | @Handle | Likes | Type | Caption Excerpt | Post URL |
|---------|---------|-------|------|----------------|---------|
## Complaints to Address
| Creator | Likes | Complaint Summary | Post URL |
|---------|-------|------------------|---------|
## Top Brand Advocates (Most Frequent Positive Posters)
1. @[handle] — [N] positive posts | [N] avg likes
Troubleshooting
Hashtag returns generic posts: The brand hashtag may be ambiguous (e.g. "#apple"). Use #[brand]official or #[brand][product] for precision.
Mostly competitor posts: This may indicate your brand is being used in comparison posts — analyze COMPETITOR_COMPARISON category for positioning insights.
Sentiment skewed by a single viral negative post: Check weighted sentiment vs. raw sentiment; one viral post can shift the raw numbers.
Top skills in this category
diagram-generator
@matthewyinGenerate and edit diagrams with the mcp-diagram-generator MCP server. Use this skill for new diagrams, existing .drawio/.mmd/.excalidraw edits, network topology, architecture, flowchart, swimlane, sequence, class, ER, and Excalidraw whiteboard work. Always use this skill when the user asks to draw,
YouTube Transcript
@xthezealotFetch and summarize YouTube video transcripts. Use when asked to summarize, transcribe, or extract content from YouTube videos. Handles transcript fetching via residential IP proxy to bypass YouTube's cloud IP blocks.
Deep Scraper
@opsunPerforms deep scraping of complex sites like YouTube using containerized Crawlee, extracting validated, ad-free transcripts and content as JSON output.
Baidu Wenku AI picture book of video
@ide-rea百度文库AI绘本是一个基于人工智能制作绘本视频的工具,支持生成静态绘本和动态绘本(URL输出)。能帮助文本内容创作者们在缺乏绘画技能的情况下,快速生成精美绘本视频,提高内容生产效率。无论是在儿童教育、亲子互动、品牌营销,还是在社交媒体内容创作等领域都能应用。
Website
@ivangdavilaBuild fast, accessible, and SEO-friendly websites with modern best practices.