Bluesky Trending Topics
Pricing
from $1.00 / 1,000 results
Bluesky Trending Topics
Get trending topics from Bluesky in real-time — no auth needed. Uses the official AT Protocol public API.
Pricing
from $1.00 / 1,000 results
Rating
0.0
(0)
Developer
Jake Paine
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
5 days ago
Last modified
Categories
Share
Get trending topics from Bluesky in real-time — no auth needed. Uses the official AT Protocol public API.
No auth required — uses the public Bluesky API
Official endpoint — no anti-bot concerns
$1/1K trends — affordable trend intelligence
Quick Start
- Set
maxTrends(1-25, default: 10) - (Optional) Configure filters — categories, minimum post count, output format
- Click Run
- Receive structured trending topics in seconds
Minimal input:
{}
Customised input:
{"maxTrends": 15,"includePostCounts": true,"categories": ["technology"],"minPostCount": 1000,"outputFormat": "flat"}
Features
- Real-time data — trends as they happen, no caching delays
- No authentication needed — public endpoint
- Configurable limits — fetch 1 to 25 trending topics per run
- Category filtering — narrow results to specific categories
- Post count filtering — only trends above a popularity threshold
- Two output formats — flat array or detailed with metadata
- Fallback endpoint — alternative endpoint if the primary is unavailable
- Retry logic — exponential backoff for transient failures
Input Parameters
| Parameter | Type | Default | Max | Description |
|---|---|---|---|---|
maxTrends | integer | 10 | 25 | Number of trending topics to fetch |
includePostCounts | boolean | true | — | Include approximate post count (when available) |
includeSampleActors | boolean | false | — | Sample accounts posting about each trend |
categories | string[] | [] | — | Filter by categories (e.g., ["technology", "politics"]). Empty = all. |
minPostCount | integer | 0 | — | Minimum post count threshold (0 = no filter) |
outputFormat | string | "flat" | — | "flat" = array of trends, "detailed" = wrapped with metadata |
Input Example
{"maxTrends": 10,"includePostCounts": true,"includeSampleActors": false,"categories": [],"minPostCount": 0,"outputFormat": "flat"}
Output Format
Flat (default)
Returns a JSON array of trend objects, one per trending topic:
[{"rank": 1,"topic": "ai-agents","displayName": "AI Agents","postCount": 15420,"category": "technology","status": "hot","startedAt": "2026-07-04T18:30:00.000Z","link": "https://bsky.app/profile/trending.bsky.app/feed/abc123","scrapedAt": "2026-07-04T22:45:00.000Z"},{"rank": 2,"topic": "bluesky-anniversary","displayName": "Bluesky Anniversary","postCount": 8750,"category": "pop-culture","status": "warm","startedAt": "2026-07-04T12:00:00.000Z","link": "https://bsky.app/profile/trending.bsky.app/feed/def456","scrapedAt": "2026-07-04T22:45:00.000Z"}]
Detailed
Returns an object with a metadata block and a trends array:
{"metadata": {"scrapedAt": "2026-07-04T22:45:00.000Z","source": "app.bsky.unspecced.getTrends","totalTrends": 15,"filters": {"categories": null,"minPostCount": null}},"trends": [{"rank": 1,"topic": "ai-agents","displayName": "AI Agents","postCount": 15420,"category": "technology","status": "hot","startedAt": "2026-07-04T18:30:00.000Z","link": "https://bsky.app/profile/trending.bsky.app/feed/abc123","scrapedAt": "2026-07-04T22:45:00.000Z","sampleActors": [{"did": "did:plc:abc123","handle": "techuser.bsky.social","displayName": "Tech User"}]}]}
Comparison vs Generic Bluesky Scrapers
| Feature | Generic Post Scrapers | Bluesky Trending Topics |
|---|---|---|
| Trending topics | ❌ Not available | ✅ Yes |
| Posts/profiles | ✅ Yes | ❌ Not included |
| Auth required | Usually | ❌ No |
| Anti-bot risk | Moderate | ❌ None (official API) |
| Use case | Bulk data collection | Trend intelligence |
Technical Notes
- API endpoint:
app.bsky.unspecced.getTrendsviahttps://public.api.bsky.app - Rate limits: ~3,000 requests/hour typical for the public AppView endpoint
- Runtime: Node.js 20+
- Dependencies:
apifySDK v3 only - No browser required — pure HTTP API calls
- Fallback endpoint:
app.bsky.unspecced.getTrendingTopics(lighter-weight structure)
Data Freshness
Data is fetched live from Bluesky on each run. There are no caching layers between this actor and the Bluesky API, so results always reflect the current trending state.
FAQ
Q: Do I need a Bluesky account?
No. The API endpoint used is fully public and requires no authentication.
Q: Can I get more than 25 trends?
The Bluesky API caps results at 25 per request. For a larger set, run the actor multiple times — but note that the API returns the top N, not paginated results.
Q: Why are some fields missing from the output?
The Bluesky API may not include all fields for every trend. For example, postCount and category are optional in the API response. The actor gracefully handles missing fields.
Q: Which categories are available?
The categories depend on what Bluesky returns. Common categories include technology, pop-culture, politics, sports, news, and more.
Q: What does "status" mean?
The Bluesky API assigns a status label to each trend, such as hot (rapidly growing engagement) or warm (steady engagement).