apidojo-io/apidojo-skills

analyzing-competitor-instagram-content-strategy

Analyzes a competitor's Instagram content strategy and performance using apidojo's Instagram scraper on Apify.

View source

How to use

  1. Copy the installation command and review the source package before installing it in your own agent environment.
  2. Check the source document for required tools, credentials and supported hosts.
  3. Describe your input and desired deliverable; review the output against the source material.
npx skills add https://github.com/apidojo-io/apidojo-skills --skill analyzing-competitor-instagram-content-strategy

Before you start

  • Installation does not include a model subscription, API allowance or permission to access your files.
  • Repository stars and installation counts describe activity, not an independent quality or security test.
Original skill document

Rendered from the source repository. Headings, examples, code, tables, links, and referenced images are preserved.

Analyzing Competitor Instagram Content Strategy

Reverse-engineers a competitor's Instagram content strategy by analyzing their last 50+ posts. Identifies what content formats, themes, and posting patterns drive their highest engagement.

Prerequisites

  • APIFY_TOKEN environment variable set
  • Optional: Apify MCP server installed

Inputs

ParameterTypeRequiredDefaultNotes
startUrlsarray✅[]Instagram URLs — profiles, hashtags, locations, audio pages, reels
untilstringOptional—Scrape posts until this date (YYYY-MM-DD)
maxItemsnumberOptionalUnlimitedMaximum posts to return
customMapFunctionstringOptional—JavaScript function to transform each output object

Workflow

Progress:
- [ ] Step 1: Scrape competitor's recent posts
- [ ] Step 2: Classify content types
- [ ] Step 3: Calculate engagement metrics per content type
- [ ] Step 4: Analyze posting patterns
- [ ] Step 5: (Optional) Compare to your account
- [ ] Step 6: Deliver strategy report

Step 1: Scrape Competitor Profile

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:
{
  "usernames": ["[COMPETITOR_HANDLE]"],
  "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 '{"usernames": ["competitor_handle"], "maxItems": 50}'

Step 2: Content Classification

For each post, classify:

content_type:
  PRODUCT = post primarily shows product
  LIFESTYLE = product in context / aspirational
  EDUCATIONAL = tips, how-to, facts (carousel with text)
  SOCIAL_PROOF = testimonial, user tag, press feature
  ENTERTAINMENT = meme, trending audio, humor
  PROMOTIONAL = sale, discount, CTA-heavy
  BEHIND_SCENES = team, office, process

Format: IMAGE | VIDEO | CAROUSEL

Step 3: Calculate Metrics

engagement_rate = (likes + comments) / follower_count * 100

per_type_avg_engagement = avg(engagement_rate for all posts of that type)

content_type_share = count(posts of type) / total_posts * 100

Top performing post: highest (likes + comments * 3) — comments weighted higher as active signal.

Posting cadence:

posts_per_week = total_posts / (date_range_days / 7)
best_day = day_of_week with highest avg engagement
best_hour = hour_of_day with highest avg engagement (use post `timestamp`)

Step 4: Edge Cases

  • Competitor has very few posts (< 20): Report available data; note low sample size; extend to 180-day window
  • Engagement rate << 1%: Account may have bot followers or inactive audience; note this as "audience quality concern"
  • All posts are product/promo: This competitor is over-indexed on promotional content — opportunity for content that educates or entertains
  • Carousel shows as single image: Some scrapers return first image only; note when type = CAROUSEL for accurate content type count

Output Format

# Competitor Instagram Strategy: @[COMPETITOR_HANDLE]
Posts analyzed: [N] | Followers: [N] | Overall Eng Rate: [X%] | Date: [DATE]

## Content Mix
| Type | % of Posts | Avg Eng Rate | Best Post Example |
|------|-----------|-------------|------------------|
| Product | [X%] | [X%] | [post excerpt] |
| Lifestyle | [X%] | [X%] | |
| Educational | [X%] | [X%] | |

## Format Distribution
Images: [X%] | Carousels: [X%] | Videos/Reels: [X%]
Best format by engagement: [FORMAT] ([X%] eng rate)

## Top 5 Posts (by Engagement)
| # | Type | Format | Likes | Comments | Eng Rate | Caption Preview |
|---|------|--------|-------|----------|----------|----------------|

## Posting Cadence
Frequency: [X] posts/week | Best day: [Day] | Best hour: [HH:00]

## Key Observations
1. [Pattern observation — e.g. "Carousel educational posts get 2× engagement of product posts"]
2. [Observation]
3. [Opportunity gap]

Troubleshooting

Scraper returns only recent 12 posts: Instagram limits API access to recent posts. For 50-post analysis, run scraper and note actual count returned. Engagement rate seems wrong: Verify follower_count is current — scraper may return the follower count at time of scrape, which could differ from post-date count for historical posts. Competitor has very high engagement: Distinguish between genuine engagement and pods/bought engagement — genuine engagement shows variety in commenters; pod engagement shows the same accounts commenting repeatedly.

Related by task

from this repository

More skills

All skills
apidojo-io
Community

finding-industry-event-coverage-google

Finds industry event and conference coverage on Google using apidojo's Google Search scraper. Triggers when the user asks to: find coverage of an industry conference or event on Google, track press coverage of a trade show or summit, research what was announced at a conference, find news and recaps of an industry event, discover what happened at a recent trade show, find speaker quotes or session summaries from a conference, or compile event coverage for competitive intelligence. Returns article

1h installs
1
GitHub stars
1
Updated
May 13
apidojo-io
Community

finding-tiktok-shop-trending-products

Finds trending products on TikTok Shop using apidojo's TikTok scraper on Apify. Triggers when the user asks to: find trending TikTok Shop products, discover what products are selling on TikTok Shop right now, identify viral TikTok Shop items in a category, find trending items with TikTok affiliate links, research TikTok Shop bestsellers, discover products going viral on TikTok for e-commerce, find hot items being promoted by TikTok creators, or build a trending product list from TikTok Shop data

1h installs
1
GitHub stars
1
Updated
May 13
apidojo-io
Community

finding-tiktok-ugc-creators-for-brands

Finds TikTok UGC creators for brand campaigns using apidojo's TikTok scrapers on Apify. Triggers when the user asks to: find TikTok creators for user-generated content, discover UGC creators in a product category on TikTok, find micro-creators who post organic product reviews on TikTok, identify TikTok creators for paid UGC campaigns, find authentic content creators in beauty food tech or fitness on TikTok, or build a UGC creator roster for a brand. Returns creator handle, follower count, avg vi

1h installs
2
GitHub stars
1
Updated
May 13
apidojo-io
Community

finding-twitter-spaces-hosts-by-topic

Finds Twitter Spaces hosts in a specific topic area using apidojo's Twitter scrapers. Triggers when the user asks to: find Twitter Spaces hosts in a niche, discover people who run Twitter Spaces about a topic, find Spaces hosts to collaborate with or get featured on, identify active Twitter Spaces communities in an industry, find hosts running regular business or tech Spaces on Twitter, build a Twitter Spaces outreach list for thought leadership, or discover Twitter audio show hosts in a profess

1h installs
2
GitHub stars
1
Updated
May 13