Bluesky Starter Pack Scraper avatar

Bluesky Starter Pack Scraper

Pricing

$0.01 / 1,000 starter packs

Go to Apify Store
Bluesky Starter Pack Scraper

Bluesky Starter Pack Scraper

Find public Bluesky Starter Packs by topic, creator, link, or AT Protocol identifier. Export pack details, creator data, feeds, join counts, and optional public member profiles.

Pricing

$0.01 / 1,000 starter packs

Rating

0.0

(0)

Developer

Maxime Dupré

Maxime Dupré

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

6 days ago

Last modified

Share

🔎 Find public Bluesky Starter Packs

Bluesky Starter Pack Scraper helps researchers, marketers, and community teams find public Starter Packs by topic, creator, web link, or AT Protocol identifier. Get pack details, creator data, feeds, join counts, and optional public member profiles in one dataset.

📦 Returned data

Each row is one public Starter Pack. It can include its name, description, creator, stable AT Protocol identifiers, member list, feeds, dates, join counts, and public member profiles. Member details can include handles, bios, profile links, images, dates, and public account counts.

🚀 Running the Actor

  1. Choose Topics, Starter Packs, or Creator.
  2. Fill in the fields for that target.
  3. Set an optional work limit.
  4. For Topics, choose whether to include member profiles.
  5. Run the Actor and open the dataset.

The Actor uses public Bluesky data. You do not need to give it a Bluesky login, cookies, or user credentials.

🛠️ Input

FieldTypeWhat it does
targetstringChooses how to find Starter Packs: by topics, exact packs, or creators.
topicsstring[]Finds public Starter Packs from words or short phrases. Used only for Topics.
includeMembersbooleanAlso collects public member profiles for packs found by Topics. This takes more requests for each pack.
starterPacksstring[]Gets known packs from Bluesky web links or AT Protocol identifiers. Each pack also includes its public member profiles. Used only for Starter Packs.
creatorsstring[]Finds public Starter Packs made by the given Bluesky handles or DIDs. Used only for Creator.
maxPacksintegerStops after this many Starter Packs for Topics or Creator. Leave it empty to return all available results until the source is exhausted.
maxMembersintegerStops after this many members per pack for Starter Packs, or for Topics when member profiles are included. Leave it empty to return all available results until the source is exhausted.

This is the public input from the successful default-input QA run:

{
"target": "topics",
"topics": [
"science"
],
"includeMembers": false,
"maxPacks": 3
}

🧾 Output

