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.
npx gooseworks install --all # then, in Claude Code, Cursor, or Codex: /gooseworks use the twitter-mention-tracker skill
Search Twitter/X posts using the Apify apidojo/tweet-scraper actor.
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 50Important: 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.
apidojo/tweet-scraper actor via REST API| Flag | Default | Description |
|---|---|---|
--query | required | Search query (quoted in Twitter search) |
--since | none | Start date YYYY-MM-DD (inclusive) |
--until | none | End date YYYY-MM-DD (exclusive) |
--max-tweets | 50 | Max tweets to scrape |
--keywords | none | Additional filter keywords (comma-separated, OR logic) |
--output | json | Output format: json or summary |
--token | env var | Apify token (prefer APIFY_API_TOKEN env var) |
--timeout | 300 | Max seconds to wait for the Apify run |
{
"searchTerms": ["\"YourCompany\" since:2026-02-15 until:2026-02-22"],
"maxTweets": 50,
"searchMode": "live"
}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/..."
}python3 skills/twitter-mention-tracker/scripts/search_twitter.py \
--query "CompetitorName" --since 2026-02-15 --until 2026-02-23 --output summarypython3 skills/twitter-mention-tracker/scripts/search_twitter.py \
--query "@YourHandle OR \"YourBrand\"" --max-tweets 100Full video production sequence with script review, actual ingredient choices, controlled generation, editing, evidence-based quality review, polish, captions and delivery. A host binding supplies project storage, authentic approvals, provider access and billing.
Build a vox-pop street interview video ad. An interviewer with a handheld mic asks passers-by one question about the brand's product, they give blunt wrong guesses, one gives the real answer, and the cut lands on a branded end card. Generates the takes through the GooseWorks fal proxy (Seedance 2.0 with native voice), then grades, re-cuts, captions and gates them locally. Use for the street-interview format.
Write the words of a short-form video ad (voiceover, dialogue, chat bubbles, on-screen lines) the way performance creative teams do instead of from a blank page. Builds the script from the buyers' own words, the beat sheet of an ad that already works and three deliberately different angles, filters them with a rule check and a second non-Claude model, and takes the strongest into the review with the other two as one-line swaps. Use it in every video ad run before any paid step, and whenever the user asks to write, rewrite or improve a video ad script or says a script sounds generic or AI-written.