Skip to main content
skill CX Codex

monitoring-instagram-hashtag-trends — Claude Code skill: Instagram

Pulls Instagram posts per hashtag and works out which tags actually earn engagement. Useful when you need a hashtag set for a post or a brand comparison.

Install into Claude Code · Skills CLI (Vercel) All methods and platforms ↓
npx skills add apidojo-io/apidojo-skills --skill monitoring-instagram-hashtag-trends -a claude-code
Open on GitHub

What monitoring-instagram-hashtag-trends does

The skill scrapes recent posts for each hashtag through the apidojo/instagram-scraper actor on Apify, then averages likes and comments per post, estimates post volume, and produces an opportunity score — engagement measured against competition. Tags land in three tiers: above 1M posts, 100K to 1M, and under 100K. You get a metrics table plus a recommended set split 5 broad, 10 mid-tier, 10 niche.

Runs go through node scripts/run_actor.js with --actor "apidojo~instagram-scraper", and output can be saved as CSV or JSON. There is also an Apify MCP server path and a REST API fallback. All of them need APIFY_TOKEN in the environment or a .env file — nothing runs without it.

A hashtag that returns 0 posts gets flagged as banned and dropped from the strategy. Tags under 1K posts come back marked as low-data, since there is not enough to measure. The same post can show up under several tags, so duplicates are collapsed before engagement is calculated; skip that and the numbers run high.

What it helps with

  • build a hashtag set for one content category
  • compare tag performance for a brand
  • find niche tags where ranking is easier
  • strip banned hashtags out of a strategy
  • check post volume on a tag before a campaign

Example prompts for the agent

  • analyze Instagram hashtags for the home baking niche and build a recommended set
  • compare engagement for #coffee and #coffeelover, save the output as CSV
  • find new fitness hashtags that are gaining traction

How to install monitoring-instagram-hashtag-trends

1Skills CLI (Vercel)

npx skills add apidojo-io/apidojo-skills --skill monitoring-instagram-hashtag-trends -a claude-code

2Manually: put the files in place

~/.claude/skills/monitoring-instagram-hashtag-trends/SKILL.md

Copy the whole skill folder; for one project use .claude/skills/monitoring-instagram-hashtag-trends/

Step by step, with commands for each platform: How to install skills in Claude Code: five ways

Questions about monitoring-instagram-hashtag-trends

How do I install monitoring-instagram-hashtag-trends in Claude?

Run npx skills add apidojo-io/apidojo-skills --skill monitoring-instagram-hashtag-trends -a claude-code. The skill lands at ~/.claude/skills/monitoring-instagram-hashtag-trends/SKILL.md.

What does monitoring-instagram-hashtag-trends do?

It scrapes Instagram posts for the hashtags you name and calculates average likes, comments, post volume and an opportunity score. From that it builds a tag set tiered by competition.

What do I need before running it?

An APIFY_TOKEN environment variable, set in your shell or a .env file. An Apify MCP server is optional, and there is a REST API fallback if you skip it.

Source text

SKILL.md · Apache-2.0
---
name: monitoring-instagram-hashtag-trends
description: >
  Monitors Instagram hashtag performance and trends using apidojo's Instagram scraper on Apify.
  Triggers when the user asks to: track Instagram hashtag performance, monitor trending hashtags
  in a niche on Instagram, find the best hashtags for a content category, analyze hashtag reach
  and engagement on Instagram, discover new hashtags gaining traction in an industry, compare
  hashtag performance for a brand, or build an optimal Instagram hashtag strategy for a post.
  Returns hashtag volume, avg engagement per post, growth trend, and top-performing posts per tag.
  Ideal for Instagram content creators, social media managers, and brand content teams.
license: Apache-2.0
metadata:
  author: apidojo
  version: "1.0"
  apify-actor: apidojo/instagram-scraper
---

# Monitoring Instagram Hashtag Trends

Analyzes hashtag performance on Instagram to identify which tags drive the best engagement for a content category. Builds a tiered hashtag strategy (broad/mid/niche) based on actual post data.

## Prerequisites

- `APIFY_TOKEN` environment 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: Scrape recent posts for each hashtag
- [ ] Step 2: Calculate per-hashtag metrics
- [ ] Step 3: Tier hashtags by competition/opportunity
- [ ] Step 4: Build recommended hashtag set
```

### Step 1: Scrape Hashtags


**Recommended — run_actor.js (handles waiting, output, and file saving automatically):**
```bash
# 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_TOKEN` must be set in environment or `.env` file.