FieldTypeWhat it does
uristringStable AT Protocol URI for the Starter Pack.
cidstringContent ID for this version of the Starter Pack.
namestringStarter Pack name.
descriptionstringText that tells people what the pack is about.
creator.didstringCreator's stable decentralized identifier.
creator.handlestringCreator's current Bluesky handle.
creator.displayNamestringName shown on the creator's profile.
creator.avatarstringURL of the creator's profile image.
listUristringStable AT Protocol URI for the pack's member list.
feedsobject[]Public feeds added to the pack.
feeds[].uristringStable AT Protocol URI for a feed.
createdAtdate-timeDate and time when the pack was made.
indexedAtdate-timeDate and time when Bluesky last indexed the pack.
joinedWeekCountintegerAvailable number of people who joined through the pack in the past week.
joinedAllTimeCountintegerAvailable total number of people who joined through the pack.
membersobject[]Public member profiles collected from the pack.
members[].didstringMember's stable decentralized identifier.
members[].handlestringMember's current Bluesky handle.
members[].displayNamestringName shown on the member's profile.
members[].descriptionstringBio shown on the member's profile.
members[].avatarstringURL of the member's profile image.
members[].bannerstringURL of the member's banner image.
members[].indexedAtdate-timeDate and time when Bluesky last indexed the member's profile.
members[].followersCountintegerAvailable number of accounts that follow the member.
members[].followsCountintegerAvailable number of accounts the member follows.
members[].postsCountintegerAvailable number of posts made by the member.
members[].profileUrlstringMember's public Bluesky profile link.
{
"uri": "at://did:plc:jbvnehrrdqoulco4rf5gxg5r/app.bsky.graph.starterpack/3lbv5gld6mi25",
"cid": "bafyreifkrevu5dusollcqmhmrhsuwaiwqifrj5qesdmmzansq3wtnkxhgy",
"name": "Reuters Science & Environment Coverage",
"description": "Reuters reporters and editors who cover science, environment, climate and sustainability news globally.",
"creator": {
"did": "did:plc:jbvnehrrdqoulco4rf5gxg5r",
"handle": "reuters.com",
"displayName": "Reuters",
"avatar": "https://cdn.bsky.app/img/avatar/plain/did:plc:jbvnehrrdqoulco4rf5gxg5r/bafkreibl5cibo6e7epl3pomyqeu7pkvb6yo7zg6q3wf2o4syej5yycrepy"
},
"listUri": "at://did:plc:jbvnehrrdqoulco4rf5gxg5r/app.bsky.graph.list/3lbv5gl3ugm2n",
"feeds": [],
"createdAt": "2024-11-26T23:02:48.535Z",
"indexedAt": "2025-01-03T15:42:31.152Z",
"joinedWeekCount": 0,
"joinedAllTimeCount": 0,
"members": [
{
"did": "did:plc:327wp5w24u2dumg4ckpvh2wt",
"handle": "gloriadickie.bsky.social",
"displayName": "Gloria Dickie",
"description": "Freelance Journalist | former Reuters climate correspondent | Author of Eight Bears: Mythic Past and Imperiled Future | National Geographic Explorer | www.gloriadickie.com |",
"avatar": "https://cdn.bsky.app/img/avatar/plain/did:plc:327wp5w24u2dumg4ckpvh2wt/bafkreifbu6pm7xemvk2e2l5oqknard5cm3xgey62zfomwlkqex36eaqdwu",
"banner": "https://cdn.bsky.app/img/banner/plain/did:plc:327wp5w24u2dumg4ckpvh2wt/bafkreifbf6lkvxos6qzeswg2hjcfx7ordhhjgtssgzd2qs4iakqr3hyetu",
"indexedAt": "2025-12-13T12:29:02.224Z",
"followersCount": 921,
"followsCount": 278,
"postsCount": 23,
"profileUrl": "https://bsky.app/profile/gloriadickie.bsky.social"
},
{
"did": "did:plc:o35xxal5byunppbs2wufslsp",
"handle": "kateabnett.bsky.social",
"displayName": "Kate Abnett",
"description": "Journalist. Senior correspondent covering climate change and energy for Reuters in Brussels. Former #EUETS nerd at ArgusMedia. Views mine.",
"avatar": "https://cdn.bsky.app/img/avatar/plain/did:plc:o35xxal5byunppbs2wufslsp/bafkreicqvbzhgsj4wigiofhhxzz5lcrgwysfmpx52isz25ifkcbgq5b32m",
"indexedAt": "2026-06-24T19:43:37.467Z",
"followersCount": 3677,
"followsCount": 59,
"postsCount": 170,
"profileUrl": "https://bsky.app/profile/kateabnett.bsky.social"
}
]
}

💳 Pricing

This Actor charges for each public Starter Pack saved to the dataset. Member profiles stay inside their Starter Pack row and do not create a separate member charge. Empty or no-result runs do not create a Starter Pack charge.

🔌 Integrations

Send results to Google Sheets, Slack, Zapier, Make, webhooks, or your own app through the Apify API. You can also schedule runs and download the dataset as JSON, CSV, Excel, XML, RSS, or HTML.

❓ FAQ

Do I need a Bluesky account?

No. The Actor collects public data without your Bluesky login, cookies, or user credentials.

Can I get members from each Starter Pack?

Yes. Exact Starter Pack targets include public member profiles. For topic searches, turn on includeMembers. You can leave maxMembers empty to return all available members until the source is exhausted.

Can I create or join a Starter Pack with this Actor?

No. This Actor finds and reads public Starter Packs. It does not create, edit, join, or publish them.

Does it collect posts, followers, or private accounts?

No. It does not collect posts, follower lists, following lists, or private accounts. It can collect public profiles that are members of a Starter Pack.

Why can join counts or member fields be empty?

Bluesky may not publish every optional value for every pack or profile. Results show the public data available when the run happens.

📝 Changelog

0.0: Initial release

  • Find public Bluesky Starter Packs by topic, exact pack, or creator, with pack details, feeds, join counts, and optional public member profiles.

🆘 Support

For issues, questions, or feature requests, file a ticket and I'll fix or implement it in less than 24h 🫡

Made with ❤️ by Maxime Dupré