Agent Skills

finding-twitter-spaces-hosts-by-topic

Finds Twitter Spaces hosts in a specific topic area using apidojo's Twitter scrapers. Triggers when the user asks to: find Twitter Spaces hosts in a niche, discover people who run Twitter Spaces about a topic, find Spaces hosts to collaborate with or get featured on, identify active Twitter Spaces communities in an industry, find hosts running regular business or tech Spaces on Twitter, build a Twitter Spaces outreach list for thought leadership, or discover Twitter audio show hosts in a profess

Install

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

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

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):

# 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.

Search skills and MCP servers

Fuzzy search across 23,137 skills and servers