Skip to main content
skill CX Codex

tracking-sports-team-fan-sentiment-twitter — Claude Code skill

Collects tweets about a sports team and measures fan sentiment. Use it to study reactions to games, team news, player trades, and events.

Install into Claude Code · Skills CLI (Vercel) All methods and platforms ↓
npx skills add apidojo-io/apidojo-skills --skill tracking-sports-team-fan-sentiment-twitter -a claude-code
Open on GitHub

What tracking-sports-team-fan-sentiment-twitter does

This skill runs apidojo~tweet-scraper, gathers tweets from search terms, then filters and classifies the results before scoring their quality and relevance. Its report can include sentiment shares, posting-volume changes, leading fan reactions, topic groups, and event-related spikes.

Searches can be narrowed by language, dates, sort order, author, location, engagement counts, media type, and verification status. Use scripts/run_actor.js to print a quick table or save CSV and JSON files; Apify MCP and the REST API are also supported. The actor will not run unless APIFY_TOKEN is available in the environment or a .env file.

The workflow treats recent game results as context for sentiment readings. When the result set is small, it broadens search terms or removes secondary filters; entries missing key fields are removed from the output.

What it helps with

  • track fan mood after a game result
  • collect reactions to team news
  • compare positive and negative tweet volume
  • spot discussion spikes around a sports event
  • measure responses to a player trade

Example prompts for the agent

  • Track fan sentiment for [TEAM_NAME] using [TEAM_NAME], #[TeamHashtag], and [TEAM_NAME] game, then summarize the result.
  • Collect up to 100 recent tweets about the team and save them as YYYY-MM-DD_results.csv.
  • Filter the search by language, date range, and minimum likes, then report the main topics and fan reactions.

How to install tracking-sports-team-fan-sentiment-twitter

1Skills CLI (Vercel)

npx skills add apidojo-io/apidojo-skills --skill tracking-sports-team-fan-sentiment-twitter -a claude-code

2Manually: put the files in place

~/.claude/skills/tracking-sports-team-fan-sentiment-twitter/SKILL.md

Copy the whole skill folder; for one project use .claude/skills/tracking-sports-team-fan-sentiment-twitter/

Step by step, with commands for each platform: How to install skills in Claude Code: five ways

Questions about tracking-sports-team-fan-sentiment-twitter

How do I install tracking-sports-team-fan-sentiment-twitter in Claude Code?

Run npx skills add apidojo-io/apidojo-skills --skill tracking-sports-team-fan-sentiment-twitter -a claude-code, then check ~/.claude/skills/tracking-sports-team-fan-sentiment-twitter/SKILL.md.

What does tracking-sports-team-fan-sentiment-twitter do?

It runs apidojo~tweet-scraper to analyze tweets about a sports team and reports sentiment, discussion volume, themes, fan reactions, and event-driven spikes.

What does the skill require?

Set APIFY_TOKEN in the environment or in .env. An Apify MCP server can be installed as an optional route.

Source text

SKILL.md · Apache-2.0
---
name: tracking-sports-team-fan-sentiment-twitter
description: >
  Tracks sports team fan sentiment on Twitter using apidojo's Tweet scraper. Triggers when the user asks to: track fan sentiment about a sports team on Twitter, monitor Twitter reactions to sports team news, analyze fan mood after a game result on Twitter, measure public sentiment around a sports team, monitor Twitter buzz around a sports event, analyze fan reactions to player trades or news, or build a sentiment tracker for a sports team's social media presence.
  Returns sentiment distribution, volume trends, top fan reactions, topic themes, and event-triggered spikes.
  Ideal for sports marketing teams, brand sponsors, sports analytics firms, and sports media companies.
license: Apache-2.0
metadata:
  author: apidojo
  version: "1.0"
  apify-actors: apidojo/tweet-scraper, apidojo/tweet-scraper
---

# Tracking Sports Team Fan Sentiment Twitter

Executes tracking sports team fan sentiment twitter using apidojo scrapers. Part of the apidojo intelligence skills library.

## Prerequisites

- `APIFY_TOKEN` environment variable set
- Optional: Apify MCP server installed

## Inputs

| Parameter | Type | Required | Default | Notes |
|-----------|------|----------|---------|-------|
| `searchTerms` | array | ✅ | `[]` | Twitter advanced search queries (e.g. `["#AI lang:en", "from:NASA"]`) |
| `sort` | string | Optional | `Top` | Sort order: `Latest`, `Top`, or `Latest+Top` |
| `tweetLanguage` | string | Optional | — | ISO 639-1 language code (e.g. `en`) |
| `maxItems` | number | Optional | Unlimited | Maximum tweets to return |
| `onlyVerifiedUsers` | boolean | Optional | `false` | Only tweets from verified users |
| `onlyTwitterBlue` | boolean | Optional | `false` | Only Twitter Blue subscribers |
| `onlyImage` | boolean | Optional | `false` | Only tweets with images |
| `onlyVideo` | boolean | Optional | `false` | Only tweets with videos |
| `onlyQuote` | boolean | Optional | `false` | Only quote tweets |
| `author` | string | Optional | — | Filter to a specific author handle |
| `inReplyTo` | string | Optional | — | Tweets replying to a specific handle |
| `mentioning` | string | Optional | — | Tweets mentioning a specific handle |
| `geotaggedNear` | string | Optional | — | Tweets near a location |
| `withinRadius` | string | Optional | — | Radius around geotaggedNear |
| `geocode` | string | Optional | — | Lat/lng + radius string |
| `placeObjectId` | string | Optional | — | Tweets tagged with a place |
| `minimumRetweets` | number | Optional | — | Minimum retweet count |
| `minimumFavorites` | number | Optional | — | Minimum like count |
| `minimumReplies` | number | Optional | — | Minimum reply count |
| `start` | string | Optional | — | Tweets after this date (YYYY-MM-DD) |
| `end` | string | Optional | — | Tweets before this date (YYYY-MM-DD) |
| `includeSearchTerms` | boolean | Optional | `false` | Add the matched search term to each tweet |
| `customMapFunction` | string | Optional | — | JavaScript function to transform each output object |

