Skill flagged — suspicious patterns detected

ClawHub Security flagged this skill as suspicious. Review the scan results before using.

Apify Competitor Intelligence

v1.0.1

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

4· 1.2k· 2 versions· 5 current· 5 all-time· Updated 7h ago· MIT-0

Install

openclaw skills install apify-competitor-intelligence

Competitor Intelligence

Analyze competitors using Apify Actors to extract data from multiple platforms.

Prerequisites

  • APIFY_TOKEN configured in OpenClaw settings
  • Node.js 20.6+
  • mcpc CLI (auto-installed via skill metadata)

Input Sanitization Rules

Before substituting any value into a bash command:

  • ACTOR_ID: Must be either a technical name (owner/actor-name — alphanumeric, hyphens, dots, one slash) or a raw ID (exactly 17 alphanumeric characters, e.g., oeiQgfg5fsmIJB7Cn). Reject values containing shell metacharacters (; | & $ ` ( ) { } < > ! \n).
  • SEARCH_KEYWORDS: Plain text words only. Reject shell metacharacters.
  • JSON_INPUT: Must be valid JSON. Must not contain single quotes (use escaped double quotes). Validate structure before use.
  • Output filenames: Must match YYYY-MM-DD_descriptive-name.{csv,json}. No path separators (/, ..), no spaces, no metacharacters.

Workflow

Copy this checklist and track progress:

Task Progress:
- [ ] Step 1: Identify competitor analysis type (select Actor)
- [ ] Step 2: Fetch Actor schema via mcpc
- [ ] 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 datacompass/crawler-google-placesLocation analysis
Competitor contact discoverypoidata/google-maps-email-extractorEmail extraction
Feature benchmarkingcompass/google-maps-extractorDetailed business data
Competitor review analysiscompass/Google-Maps-Reviews-ScraperReview comparison
Hotel competitor datavoyager/booking-scraperHotel benchmarking
Hotel review comparisonvoyager/booking-reviews-scraperReview analysis
Competitor ad strategiesapify/facebook-ads-scraperAd creative analysis
Competitor page metricsapify/facebook-pages-scraperPage performance
Competitor content analysisapify/facebook-posts-scraperPost strategies
Competitor reels performanceapify/facebook-reels-scraperReels analysis
Competitor audience analysisapify/facebook-comments-scraperComment sentiment
Competitor event monitoringapify/facebook-events-scraperEvent tracking
Competitor audience overlapapify/facebook-followers-following-scraperFollower analysis
Competitor review benchmarkingapify/facebook-reviews-scraperReview comparison
Competitor ad monitoringapify/facebook-search-scraperAd discovery
Competitor profile metricsapify/instagram-profile-scraperProfile analysis
Competitor content monitoringapify/instagram-post-scraperPost tracking
Competitor engagement analysisapify/instagram-comment-scraperComment analysis
Competitor reel performanceapify/instagram-reel-scraperReel metrics
Competitor growth trackingapify/instagram-followers-count-scraperFollower tracking
Comprehensive competitor dataapify/instagram-scraperFull analysis
API-based competitor analysisapify/instagram-api-scraperAPI access
Competitor video analysisstreamers/youtube-scraperVideo metrics
Competitor sentiment analysisstreamers/youtube-comments-scraperComment sentiment
Competitor channel metricsstreamers/youtube-channel-scraperChannel analysis
TikTok competitor analysisclockworks/tiktok-scraperTikTok data
Competitor video strategiesclockworks/tiktok-video-scraperVideo analysis
Competitor TikTok profilesclockworks/tiktok-profile-scraperProfile data

Step 2: Fetch Actor Schema

Fetch the Actor's input schema and details dynamically using mcpc:

mcpc --json mcp.apify.com --header "Authorization: Bearer $APIFY_TOKEN" tools-call fetch-actor-details actor:="ACTOR_ID" | jq -r ".content"

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

This returns:

  • Actor description and README
  • Required and optional input parameters
  • Output fields (if available)

Step 3: Ask User Preferences

Before running, 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

Step 4: Run the Script

Quick answer (display in chat, no file):

node {baseDir}/reference/scripts/run_actor.js \
  --actor 'ACTOR_ID' \
  --input 'JSON_INPUT'

CSV:

node {baseDir}/reference/scripts/run_actor.js \
  --actor 'ACTOR_ID' \
  --input 'JSON_INPUT' \
  --output 'YYYY-MM-DD_OUTPUT_FILE.csv' \
  --format csv

JSON:

node {baseDir}/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)

Security & Data Privacy

This skill instructs the agent to select an Apify Actor, fetch its schema (via mcpc), and run scrapers. The included script communicates only with api.apify.com and writes outputs to files under the current working directory; it does not access unrelated system files or other environment variables.

Apify Actors only scrape publicly available data and do not collect private or personally identifiable information beyond what is openly accessible on the target platforms. For additional security assurance, you can check an Actor's permission level by querying https://api.apify.com/v2/acts/:actorId — an Actor with LIMITED_PERMISSIONS operates in a restricted sandbox, while FULL_PERMISSIONS indicates broader system access. For full details, see Apify's General Terms and Conditions.

Error Handling

APIFY_TOKEN not found - Ask user to configure APIFY_TOKEN in OpenClaw settings mcpc not found - Run npm install -g @apify/mcpc 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

Version tags

latestvk977gpwz2cfy8wg00gmw96pahx80y9ch

Runtime requirements

Binsnode, mcpc
EnvAPIFY_TOKEN
Primary envAPIFY_TOKEN

Install

Node
Bins: mcpc
npm i -g @apify/mcpc