apify-competitor-intelligence

Original🇺🇸 English
Not Translated
2 scripts

Analyze competitor strategies, content, pricing, ads, and market positioning across Google Maps, Booking.com, Facebook, Instagram, YouTube, and TikTok.

1installs
Added on

NPX Install

npx skill4agent add apify/awesome-skills apify-competitor-intelligence

SKILL.md Content

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 NeedActor IDBest 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:
bash
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):
bash
node --env-file=.env ${CLAUDE_PLUGIN_ROOT}/reference/scripts/run_actor.js \
  --actor "ACTOR_ID" \
  --input 'JSON_INPUT'
CSV:
bash
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:
bash
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