agentsclimarketplace

Twitter mention tracker

Skill gooseworks-ai/goose-skills/skills/monitoring/capabilities/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.From its SKILL.md

Install
npx -y skills add gooseworks-ai/goose-skills --skill twitter-mention-tracker

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

SKILL.md

3.1 KB, 800 tokens by cl100k_base, as published. Nobody here has run it

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

What ships with it: 2 files

8.2 KB alongside SKILL.md, 1 of them executable

scripts/

Keep looking

Skills are one crate of 325,949. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.