mcpField
F
finding-twitter-spaces-hosts-by-topic

finding-twitter-spaces-hosts-by-topic

github.com/apidojo-ioMarketing & growth1758 installsUpdated 24w ago
Repository

About finding-twitter-spaces-hosts-by-topic

A skill for locating Twitter Spaces hosts by topic through tweet searches. It classifies host activity and scores results for topic alignment and audience size to help identify relevant speakers.

Key features

  1. 01Search tweets for Spaces announcements
  2. 02Filter by language, author, and engagement
  3. 03Classify hosts by activity frequency
  4. 04Score topic alignment and audience size

Use cases

  1. 01Find hosts for a topic-specific event
  2. 02Identify recurring Spaces hosts
  3. 03Locate announced upcoming Spaces

MCP support

It can optionally use the Apify MCP server to run the tweet-scraper actor.

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/apidojo-io/apidojo-skills --skill finding-twitter-spaces-hosts-by-topic

After installing, type/finding-twitter-spaces-hosts-by-topicin Claude Code to confirm it loaded.

Details

From the project README

Finding Twitter Spaces Hosts By Topic

Executes finding twitter spaces hosts by topic using apidojo scrapers. Part of the apidojo intelligence skills library.

Prerequisites

  • APIFY_TOKEN environment variable set
  • Optional: Apify MCP server installed

Inputs

ParameterTypeRequiredDefaultNotes
searchTermsarray✅[]Twitter advanced search queries (e.g. ["#AI lang:en", "from:NASA"])
sortstringOptionalTopSort order: Latest, Top, or Latest+Top
tweetLanguagestringOptional—ISO 639-1 language code (e.g. en)
maxItemsnumberOptionalUnlimitedMaximum tweets to return
onlyVerifiedUsersbooleanOptionalfalseOnly tweets from verified users
onlyTwitterBluebooleanOptionalfalseOnly Twitter Blue subscribers
onlyImagebooleanOptionalfalseOnly tweets with images
onlyVideobooleanOptionalfalseOnly tweets with videos
onlyQuotebooleanOptionalfalseOnly quote tweets
authorstringOptional—Filter to a specific author handle
inReplyTostringOptional—Tweets replying to a specific handle
mentioningstringOptional—Tweets mentioning a specific handle
geotaggedNearstringOptional—Tweets near a location
withinRadiusstringOptional—Radius around geotaggedNear
geocodestringOptional—Lat/lng + radius string
placeObjectIdstringOptional—Tweets tagged with a place
minimumRetweetsnumberOptional—Minimum retweet count
minimumFavoritesnumberOptional—Minimum like count
minimumRepliesnumberOptional—Minimum reply count
startstringOptional—Tweets after this date (YYYY-MM-DD)
endstringOptional—Tweets before this date (YYYY-MM-DD)
includeSearchTermsbooleanOptionalfalseAdd the matched search term to each tweet
customMapFunctionstringOptional—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):

# 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": ["Twitter Spaces [TOPIC]", "join my Space [TOPIC]", "hosting a Space about [TOPIC]", "upcoming Space [TOPIC]"],
  "maxItems": 100
}

REST API fallback:

curl -X POST \
  "https://api.apify.com/v2/acts/apidojo~tweet-scraper/runs?token=$APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"searchTerms": ["Twitter Spaces [TOPIC]", "join my Space [TOPIC]", "hosting a Space about [TOPIC]", "upcoming Space [TOPIC]"], "maxItems": 100}'

Wait for SUCCEEDED. Fetch dataset:

curl "https://api.apify.com/v2/actor-runs/$RUN_ID/dataset/items?token=$APIFY_TOKEN"
Step 3: Classify Results
classification: REGULAR_HOST (> 2 Spaces/month) | OCCASIONAL_HOST (1-2/month) | ONE_TIME (single event) | UPCOMING (announced future Space)
Step 4: Score Each Result
score = spaces_host_score = (hosts_regularly: > 2/month = 1, 1/month = 0.6) * 0.40 + (followerCount > 2000 ? 1 : followerCount/2000) * 0.35 + (topic_alignment ? 1 : 0.5) * 0.25
Step 5: Edge Cases
  • Twitter Spaces announcement tweets don't always include #Spaces — search for 'link in bio' + 'Space' or the Spaces card URL pattern (twitter.com/i/spaces/) to identify Spaces-specific tweets

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

# Finding Twitter Spaces Hosts By Topic
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.

Comments

Markdown supported