## Workflow

```
Progress:
- [ ] Step 1: Define parameters
- [ ] Step 2: Run tweet-scraper
- [ ] Step 3: Filter and classify results
- [ ] Step 4: Score by quality and relevance
- [ ] Step 5: Deliver output
```

### Step 2: Run the Actor


**Recommended — run_actor.js (handles waiting, output, and file saving automatically):**
```bash
# Quick answer (prints table to chat)
node scripts/run_actor.js \
  --actor "apidojo~tweet-scraper" \
  --input '{"param": "value"}'

# Save as CSV
node scripts/run_actor.js \
  --actor "apidojo~tweet-scraper" \
  --input '{"param": "value"}' \
  --output YYYY-MM-DD_results.csv --format csv

# Save as JSON
node scripts/run_actor.js \
  --actor "apidojo~tweet-scraper" \
  --input '{"param": "value"}' \
  --output YYYY-MM-DD_results.json --format json
```
> `APIFY_TOKEN` must be set in environment or `.env` file.

**If Apify MCP is available:**
```
Tool: apify:run-actor
Actor: "apidojo~tweet-scraper"
Input:
{
  "searchTerms": ["[TEAM_NAME]", "#[TeamHashtag]", "[TEAM_NAME] game"],
  "maxItems": 100
}
```

**REST API fallback:**
```bash
curl -X POST \
  "https://api.apify.com/v2/acts/apidojo~tweet-scraper/runs?token=$APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"searchTerms": ["[TEAM_NAME]", "#[TeamHashtag]", "[TEAM_NAME] game"], "maxItems": 100}'
```

Wait for `SUCCEEDED`. Fetch dataset:
```bash
curl "https://api.apify.com/v2/actor-runs/$RUN_ID/dataset/items?token=$APIFY_TOKEN"
```

### Step 3: Classify Results

```
classification: WIN_BOOST (post-win; sentiment spike > +40%) | LOSS_DROP (post-loss; sentiment drop < -30%) | CONTROVERSY (polarized; > 30% both positive and negative) | BASELINE (normal day)
```

### Step 4: Score Each Result

```
score = fan_sentiment_score = (positive_count - negative_count) / total_count  # range -1 to +1
```

### Step 5: Edge Cases

- **Sports sentiment is strongly event-driven (game results) — always note the team's recent game result as context for any sentiment measurement**

Additional fallbacks:
- **< 20 results**: Broaden search terms; remove secondary filters
- **No results**: Verify the search terms are correct; try alternate phrasings
- **Data quality issues**: Remove entries with missing key fields; note count in output

## Output Format

```
# Tracking Sports Team Fan Sentiment Twitter
Results: [N] | Date: [DATE]

| # | [Key Field] | [Metric 1] | [Metric 2] | [Classification] | [Score] |
|---|------------|-----------|-----------|-----------------|---------|
| 1 | [value] | [value] | [value] | [type] | [0.XX] |

## Summary
Top result: [description]
Key finding: [insight]
```

## Troubleshooting

**Too few results:** Broaden the primary search term; remove restrictive filters.
**Low quality results:** Apply minimum score threshold (≥ 0.50) to filter noise.
**Actor fails to run:** Verify API key; check actor status at apify.com/apidojo.

© apidojo · Apache-2.0 · apidojo-io/apidojo-skills

Similar skills

All skills for Data and databases →

From the same set82

tracking-twitter-thought-leaders Finds Twitter/X accounts whose posts on a topic actually get shared, then hands back a ranked list for PR and partnerships. CX Codex +1 786installs finding-data-scientists-on-twitter Searches Twitter for data scientists and ML engineers who may fit a hiring pipeline, then enriches profiles with skills and work-interest signals. CX Codex +1 786installs monitoring-twitter-for-competitor-job-posts Tracks competitor hiring tweets on X and turns them into growth signals: who is hiring, for what role, and when. CX Codex +1 786installs finding-tiktok-shop-trending-products Detects viral TikTok Shop merchandise using Apify scrapers. It calculates creator density, tracks engagement metrics, and flags saturated niches before sourcing. CX Codex +1 785installs analyzing-competitor-twitter-profile-content This skill pulls a competitor's or brand's tweet history through Apify and ranks posts by engagement. Useful when you need to see what a rival actually posts. CX Codex +1 784installs finding-food-bloggers-and-creators Discovers food creators across Instagram, TikTok, and YouTube using Apify scrapers. Segments influencers by engagement, niche, and content themes. CX Codex +1 782installs finding-podcast-hosts-for-outreach Find podcast hosts for PR and guest pitches through Apify Twitter scrapers. Use it when you need a topic-focused outreach list. CX Codex +1 782installs building-journalist-outreach-list-from-twitter Builds journalist and media contact lists for a given beat by scraping Twitter/X through Apify. Useful when you need names before a press pitch. CX Codex +1 780installs

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor