skills/apify/awesome-skills/apify-competitor-intelligence

apify-competitor-intelligence

Originally fromapify/agent-skills
SKILL.md

Competitor Intelligence

Analyze competitors using Apify Actors to extract 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)

Workflow

Copy this checklist and track progress:

Task Progress:
- [ ] Step 1: Identify competitor analysis type (select Actor)
- [ ] Step 2: Fetch Actor schema
- [ ] Step 3: Ask user preferences (format, filename)
- [ ] Step 4: Run the analysis script
- [ ] Step 5: Summarize findings

Step 1: Identify Competitor Analysis Type

Select the appropriate Actor based on analysis needs:

User Need Actor ID Best For
Competitor business data compass/crawler-google-places Location analysis
Competitor contact discovery poidata/google-maps-email-extractor Email extraction
Feature benchmarking compass/google-maps-extractor Detailed business data
Competitor review analysis compass/Google-Maps-Reviews-Scraper Review comparison
Hotel competitor data voyager/booking-scraper Hotel benchmarking
Hotel review comparison voyager/booking-reviews-scraper Review analysis
Competitor ad strategies apify/facebook-ads-scraper Ad creative analysis
Competitor page metrics apify/facebook-pages-scraper Page performance
Competitor content analysis apify/facebook-posts-scraper Post strategies
Competitor reels performance apify/facebook-reels-scraper Reels analysis
Competitor audience analysis apify/facebook-comments-scraper Comment sentiment
Competitor event monitoring apify/facebook-events-scraper Event tracking
Competitor audience overlap apify/facebook-followers-following-scraper Follower analysis
Competitor review benchmarking apify/facebook-reviews-scraper Review comparison
Competitor ad monitoring apify/facebook-search-scraper Ad discovery
Competitor profile metrics apify/instagram-profile-scraper Profile analysis
Competitor content monitoring apify/instagram-post-scraper Post tracking
Competitor engagement analysis apify/instagram-comment-scraper Comment analysis
Competitor reel performance apify/instagram-reel-scraper Reel metrics
Competitor growth tracking apify/instagram-followers-count-scraper Follower tracking
Comprehensive competitor data apify/instagram-scraper Full analysis
API-based competitor analysis apify/instagram-api-scraper API access
Competitor video analysis streamers/youtube-scraper Video metrics
Competitor sentiment analysis streamers/youtube-comments-scraper Comment sentiment
Competitor channel metrics streamers/youtube-channel-scraper Channel analysis
TikTok competitor analysis clockworks/tiktok-scraper TikTok data
Competitor video strategies clockworks/tiktok-video-scraper Video analysis
Competitor TikTok profiles clockworks/tiktok-profile-scraper Profile data

Step 2: Fetch Actor Schema

Fetch the Actor's input schema and details:

node --env-file=.env ${CLAUDE_PLUGIN_ROOT}/reference/scripts/fetch_actor_details.js --actor "ACTOR_ID"

Replace ACTOR_ID with the selected Actor (e.g., compass/crawler-google-places).

This returns:

  • Actor info (title, description, URL, categories, stats, rating)
  • README summary
  • Input schema (required and optional parameters)

Step 3: Ask User Preferences

Skip this step for simple lookups (e.g., "what's Nike's follower count?", "find me 5 coffee shops in Prague") — just use quick answer mode and move to Step 4.

For larger scraping tasks, 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

Cost safety: Always set a sensible result limit in the Actor input (e.g., maxResults, resultsLimit, maxCrawledPages, or equivalent field from the input schema). Default to 100 results unless the user explicitly asks for more. Warn the user before running large scrapes (1000+ results) as they consume more Apify credits.

Step 4: Run the Script

Quick answer (display in chat, no file):

node --env-file=.env ${CLAUDE_PLUGIN_ROOT}/reference/scripts/run_actor.js \
  --actor "ACTOR_ID" \
  --input 'JSON_INPUT'

CSV:

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:

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 competitors analyzed
  • File location and name
  • Key competitive insights
  • Suggested next steps (deeper analysis, benchmarking)

Error Handling

APIFY_TOKEN not found - Ask user to create .env with APIFY_TOKEN=your_token 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

Weekly Installs
21
GitHub Stars
3
First Seen
14 days ago
Installed on
gemini-cli20
github-copilot20
codex20
amp20
cline20
kimi-cli20