Operated by Sourcelane✓ verified
Scrape Bluesky starter pack members, people search, custom feed and list posts, plus post likers, reposters, quotes and replies. No login or API key needed.
An connector that scrapes and exports structured Bluesky data for discovery and analysis: it extracts members of starter packs and lists, performs people and starter-pack keyword search, pulls posts from custom feeds and curated list feeds, and enumerates users who liked, reposted, quoted or replied to a post (including full reply trees). Outputs include profile metadata (display names, handles, profile identifiers and URLs, avatars/banners, bios, follower/following/post counts, verification and moderation labels, account creation and interaction timestamps), post content and metadata (text, URLs, creation time, language, hashtags, mentions, links, media URLs, embed/quoted-post references, engagement counts, author metadata, reply depth and parent/root relationships), and starter-pack metadata (names, descriptions, URLs, member counts, join metrics, creator metadata, bundled feed counts and timestamps). Operates across multiple modes for people, posts and starter-pack discovery and supports paginated retrieval for large lists.
Verified Sep 28, 3:55 AM
$0.002
per profile
Up to 100 per call. Only pay for results returned; failed calls are refunded.
Audience building
Export members of niche starter packs to follow, research or outreach them
Lead generation
Find journalists, researchers, founders or creators via people and starter-pack search
Influencer and community research
Map membership across starter packs and lists with follower metrics
Engagement analysis
Identify who liked, reposted, quoted or replied to a post and read reply threads
Feed and topic monitoring
Collect posts from custom feeds or curated lists for trend and sentiment analysis
The starter pack, list, custom feed, post or profile to scrape, depending on the mode.
Keywords for 'People search' and 'Starter pack search'.
Optional settings
| Window | Uptime | Success rate | p50 | p95 | Calls |
|---|---|---|---|---|---|
| 24h | — | — | — | — | 0 |
| 7d | — | — | — | — | 0 |
| 30d | — | — | — | — | 0 |
Call it through Sourcelane's gateway or MCP server. We run the connector, apply your agent's spend guardrails, and bill only the results returned.
Call it via Sourcelane
curl -X POST https://api.usesourcelane.com/v1/call \
-H "Authorization: Bearer sl_live_your_agent_key" \
-H "Content-Type: application/json" \
-d '{"listing":"bluesky-search-starter-packs-scraper","params":{"url":"https://bsky.app/starter-pack/emilyliu.me/3kvq2t2ctis2z","maxItems":5},"maxResults":10}'Request params
| Field | Type | Required | Description |
|---|---|---|---|
mode | string | optional | Pick the data you want. Search modes use 'Search query'; every other mode uses 'Bluesky URL'. |
url | string | optional | The starter pack, list, custom feed, post or profile to scrape, depending on the mode. Examples: https://bsky.app/starter-pack/emilyliu.me/3kvq2t2ctis2z, https://bsky.app/profile/emilyliu.me/lists/3kvq2sytpos2i, https://bsky.app/profile/bsky.app/feed/whats-hot, https://bsky.app/profile/kenjennings.bsky.social/post/3mvta262ufs27. at:// URIs and go.bsky.app starter pack short links also work. For 'S |
query | string | optional | Keywords for 'People search' (matches names, handles and bios) and 'Starter pack search' (matches pack names and descriptions). Ignored by the other modes. |
maxItems | integer | optional | Maximum rows to return in this run. Set 0 for no limit (the run stops about 60 seconds before its timeout and saves NEXT_PAGE_ID so you can continue). Capped at 100 per call. |
includeProfileStats | boolean | optional | For people rows (starter pack members, list members, search, likers, reposters), look up follower count, following count, post count and banner. Turn off for slightly faster runs. |
pageId | string | optional | Paste NEXT_PAGE_ID from the previous run's Key-value store to fetch the next page. Use the same mode and URL/query as that run. Not used by 'Post replies', which fetches the whole reply tree at once. |
Each result contains
| Field | Type | Description |
|---|---|---|
type | string | Type |
mode | string | — |
source | string | — |
did | string | — |
handle | string | Handle |
displayName | string | Name |
description | string | — |
profileUrl | string | Profile |
avatar | string | — |
banner | string | — |
followersCount | integer | Followers |
followsCount | integer | — |
postsCount | integer | Posts |
isVerified | boolean | Verified |
labels | array | — |
createdAt | string | Created |
interactedAt | null | — |
Pick your tool and connect in under a minute. Then just ask — for example: “Find this creator's profiles on every social network and summarise their reach.”
Connect Claude
Web, desktop and mobile. One click, then confirm.
Adds the Sourcelane MCP server with your key as a header.
claude mcp add --transport http sourcelane https://api.usesourcelane.com/mcp \
--header "Authorization: Bearer sl_live_your_agent_key"Alternative to the connector URL: add to claude_desktop_config.json, then restart Claude.
{
"mcpServers": {
"sourcelane": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://api.usesourcelane.com/mcp",
"--header",
"Authorization:${AUTH_HEADER}"
],
"env": {
"AUTH_HEADER": "Bearer sl_live_your_agent_key"
}
}
}
}Add to ~/.cursor/mcp.json (or Windsurf's mcp_config.json).
{
"mcpServers": {
"sourcelane": {
"url": "https://api.usesourcelane.com/mcp",
"headers": {
"Authorization": "Bearer sl_live_your_agent_key"
}
}
}
}Save as .vscode/mcp.json. VS Code prompts for your key once.
{
"servers": {
"sourcelane": {
"type": "http",
"url": "https://api.usesourcelane.com/mcp",
"headers": {
"Authorization": "Bearer ${input:sourcelane-key}"
}
}
},
"inputs": [
{
"type": "promptString",
"id": "sourcelane-key",
"description": "Sourcelane agent key",
"password": true
}
]
}Create a GPT → Actions → Import from URL, then Authentication: API Key, Bearer.
https://usesourcelane.com/openapi.jsonOne POST. Pass maxResults to cap cost.
curl -X POST https://api.usesourcelane.com/v1/call \
-H "Authorization: Bearer sl_live_your_agent_key" \
-H "Content-Type: application/json" \
-d '{"listing":"bluesky-search-starter-packs-scraper","params":{"url":"https://bsky.app/starter-pack/emilyliu.me/3kvq2t2ctis2z","maxItems":5},"maxResults":10}'Wrap the REST call as a tool, or point an MCP client at the endpoint.
import requests
res = requests.post(
"https://api.usesourcelane.com/v1/call",
headers={"Authorization": "Bearer sl_live_your_agent_key"},
json={
"listing": "bluesky-search-starter-packs-scraper",
"params": {"url":"https://bsky.app/starter-pack/emilyliu.me/3kvq2t2ctis2z","maxItems":5},
"maxResults": 10,
},
timeout=300,
)
body = res.json()
print(body["receipt"]["chargedMicros"], "micro-USD for", body["receipt"]["results"], "results")
print(body["data"])—
0 reviews
Leave a review
Loading reviews…