**If Apify MCP is available:**
```
Tool: apify:run-actor
Actor: "apidojo~instagram-scraper"
Input:
{
  "keywords": ["[HASHTAG_1]", "[HASHTAG_2]", "..."],
  "maxItems": 50
}
```

**REST API fallback:**
```bash
curl -X POST   "https://api.apify.com/v2/acts/apidojo~instagram-scraper/runs?token=$APIFY_TOKEN"   -H "Content-Type: application/json"   -d '{"keywords": ["#[hashtag1]", "#[hashtag2]"], "maxItems": 50}'
```

Run per hashtag (or in batch if MCP supports multiple hashtags in one run).

### Step 2: Calculate Metrics

For each hashtag:
```
avg_likes = mean(likesCount for all sampled posts)
avg_comments = mean(commentsCount for all sampled posts)
engagement_per_post = avg_likes + avg_comments
post_volume_estimate = total posts shown (from platform, if available)

opportunity_score = engagement_per_post / (post_volume_estimate / 10000 + 1)
```
Higher score = better engagement relative to competition.

**Hashtag tier:**
- HIGH_COMPETITION: > 1M posts — hard to rank; use rarely
- MID_TIER: 100K–1M posts — good reach/competition balance
- NICHE: < 100K posts — easier to rank, less reach but more targeted

### Step 3: Edge Cases

- **Hashtag is banned**: If scrape returns 0 posts, hashtag may be banned by Instagram — drop from strategy
- **Very new hashtag** (< 1K posts): Can't calculate reliable metrics; flag as `EMERGING — LOW DATA`
- **Same posts appear across multiple hashtags**: Deduplicate when calculating engagement metrics; report true unique post count

## Output Format

```
# Instagram Hashtag Strategy: [NICHE]
Hashtags tested: [N] | Date: [DATE]

## Performance by Hashtag
| Hashtag | Est. Posts | Avg Likes/Post | Avg Comments | Tier | Opportunity Score |
|---------|-----------|---------------|-------------|------|-----------------|
| #[tag] | [N] | [N] | [N] | MID_TIER | [0.XX] |

## Recommended Hashtag Set (Mix Strategy)
Use 20-30 hashtags per post in this ratio:
- 5 HIGH_COMPETITION tags: [list]
- 10 MID_TIER tags: [list]
- 10 NICHE tags: [list]

## Banned / Restricted Hashtags
Avoid: [list of any hashtags that returned 0 results]
```

## Troubleshooting

**Engagement data varies widely**: Normal for Instagram; use median, not mean, to reduce outlier impact.
**Hashtag has many posts but low engagement**: High volume + low engagement = dominated by bots or spam — low-value for reach; deprioritize.
**Niche hashtag auto-generation produces no results**: Not all niches have well-established hashtag communities — focus on the ones that exist and perform.

© apidojo · Apache-2.0 · apidojo-io/apidojo-skills

Similar skills

Everything for Marketing and content →

From the same set22

tracking-brand-sentiment-across-platforms Pulls brand mentions from Twitter, Reddit and TikTok, scores sentiment per platform, and returns one brand health number from 0 to 100. CX Codex +1 767installs finding-tiktok-creators-by-location Finds TikTok creators and their videos by geographic location through apidojo's scraper on Apify. Useful for local campaigns and regional research. CX Codex +1 766installs tracking-google-serp-rankings A skill that pulls Google results for a keyword list: positions, URLs, titles, snippets and SERP features. Useful for SEO audits and competitor checks. CX Codex +1 763installs scraping-google-search-results Pulls Google search results for any query: URLs, titles, snippets, positions and SERP feature types. Handy when you need raw SERP data for SEO or competitor work. CX Codex +1 759installs benchmarking-instagram-influencer-engagement Pulls recent Instagram posts and turns them into engagement benchmarks: followers, average likes and comments, ER, posting frequency. CX Codex +1 757installs building-twitter-industry-watchlist Builds a curated list of key voices in an industry on X, with handle, follower count, engagement and an influence score. CX Codex +1 739installs scraping-tiktok-videos-by-hashtag Pulls TikTok videos for any hashtag or keyword through apidojo's scraper on Apify. Returns URL, views, likes, comments, shares and author per video. CX Codex +1 738installs finding-youtube-channels-by-growth-rate Finds YouTube channels with high growth rates in a niche using Apify's YouTube scraper. Useful for spotting rising creators before they get big. CX Codex +1 730installs

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor