finding-instagram-ugc-creators-for-brands — Claude Code skill
Finds Instagram creators for UGC campaigns and ranks them by engagement, niche signals, and profile data.
npx skills add apidojo-io/apidojo-skills --skill finding-instagram-ugc-creators-for-brands -a claude-codeWhat finding-instagram-ugc-creators-for-brands does
This skill searches Instagram for creators who post product-related content. It uses niche hashtags to collect accounts, removes duplicate handles, enriches profiles, and returns creator details such as followers, average likes, engagement rate, hashtags, and a bio link.
The workflow covers hashtag discovery, profile enrichment, UGC-fit scoring, and creator-list delivery. Runs can use scripts/run_actor.js, Apify MCP, or the REST API with the apidojo~instagram-scraper actor on Apify.
Set APIFY_TOKEN in the environment or in .env before running it. Without APIFY_TOKEN, the script and REST request cannot start. Private profiles are skipped when their content cannot be assessed.
What it helps with
- find Instagram creators for a product campaign
- collect accounts from niche hashtags
- rank profiles by engagement rate
- flag creators who may already be contracted
- export a creator list as CSV or JSON
Example prompts for the agent
- Find Instagram UGC creators for a skincare product campaign and rank them by engagement.
- Search review and community hashtags, then save the results to
creators.csv. - Run
apidojo~instagram-scraperfor these profiles and identify the strongest UGC matches.
How to install finding-instagram-ugc-creators-for-brands
1Skills CLI (Vercel)
npx skills add apidojo-io/apidojo-skills --skill finding-instagram-ugc-creators-for-brands -a claude-code2Manually: put the files in place
~/.claude/skills/finding-instagram-ugc-creators-for-brands/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/finding-instagram-ugc-creators-for-brands/
1Skills CLI (Vercel)
npx skills add apidojo-io/apidojo-skills --skill finding-instagram-ugc-creators-for-brands -a codex2Manually: put the files in place
.agents/skills/finding-instagram-ugc-creators-for-brands/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add apidojo-io/apidojo-skills --skill finding-instagram-ugc-creators-for-brands -a cursor2Manually: put the files in place
.cursor/skills/finding-instagram-ugc-creators-for-brands/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install apidojo-io/apidojo-skills finding-instagram-ugc-creators-for-brands2Manually: put the files in place
.github/skills/finding-instagram-ugc-creators-for-brands/SKILL.md1Skills CLI (Vercel)
npx skills add apidojo-io/apidojo-skills --skill finding-instagram-ugc-creators-for-brands -a gemini-cli2Platform CLI
gemini skills install https://github.com/apidojo-io/apidojo-skills --path skills/intent/finding-instagram-ugc-creators-for-brandsManually: put the files in place
.devin/skills/finding-instagram-ugc-creators-for-brands/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add apidojo-io/apidojo-skills --skill finding-instagram-ugc-creators-for-brands -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: How to install skills in Claude Code: five ways
Questions about finding-instagram-ugc-creators-for-brands
How do I install finding-instagram-ugc-creators-for-brands in Claude Code?
Run npx skills add apidojo-io/apidojo-skills --skill finding-instagram-ugc-creators-for-brands -a claude-code, then check ~/.claude/skills/finding-instagram-ugc-creators-for-brands/SKILL.md.
What does finding-instagram-ugc-creators-for-brands do?
It searches Instagram by niche hashtags, gathers profile data, and scores creators for UGC campaigns. The output includes account metrics and relevant hashtags.
What does the skill need to run?
Set APIFY_TOKEN in the environment or .env. The workflow runs the apidojo~instagram-scraper actor on Apify, with Apify MCP as another available route.
Source text
SKILL.md · Apache-2.0
---
name: finding-instagram-ugc-creators-for-brands
description: >
Finds Instagram UGC creators for brand campaigns using apidojo's Instagram scraper on Apify.
Triggers when the user asks to: find Instagram UGC creators for product campaigns, discover
micro-influencers posting organic product reviews on Instagram, identify creators for paid
partnership posts or product seeding on Instagram, find authentic lifestyle creators in beauty
food fitness or home decor, build an Instagram UGC creator list for a DTC brand, or find
creators posting about a product category with strong engagement.
Returns creator handle, follower count, avg likes, engagement rate, niche hashtags, and bio link.
Ideal for DTC brands, e-commerce companies, and influencer campaign managers.
license: Apache-2.0
metadata:
author: apidojo
version: "1.0"
apify-actor: apidojo/instagram-scraper
---
# Finding Instagram UGC Creators for Brands
Discovers Instagram micro-creators who produce authentic product content. Nano (1K–10K) and micro (10K–100K) creators on Instagram drive 3–5× higher engagement than macro-influencers on sponsored content.
## 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: Search niche hashtags on Instagram
- [ ] Step 2: Collect and deduplicate creator handles
- [ ] Step 3: Enrich profiles
- [ ] Step 4: Score UGC fit
- [ ] Step 5: Deliver creator list
```
### Step 1: Search Niche Hashtags
Target hashtags that UGC creators use (not brand accounts):
```
Primary: #[niche]review, #[niche]recommendations, #honest[niche]review
Supporting: #[niche]community, #[niche]lover, #[niche]obsessed
Broad: #[niche], #[niche]gram, #my[niche]
```
**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": ["#[niche]review", "#[niche]recommendations", "#[niche]community"],
"maxItems": 100
}
```
**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": ["#skincarereviews", "#skincareobsessed", "#honestskincarereviews"],
"maxItems": 100
}'
```
Collect unique `ownerUsername` values from results.
### Step 2: Profile Enrichment
**If Apify MCP is available:**
```
Tool: apify:run-actor
Actor: "apidojo~instagram-scraper"
Input:
{
"usernames": ["[username1]", "[username2]", "..."],
"maxItems": 12
}
```
### Step 3: Score UGC Fit
```
engagement_rate = (avg_likes + avg_comments) / follower_count * 100
authenticity_signal = (is_not_verified ? 1 : 0) * 0.20
+ (follower_count < 100000 ? 1 : 0.5) * 0.20
+ (posts_with_product_content >= 3 ? 1 : posts/3) * 0.30
+ (engagement_rate >= min_engagement_rate ? 1 : engagement_rate/min_engagement_rate) * 0.30
```
**Tier:** TIER 1 ≥ 0.75 | TIER 2 0.50–0.74 | TIER 3 < 0.50
### Step 4: Edge Cases
- **Brand ambassador accounts appear** (always using product): Check for `#ad` or `#sponsored` in every recent post — flag as `ALREADY_CONTRACTED`
- **Private accounts appear**: Skip — cannot assess content quality
- **Follower count doesn't match scrape**: If `follower_count = 0` in scrape output, retry profile fetch; Instagram sometimes throttles profile data
- **Location filter not matching**: Instagram bio location field is free-text — use contains match: bio.lower() contains country/city name
## Output Format
```
# Instagram UGC Creator List: [NICHE]
Creators evaluated: [N] | TIER 1: [N] | TIER 2: [N] | Date: [DATE]
## TIER 1 — Prime UGC Creators
| Creator | Handle | Followers | Avg Likes | Avg Comments | Eng Rate | Authenticity Score |
|---------|--------|-----------|-----------|--------------|----------|-------------------|
| [name] | @[handle] | [N] | [N] | [N] | [X%] | [0.XX] |
## TIER 2 — Worth Testing
| Creator | Followers | Avg Likes | Eng Rate | Location |
|---------|-----------|-----------|----------|---------|
## Top Performing Hashtags for This Niche
| Hashtag | Posts Found | Avg Likes per Post | Creator Quality (High/Med/Low) |
|---------|------------|-------------------|-------------------------------|
```
## Troubleshooting
**Hashtag returns only brand posts**: Add "review" or "honest" to hashtags to anchor on consumer voice.
**All creators already contracted**: Common in saturated niches — search adjacent sub-niches.
**Engagement rate < 3% across results**: Hashtag may be too popular and dominated by low-engagement accounts. Switch to long-tail hashtags like `#[niche][city]` or `#[brand]community`.
© apidojo · Apache-2.0 · apidojo-io/apidojo-skills