Broad sources won this round. Across 60 queries, 12 recurring research questions asked of 5 trend sources in a 7-day window and scored 0 to 3, broad sources returned a usable answer 83% of the time against 63% for narrow sources. YouTube was the single best source at a 2.83 average score with a 100% usable rate; GitHub was the best narrow source at 2.50 and 92%. Hacker News finished last at 1.33 in this window. The surprise was availability, not quality: 4 of the endpoint's 10 sources returned "source unavailable" on test day, and the five sources named in the original brief are not valid on this endpoint at all. The method and the exact repeatable loop are below.
Method: 12 questions, 5 sources, one rubric, 60 queries
This study ran 60 identical context queries: 12 concrete research questions, each asked of 5 sources, scored against a fixed 0 to 3 rubric in a 7-day window on 2026-11-03. Every call used the same shape:
./run-with-env.sh python tools/trends.py context --keyword "<question topic>" --source "<source>"
The 12 questions, written as the kind of recurring research an agent would run:
- Which AI coding tools are gaining developers
- What productivity apps are teams adopting
- Which open source AI projects are gaining stars
- What AI video generators are people testing
- Which browser extensions are gaining users
- What LLM benchmarks are researchers discussing
- Which sneakers are gaining attention
- What skincare ingredients are trending
- Which air fryers are people buying
- What anime are people watching this season
- Which headphones are getting recommended
- What coffee drinks are cafes adding
The original plan called for broad sources (Reddit, News, Google Search) and narrow sources (Amazon, Steam, Spotify, App Store, TikTok). The context endpoint only accepts News, YouTube, TikTok, Instagram, X, Reddit, Bluesky, Hacker News, Polymarket, and GitHub, so the test adapted: broad became News, YouTube, and Bluesky; narrow became GitHub and Hacker News. The planned Amazon, Steam, Spotify, App Store, and Google Search calls all failed with an invalid source error, which is itself a finding and is covered below.
The rubric, applied by reading every returned item:
- 0, no data: error or zero items returned.
- 1, thin list: items returned but no usable named specifics.
- 2, usable specifics: a named entity plus a URL and date an agent can follow up on.
- 3, ready-to-quote figures: a named entity plus a hard engagement figure (views at or above 1,000, likes at or above 20, stars at or above 100, comments at or above 10, shares at or above 10, or a Hacker News score at or above 5).
The 12 questions split evenly into 6 tech questions (1 to 6) and 6 consumer questions (7 to 12), which turned out to matter. The full score table is in data.json next to this piece.
YouTube answered best; Hacker News answered worst
YouTube led every source with a 2.83 average score and a 100% usable-answer rate across all 12 questions. Hacker News trailed at a 1.33 average and only 33% usable.
The per-source table:
| Source | Avg score | Usable rate |
|---|---|---|
| YouTube | 2.83 | 100% |
| GitHub | 2.50 | 92% |
| News | 2.00 | 100% |
| Bluesky | 1.75 | 50% |
| Hacker News | 1.33 | 33% |
The data shows YouTube's edge comes from engagement figures attached to specific, named videos. A skincare routine video, "Doing natural skincare routine with my daughters", pulled 5,052,613 views with 30,746 likes; a Nothing CEO reaction video about the Headphone (1) Pro pulled 1,973,620 views with 15,935 likes and 1,420 comments. Named products, named people, and hard counts in the same answer are exactly what the rubric's top score rewards, and YouTube delivered that combination on 10 of 12 questions.
GitHub's strength is different: star counts as a built-in trend signal. The deer-flow repository showed 84,927 stars with 1,038 comments; the prompts.chat collection showed 175,664 stars. On tech questions GitHub scored a perfect run: 3 out of 3 every time.
News is the reliable floor: 10 items on all 12 questions and named entities every time (a Ninja Flip air fryer toaster oven at 45% off, Bose QuietComfort headphones at almost half price, a Bocchi the Rock prequel film announced for 2027), but no engagement figures, so it caps at 2. The data shows News never failed to return something usable in this one-day window; this suggests it belongs in every agent's default source set as the fallback.
Bluesky split cleanly by question type: strong on AI and tech discourse (3s on AI coding tools, open source AI, and LLM benchmarks) and thin on consumer questions, where posts were mostly personal chatter with no named products. Hacker News had the opposite problem: thin everywhere except occasional tech hits, and it returned zero items for coffee drinks and one off-topic item for air fryers.
Broad sources won coverage; narrow sources spiked on matched questions
Broad sources answered usefully 83% of the time against 63% for narrow sources, with average scores of 2.19 and 1.92. But the averages hide the real pattern: narrow sources are question-sensitive in a way broad sources are not.
Narrow sources averaged 2.33 on the 6 tech questions and only 1.50 on the 6 consumer questions. Tech questions overall averaged 2.40; consumer questions averaged 1.80. GitHub is the clearest case: a perfect run of 3s on all 6 tech questions, then 1s and 2s on five of the six consumer questions (sneakers, skincare, air fryers, anime, coffee drinks), with one consumer spike: a 3 on headphones thanks to the AutoEq project at 16,413 stars. Asking GitHub which sneakers are gaining attention returned a sneaker price monitor and a StockX scraper with 16 and 9 stars: technically responsive, practically useless for the question.
The data shows broad sources degrade gracefully and narrow sources spike or collapse. This suggests the routing rule an agent should use: send tech questions to GitHub and Hacker News first, send consumer questions to YouTube and News first, and keep Bluesky for discourse-heavy topics. The 45 usable answers out of 60 (75%) and the 21 ready-to-quote answers (35%) both came from mixing the groups, not from picking one.
The one honest doubt in this whole study: scoring involved human judgment about relevance, especially the line between a 1 and a 2 on off-topic answers. The GitHub sneaker results are the borderline case. A stricter scorer could have marked several of those 2s as 1s, which would push the narrow average lower still. The rubric thresholds for engagement figures are mechanical and reproducible; the relevance calls are not.
Four of ten sources were down, and five planned sources do not exist here
The biggest finding was operational, not editorial. On 2026-11-03, 4 of the endpoint's 10 sources, TikTok, Reddit, Instagram, and X, returned "source unavailable" for every question, and Polymarket returned zero items with no error. Only 5 of 10 sources were actually queryable that day.
Worse for the original plan, the five sources it named, Google Search, Amazon, Steam, Spotify, and App Store, are not valid sources on the context endpoint at all. Each call failed immediately with an invalid source error. An agent loop that hardcodes those source names never gets an answer; it gets an error string.
The data shows source availability is itself a trend signal an agent must check before trusting a loop. This suggests two practical moves. First, probe every source with one cheap call before a batch run and drop the ones returning "source unavailable" for the day. Second, keep the per-source pages as the coverage map: the Reddit agent and TikTok agent pages document what those sources return when they are up, the GitHub agent page covers the strongest narrow source in this test, and the News agent page covers the most reliable fallback. The data catalog lists every source the kit can query.
One more limit to state plainly: this was a single 7-day window on one day. Availability on 2026-11-03 says nothing about 2026-11-10, and re-running the loop after a source recovers may flip these rankings. The loop below exists so anyone can re-run the test and see what changed.
The loop: score your sources weekly, then route by question type
The loop that reproduces this test takes five steps and about five minutes of API calls.
Step 1: write the recurring research questions as plain keywords, one per line, in a file called questions.txt. The 12 used here are listed in the method section; swap in your own.
Step 2: probe the endpoint's valid sources once each and keep only the ones that return items. Valid names on the context endpoint: News, YouTube, TikTok, Instagram, X, Reddit, Bluesky, Hacker News, Polymarket, GitHub. Google Search, Amazon, Steam, Spotify, and App Store are not valid here; do not include them.
Step 3: run every question against every working source and save the raw responses:
while read -r q; do
for src in "News" "YouTube" "Bluesky" "GitHub" "Hacker News"; do
./run-with-env.sh python tools/trends.py context \
--keyword "$q" --source "$src" \
--save "loop_$(echo "$src" | tr ' ' '_')_$(echo "$q" | tr ' ' '_').json"
done
done < questions.txt
Step 4: score each saved answer 0 to 3 with the rubric from the method section. Mark an answer usable at 2 or above. Compute each source's usable rate and average score, plus the same split for tech versus consumer questions.
Step 5: set the routing table from the scores. Sources at 2.0 average or above become defaults for that question type; sources below 1.5 get dropped for that type. Re-run the whole loop weekly. When a source flips to "source unavailable", promote the next-best source for that question type instead of waiting.
That is the whole loop: questions in, probes, queries, scores, routing table out. Run it on your own questions and the numbers will tell you which sources earn their place.