✓ Verified ✍️ Content Creation ✓ Enhanced Data

Apify Competitor Intelligence

Analyze competitor strategies, content, pricing, ads, and market positioning across Google Maps, Boo

Rating
4.3 (215 reviews)
Downloads
1,634 downloads
Version
1.0.0

Overview

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

Key Features

1

Identify Competitor Analysis Type

2

Fetch Actor Schema

3

Ask User Preferences

4

Run the Script

5

Summarize Findings

Complete Documentation

View Source →

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:

text
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:

bash
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:

  • 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
  • Number of results: Based on character of use case

Step 4: Run the Script

Quick answer (display in chat, no file):

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

CSV:

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

JSON:

bash
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`

Installation

Terminal bash

openclaw install apify-competitor-intelligence
    
Copied!

💻Code Examples

- [ ] Step 5: Summarize findings

----step-5-summarize-findings.txt
### 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 dynamically using mcpc:

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

mcpc---json-mcpapifycom---header-authorization-bearer-apifytoken-tools-call-fetch-actor-details-actoractorid--jq--r-content.txt
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):**
example.txt
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
example.sh
node {baseDir}/reference/scripts/run_actor.js \
  --actor 'ACTOR_ID' \
  --input 'JSON_INPUT'
example.sh
node {baseDir}/reference/scripts/run_actor.js \
  --actor 'ACTOR_ID' \
  --input 'JSON_INPUT' \
  --output 'YYYY-MM-DD_OUTPUT_FILE.csv' \
  --format csv
example.sh
node {baseDir}/reference/scripts/run_actor.js \
  --actor 'ACTOR_ID' \
  --input 'JSON_INPUT' \
  --output 'YYYY-MM-DD_OUTPUT_FILE.json' \
  --format json

Tags

#media_and-streaming #api

Quick Info

Category Content Creation
Model Gemini 2.0
Complexity One-Click
Author protoss70
Last Updated 3/10/2026
🚀
Optimized for
Gemini 2.0
💎

Ready to Install?

Get started with this skill in seconds

openclaw install apify-competitor-intelligence