Bluesky Starter Pack Discovery Scraper avatar

Bluesky Starter Pack Discovery Scraper

Pricing

Pay per event

Go to Apify Store
Bluesky Starter Pack Discovery Scraper

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

Stas Persiianenko

Maintained by Community

Actor 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

FieldMeaning
packNamePublic Starter Pack name
packDescriptionCurator-provided context
creatorCurator DID, handle, profile URL, and public profile details
packUri / listUriStable AT Protocol identifiers
feedsReferenced public feeds
joinedAllTimeCountPublic all-time Starter Pack join counter
membersOptional nested public curated-list profiles
sourceUrlPublic Bluesky API source endpoint

Quick start

  1. Enter one or more topical phrases in Starter Pack search queries.
  2. Keep Maximum Starter Packs low for your first run.
  3. Turn on Expand curated list members when you need profile-level seeds.
  4. 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.

  • technology
  • climate
  • indie games
  • science
  • journalism
  • open 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 recordsBronze estimateFree-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 journalism rather than only climate.
  • 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 ApifyClient
client = 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.

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.