CtrlK
BlogDocsLog inGet started
Tessl Logo

twitter-mention-tracker

Search and scrape Twitter/X posts using Apify. Use when you need to find tweets, track brand mentions, monitor competitors on Twitter, or analyze Twitter discussions. Uses Twitter native search syntax (since:/until:) for reliable date filtering.

76

Quality

95%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

Low

Low-risk findings worth noting

SKILL.md
Quality
Evals
Security

Twitter Mention Tracker

Search Twitter/X posts using the Apify apidojo/tweet-scraper actor.

Quick Start

Requires APIFY_API_TOKEN env var (or --token flag).

# Search with date range (recommended -- uses Twitter native since:/until: operators)
python3 skills/twitter-mention-tracker/scripts/search_twitter.py \
  --query "YourCompany" --since 2026-02-15 --until 2026-02-23

# Quick summary of recent mentions
python3 skills/twitter-mention-tracker/scripts/search_twitter.py \
  --query "@yourhandle" --max-tweets 20 --output summary

# Search without date filtering
python3 skills/twitter-mention-tracker/scripts/search_twitter.py \
  --query "AI content marketing" --max-tweets 50

Date Filtering

Important: The apidojo/tweet-scraper actor's built-in date parameters are unreliable. This script embeds since:YYYY-MM-DD and until:YYYY-MM-DD directly into the search query string, using Twitter's native advanced search syntax. This ensures date filtering works correctly server-side.

How the Script Works

  1. Builds a search term with the query quoted and date operators appended
  2. Calls the Apify apidojo/tweet-scraper actor via REST API
  3. Polls until the run completes, then fetches the dataset
  4. Deduplicates by tweet ID/URL
  5. Applies optional keyword filtering (client-side)
  6. Sorts by likes (descending) and outputs JSON or summary

CLI Reference

FlagDefaultDescription
--queryrequiredSearch query (quoted in Twitter search)
--sincenoneStart date YYYY-MM-DD (inclusive)
--untilnoneEnd date YYYY-MM-DD (exclusive)
--max-tweets50Max tweets to scrape
--keywordsnoneAdditional filter keywords (comma-separated, OR logic)
--outputjsonOutput format: json or summary
--tokenenv varApify token (prefer APIFY_API_TOKEN env var)
--timeout300Max seconds to wait for the Apify run

Direct API Usage

{
  "searchTerms": ["\"YourCompany\" since:2026-02-15 until:2026-02-22"],
  "maxTweets": 50,
  "searchMode": "live"
}

Output Format

Tweets are returned as JSON array sorted by likes. Each tweet has:

{
  "id": "...",
  "text": "Tweet text...",
  "fullText": "Full tweet text...",
  "likeCount": 42,
  "retweetCount": 5,
  "replyCount": 3,
  "viewCount": 1200,
  "createdAt": "2026-02-18T12:00:00.000Z",
  "author": {"userName": "handle", "name": "Display Name", ...},
  "twitterUrl": "https://twitter.com/..."
}

Common Workflows

Competitor Monitoring

python3 skills/twitter-mention-tracker/scripts/search_twitter.py \
  --query "CompetitorName" --since 2026-02-15 --until 2026-02-23 --output summary

Brand Mention Tracking

python3 skills/twitter-mention-tracker/scripts/search_twitter.py \
  --query "@YourHandle OR \"YourBrand\"" --max-tweets 100
Repository
gooseworks-ai/goose-skills
Last updated
First committed

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.