Bluesky research
Look up public Bluesky profiles, author feeds, post threads, follower/follows
graphs, account search, and trending topics — all as normalized JSON from the
Crawlora API, no app scraping or direct AT Protocol client needed.
When to use this skill
- "What's 's profile / follower count on Bluesky?"
- "Pull 's recent posts on Bluesky."
- "Show this Bluesky post's replies / thread."
- "Who follows on Bluesky?" / "Who does follow?"
- "Search Bluesky for accounts about ."
- "What's trending on Bluesky right now?"
Setup (one-time)
- Get a free Crawlora API key (2,000 credits/mo, no card) at https://crawlora.net.
- Set
CRAWLORA_API_KEY in the environment before running the helper.
- The helper reads
CRAWLORA_API_KEY from the environment and sends requests to https://api.crawlora.net/api/v1. Missing/invalid key → 401.
How it works
Pick the job:
- Profile —
/bluesky/profile (actor = handle or DID). Display name,
description, avatar/banner, follower/follows/posts counts.
- Author feed —
/bluesky/author-feed (actor, optional cursor,
limit). A page of an account's posts, newest first, with engagement
counts and any attached images/link card/quoted post.
- Post thread —
/bluesky/post-thread (uri = the post's at:// URI,
optional depth). The post plus its nested replies and, if it's a reply,
its parent chain.
- Followers / follows graph —
/bluesky/followers and /bluesky/follows
(actor, optional cursor, limit). Page through an account's followers
or the accounts it follows.
- Search accounts —
/bluesky/search-actors (q, optional cursor,
limit). Accounts matching a query against display name, handle, and
profile description.
- Trending —
/bluesky/trending-topics (no params). Bluesky's current
trending topics and suggested feeds.
Full endpoint list, methods, and params: reference/endpoints.md.
Calling the API
# Profile + author feed:
scripts/crawlora.sh /bluesky/profile actor=bsky.app | jq '.'
scripts/crawlora.sh /bluesky/author-feed actor=bsky.app limit=20 | jq '.'
# Search + trending:
scripts/crawlora.sh /bluesky/search-actors q="web scraping" | jq '.'
scripts/crawlora.sh /bluesky/trending-topics | jq '.'
Use scripts/crawlora.sh for all requests; it keeps the API key out of command-line arguments.
Endpoint reference
See reference/endpoints.md for every Bluesky
endpoint this skill uses.
Examples
- Account audit:
/bluesky/profile + /bluesky/author-feed for a
handle to check follower count, posting cadence, and recent engagement.
- Thread pull: grab a post's
at:// URI from an author-feed or
search-actors result, then /bluesky/post-thread to read the full
reply tree (and parent chain if it's itself a reply).
- Network mapping: page
/bluesky/followers and /bluesky/follows for
an account to build its follower/following graph.
Notes & limits
- Credits / pay-on-success: billed only on
2xx; free tier 2,000 credits/mo.
Key at https://crawlora.net.
- Public data only — public profiles/posts, sourced from the AT Protocol's
public, credential-free AppView API; no login, no private content.
- Security: key lives in
CRAWLORA_API_KEY only — never hardcode, query-param, or commit it.
- List endpoints (
author-feed, followers, follows, search-actors) are
cursor-paginated — follow the returned cursor to walk beyond the first page.
post-thread needs a full at:// post URI, not a bsky.app URL — get it
from an author-feed or search-actors result's post uri field.
trending-topics has no params and is explicitly the least stable surface
in this family — Bluesky may change its shape without notice.
1---2name: bluesky-research3description: Researches Bluesky profiles, posts, follower/follows graphs, account search, and trending topics via the Crawlora API, returning clean JSON. Use when the user wants a Bluesky account's stats, a post's thread/engagement, a Bluesky account search, or what's trending on Bluesky — instead of scraping the app or the AT Protocol API directly.4---56# Bluesky research78Look up public Bluesky profiles, author feeds, post threads, follower/follows9graphs, account search, and trending topics — all as normalized JSON from the10Crawlora API, no app scraping or direct AT Protocol client needed.1112## When to use this skill1314- "What's <handle>'s profile / follower count on Bluesky?"15- "Pull <handle>'s recent posts on Bluesky."16- "Show this Bluesky post's replies / thread."17- "Who follows <handle> on Bluesky?" / "Who does <handle> follow?"18- "Search Bluesky for accounts about <topic>."19- "What's trending on Bluesky right now?"2021## Setup (one-time)2223- Get a free Crawlora API key (2,000 credits/mo, no card) at [https://crawlora.net](https://crawlora.net?utm_source=github&utm_medium=referral&utm_campaign=crawlora-skills).24- Set `CRAWLORA_API_KEY` in the environment before running the helper.25- The helper reads `CRAWLORA_API_KEY` from the environment and sends requests to `https://api.crawlora.net/api/v1`. Missing/invalid key → `401`.2627## How it works2829Pick the job:30311. **Profile** — `/bluesky/profile` (`actor` = handle or DID). Display name,32 description, avatar/banner, follower/follows/posts counts.332. **Author feed** — `/bluesky/author-feed` (`actor`, optional `cursor`,34 `limit`). A page of an account's posts, newest first, with engagement35 counts and any attached images/link card/quoted post.363. **Post thread** — `/bluesky/post-thread` (`uri` = the post's `at://` URI,37 optional `depth`). The post plus its nested replies and, if it's a reply,38 its parent chain.394. **Followers / follows graph** — `/bluesky/followers` and `/bluesky/follows`40 (`actor`, optional `cursor`, `limit`). Page through an account's followers41 or the accounts it follows.425. **Search accounts** — `/bluesky/search-actors` (`q`, optional `cursor`,43 `limit`). Accounts matching a query against display name, handle, and44 profile description.456. **Trending** — `/bluesky/trending-topics` (no params). Bluesky's current46 trending topics and suggested feeds.4748Full endpoint list, methods, and params: [`reference/endpoints.md`](reference/endpoints.md).4950## Calling the API5152```sh53# Profile + author feed:54scripts/crawlora.sh /bluesky/profile actor=bsky.app | jq '.'55scripts/crawlora.sh /bluesky/author-feed actor=bsky.app limit=20 | jq '.'5657# Search + trending:58scripts/crawlora.sh /bluesky/search-actors q="web scraping" | jq '.'59scripts/crawlora.sh /bluesky/trending-topics | jq '.'60```6162Use `scripts/crawlora.sh` for all requests; it keeps the API key out of command-line arguments.636465## Endpoint reference6667See [`reference/endpoints.md`](reference/endpoints.md) for every Bluesky68endpoint this skill uses.6970## Examples7172- **Account audit:** `/bluesky/profile` + `/bluesky/author-feed` for a73 handle to check follower count, posting cadence, and recent engagement.74- **Thread pull:** grab a post's `at://` URI from an author-feed or75 search-actors result, then `/bluesky/post-thread` to read the full76 reply tree (and parent chain if it's itself a reply).77- **Network mapping:** page `/bluesky/followers` and `/bluesky/follows` for78 an account to build its follower/following graph.7980## Notes & limits8182- **Credits / pay-on-success:** billed only on `2xx`; free tier 2,000 credits/mo.83 Key at [https://crawlora.net](https://crawlora.net?utm_source=github&utm_medium=referral&utm_campaign=crawlora-skills).84- **Public data only** — public profiles/posts, sourced from the AT Protocol's85 public, credential-free AppView API; no login, no private content.86- **Security:** key lives in `CRAWLORA_API_KEY` only — never hardcode, query-param, or commit it.87- List endpoints (`author-feed`, `followers`, `follows`, `search-actors`) are88 cursor-paginated — follow the returned `cursor` to walk beyond the first page.89- `post-thread` needs a full `at://` post URI, not a bsky.app URL — get it90 from an `author-feed` or `search-actors` result's post `uri` field.91- `trending-topics` has no params and is explicitly the least stable surface92 in this family — Bluesky may change its shape without notice.