Bluesky Starter Pack Discovery Scraper
Pricing
Pay per event
Bluesky Starter Pack Discovery Scraper
Discover public Bluesky Starter Packs and optionally expand their curated member profiles for focused creator research.
Pricing
Pay per event
Rating
0.0
(0)
Developer
Stas Persiianenko
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
Discover public Bluesky Starter Packs, the people who curate them, and—when you choose—profiles in their curated lists. Use it to turn topic searches into structured community and creator research.
What does it do?
This actor searches Bluesky's public Starter Pack index for your topics. Each dataset row represents one Starter Pack, with its title, description, AT URI, curator, referenced list, feeds, and join counts.
Enable member expansion to include public profiles from the referenced curated list in the same row. No Bluesky login, cookie, or private endpoint is required.
Who is it for?
- Influencer agencies building topical creator seed lists.
- Social-listening teams mapping public communities around a niche.
- Newsletter editors finding subject-matter voices and curated sources.
- Community researchers studying how public Bluesky groups are organized.
- Developers who need a repeatable public-data input for a pipeline.
Why use Starter Packs?
A profile search starts from individual accounts. A Starter Pack starts from a public curation decision: someone has grouped relevant accounts, a list, and sometimes feeds around a topic. That makes it useful for discovering community entry points instead of only the most individually visible profiles.
Data you get
| Field | Meaning |
|---|---|
packName | Public Starter Pack name |
packDescription | Curator-provided context |
creator | Curator DID, handle, profile URL, and public profile details |
packUri / listUri | Stable AT Protocol identifiers |
feeds | Referenced public feeds |
joinedAllTimeCount | Public all-time Starter Pack join counter |
members | Optional nested public curated-list profiles |
sourceUrl | Public Bluesky API source endpoint |
Quick start
- Enter one or more topical phrases in Starter Pack search queries.
- Keep Maximum Starter Packs low for your first run.
- Turn on Expand curated list members when you need profile-level seeds.
- Export the default dataset as JSON, CSV, or connect it to your workflow.
Search query ideas
Try topics a community curator would use, not only broad industry labels.
technologyclimateindie gamessciencejournalismopen source
Run multiple related queries when you need broader coverage. Dataset rows retain the originating query so you can compare intent later.
Input reference
Starter Pack search queries
queries is required. Provide a list of topics, communities, or creator niches. Empty entries are ignored and repeated values are deduplicated.
Maximum Starter Packs
maxItems is the total number of Starter Pack rows across every query, not per query. The default is 10; the maximum is 1,000.
Expand curated list members
expandMembers requests the public list referenced by each discovered pack. If a list cannot be read, the actor still saves the Starter Pack metadata and logs the expansion problem.
Maximum members per Starter Pack
maxMembersPerPack bounds nested profile data from each public list. Use 10–25 for exploratory research and increase it only when your downstream workflow needs deeper lists.
Output format
There is one dataset item per Starter Pack. This keeps pack-level context, creator identity, and list metadata together.
When member expansion is enabled, members is an array. Each member includes did, handle, displayName, description, avatarUrl, and profileUrl. Flatten this array in your BI tool when you need a profile-per-row export.
Example output
{"query": "technology","packName": "Reuters Technology Coverage","creator": { "handle": "reuters.com", "profileUrl": "https://bsky.app/profile/reuters.com" },"listUri": "at://did:plc:.../app.bsky.graph.list/...","membersExpanded": true,"scrapedAt": "2026-07-11T00:00:00.000Z"}
How much does it cost to scrape Bluesky Starter Packs?
This actor charges a $0.005 start event plus one event for each Starter Pack dataset record. Member profiles are nested within the corresponding Starter Pack record, so expansion does not create a separate per-profile event.
| Starter Pack records | Bronze estimate | Free-plan estimate |
|---|---|---|
| 10 | $0.00528 | $0.00533 |
| 50 | $0.00642 | $0.00663 |
| 100 | $0.00784 | $0.00826 |
The Bronze item rate is $0.000028381 and the Free item rate is $0.000032639. Apify shows your applicable tier before a run; estimates exclude any unrelated platform subscription charges.
Start with a 10-item run to validate relevance and estimate your workflow cost.
Pricing
Pricing is per Starter Pack dataset row, not per nested member. The table above includes the one-time start event, and the current tiered rates shown by Apify at launch remain authoritative.
Tips for better creator discovery
- Use specific subculture phrases such as
climate journalismrather than onlyclimate. - Export both the pack description and creator handle; they are useful for relevance review.
- Keep the source AT URIs when creating follow-up enrichment jobs.
- Use the join counters as signals, not as a measure of profile quality.
- Deduplicate member DIDs after flattening several overlapping lists.
Integrations
Lead-research spreadsheet
Schedule topic searches, export the dataset to Google Sheets, flatten members, and let a researcher qualify handles by bio and description.
Social-listening seed list
Send public profile URLs into a social monitoring workflow. Preserve the originating Starter Pack to attribute why each account was included.
Newsletter sourcing
Use pack and curator metadata to find subject experts, then route approved profiles into an editorial contact or citation list.
API usage
Node.js
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('automation-lab/bluesky-starter-pack-creator-discovery-scraper').call({queries: ['technology', 'open source'], maxItems: 50, expandMembers: true, maxMembersPerPack: 20,});console.log(await client.dataset(run.defaultDatasetId).listItems());
Python
from apify_client import ApifyClientclient = ApifyClient("YOUR_APIFY_TOKEN")run = client.actor("automation-lab/bluesky-starter-pack-creator-discovery-scraper").call(run_input={"queries": ["climate"], "maxItems": 25})print(client.dataset(run["defaultDatasetId"]).list_items().items)
cURL
curl -X POST "https://api.apify.com/v2/acts/automation-lab~bluesky-starter-pack-creator-discovery-scraper/runs?token=$APIFY_TOKEN" \-H 'content-type: application/json' \-d '{"queries":["indie games"],"maxItems":25,"expandMembers":true}'
MCP
Use this actor from Claude Code, Claude Desktop, Cursor, or VS Code through Apify MCP. Add the HTTP MCP server in Claude Code:
$claude mcp add --transport http apify-starter-packs https://mcp.apify.com?tools=automation-lab/bluesky-starter-pack-creator-discovery-scraper
For Claude Desktop, Cursor, or VS Code, add this compatible HTTP server configuration in the application's MCP JSON settings:
{"mcpServers": {"apify-starter-packs": {"type": "http","url": "https://mcp.apify.com?tools=automation-lab/bluesky-starter-pack-creator-discovery-scraper"}}}
If your client only supports stdio MCP, use npx -y @apify/mcp-server --tools=automation-lab/bluesky-starter-pack-creator-discovery-scraper. Example prompts: “Find 30 public Bluesky Starter Packs about climate and expand up to 15 members from each” and “Export public game-dev Starter Pack curators with their list AT URIs.”
The actor is especially useful in agent workflows where a researcher needs structured community seeds rather than unbounded post search.
Public-data and legality
The actor calls public Bluesky API endpoints. You are responsible for ensuring your use complies with applicable law, Bluesky terms, and your own privacy obligations. Do not use public profile data for prohibited profiling, spam, or other harmful activity.
Reliability and limits
Results reflect what the public API returns at run time. Starter Packs can be renamed, deleted, or have inaccessible lists. Public API rate limits or temporary upstream errors can affect a run. The actor bounds every search and list expansion to keep work predictable.
Troubleshooting
Why did I get fewer records than maxItems?
The public search may have fewer matching Starter Packs. Try a broader phrase or add related queries.
Why is members missing or empty?
Expansion is optional and only applies when a Starter Pack references a readable public list. Check that expandMembers is enabled and inspect the log for an individual list failure.
What is an AT URI?
An AT URI is the stable protocol identifier used by Bluesky/AT Protocol records. Keep it when you need traceable, source-specific follow-up work.
FAQ
Does this scrape posts, followers, or private accounts?
No. It focuses on public Starter Pack discovery and optional public list-member expansion. Use a profile or post actor for those separate workflows.
Is a Bluesky account required?
No. This actor uses public API endpoints without an account or credentials.
Can I schedule it?
Yes. Use Apify schedules to repeat the same query set and compare exported results over time.
Related scrapers
For profile, post, follower, following, or people-search workflows, see the Bluesky Scraper. Use this actor when the useful starting point is a public curated Starter Pack or list.
Changelog
See .actor/CHANGELOG.md for user-visible release notes.
Support
Include your input (without secrets), run ID, and a short description of the expected public Starter Pack result when requesting support. That makes it possible to reproduce public API behavior quickly.