analyzing-competitor-twitter-profile-content

v2026.09.24

Extracts and analyzes tweet history from competitor or brand Twitter profiles using apidojo's Twitter Profile Scraper on Apify. Triggers when the user asks to: get all tweets from a competitor's Twitter account, analyze what a company posts on Twitter, audit a brand's tweet history, track what topics a competitor covers on X, compare Twitter content strategy between brands, extract posts from a company's Twitter timeline, or monitor a competitor's messaging and announcements on Twitter. Returns tweet text, engagement metrics (likes, retweets, replies, views), and author data. Ideal for competitive intelligence teams, PR analysts, and brand strategists.

GitHub
Install command
npx skhub add apidojo-io/analyzing-competitor-twitter-profile-content
Markdown
SKILL.md

Analyzing Competitor Twitter Profile Content


Inputs

ParameterTypeRequiredDefaultNotes
startUrlsarrayOptional[]Twitter profile URLs (x.com or twitter.com formats)
twitterHandlesarrayOptional[]Twitter usernames (without @)
startstringOptional—Tweets after this date (YYYY-MM-DD or YYYY-MM-DD_HH:MM:SS_UTC)
endstringOptional—Tweets before this date (YYYY-MM-DD or YYYY-MM-DD_HH:MM:SS_UTC)
includeNativeRetweetsbooleanOptionalfalseInclude native retweets in results
onlyImagesbooleanOptionalfalseOnly tweets containing images
getRepliesbooleanOptionalfalseInclude tweet replies
minReplyCountnumberOptional—Minimum reply count threshold
getAboutDatabooleanOptionalfalseFetch full profile about data
maxItemsnumberOptionalUnlimitedMaximum tweets to return
customMapFunctionstringOptional—JavaScript function to transform each output object

How to Run

Using run_actor.js (recommended)

# Quick answer (table)
node scripts/run_actor.js --actor "apidojo~twitter-profile-scraper" --input '{"twitterHandles": ["competitor_handle"], "maxItems": 100}'

# Save as CSV
node scripts/run_actor.js --actor "apidojo~twitter-profile-scraper" --input '{"twitterHandles": ["competitor_handle"], "maxItems": 100}' --output results.csv --format csv

# Save as JSON
node scripts/run_actor.js --actor "apidojo~twitter-profile-scraper" --input '{"twitterHandles": ["competitor_handle"], "maxItems": 100}' --output results.json --format json

REST API fallback

curl -X POST "https://api.apify.com/v2/acts/apidojo~twitter-profile-scraper/runs" \
  -H "Authorization: Bearer $APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"twitterHandles": ["competitor_handle"], "maxItems": 100}'

If Apify MCP is available: Use the Apify MCP call_actor tool with actor apidojo~twitter-profile-scraper and the input above.


Scoring & Ranking

Score each tweet for competitive intelligence value:

  • engagement_total = likeCount + retweetCount + replyCount + quoteCount → normalized 0-1 (cap at 10K), weight 0.50
  • viewCount → normalized 0-1 (cap at 500K), weight 0.30
  • has_media (contains image or video) → 0 or 1, weight 0.20
score = 0.50 * min(engagement_total / 10000, 1.0) + 0.30 * min(viewCount / 500000, 1.0) + 0.20 * int(has_media)

Classification

ScoreTierLabel
≥ 0.70AHIGH_IMPACT_TWEET
0.40–0.69BNOTABLE_TWEET
< 0.40CLOW_ENGAGEMENT

Edge Cases

  • Private account: Returns 0 tweets. Check if competitor locked their account.
  • Minimum 40 tweets: First 40 are included at base pricing. For more, cost is $0.0004/tweet.
  • Retweets included: Results include RTs. Filter by checking if text starts with "RT @".
  • Date range + few results: Some accounts tweet rarely — widen date range or remove filter.
  • Multiple competitors: Run for each handle separately and combine datasets.
Discovery
Tags

No tags published for this skill.

Version
Latest version metadata

Version

v2026.09.24

Published

Sep 24, 2026

Category

Uncategorized

License

Apache-2.0

Source path

skills/intent/analyzing-competitor-twitter-profile-content

Default branch

main

Latest commit

ffbdc00

Tree SHA

c7df562