Mode d’emploi
- Copiez la commande et examinez le paquet avant de l’installer dans votre environnement agent.
- Consultez le document original pour les outils, identifiants et environnements requis.
- Décrivez les entrées et le livrable souhaité ; comparez la sortie aux sources.
npx skills add https://github.com/apidojo-io/apidojo-skills --skill analyzing-competitor-twitter-profile-contentAvant de commencer
- L’installation n’inclut ni abonnement au modèle, ni quota API, ni accès aux fichiers.
- Étoiles et installations reflètent l’activité, pas un test indépendant de qualité ou de sécurité.
Rendu depuis le dépôt source en conservant titres, exemples, code, tableaux, liens et images.
Analyzing Competitor Twitter Profile Content
Inputs
| Parameter | Type | Required | Default | Notes |
|---|---|---|---|---|
startUrls | array | Optional | [] | Twitter profile URLs (x.com or twitter.com formats) |
twitterHandles | array | Optional | [] | Twitter usernames (without @) |
start | string | Optional | — | Tweets after this date (YYYY-MM-DD or YYYY-MM-DDHH:MM:SSUTC) |
end | string | Optional | — | Tweets before this date (YYYY-MM-DD or YYYY-MM-DDHH:MM:SSUTC) |
includeNativeRetweets | boolean | Optional | false | Include native retweets in results |
onlyImages | boolean | Optional | false | Only tweets containing images |
getReplies | boolean | Optional | false | Include tweet replies |
minReplyCount | number | Optional | — | Minimum reply count threshold |
getAboutData | boolean | Optional | false | Fetch full profile about data |
maxItems | number | Optional | Unlimited | Maximum tweets to return |
customMapFunction | string | Optional | — | 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 jsonREST 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.50viewCount→ normalized 0-1 (cap at 500K), weight 0.30has_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
| Score | Tier | Label |
|---|---|---|
| ≥ 0.70 | A | HIGHIMPACTTWEET |
| 0.40–0.69 | B | NOTABLE_TWEET |
| < 0.40 | C | LOW_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.




