Bluesky Scraper — Posts, Profiles & Search avatar

Bluesky Scraper — Posts, Profiles & Search

Pricing

Pay per usage

Go to Apify Store
Bluesky Scraper — Posts, Profiles & Search

Bluesky Scraper — Posts, Profiles & Search

Extract Bluesky posts by keyword, hashtag, or handle. Scrape profiles, threads, followers, and custom feeds. Filter by date, language, sort order. Full engagement metrics. No API key or login needed. Uses public AT Protocol. Export JSON, CSV, Excel.

Pricing

Pay per usage

Rating

0.0

(0)

Developer

CryptoSignals Agent

CryptoSignals Agent

Maintained by Community

Actor stats

0

Bookmarked

10

Total users

5

Monthly active users

34 minutes ago

Last modified

Share

Bluesky Scraper — Posts, Profiles, Followers & Feeds

Extract posts, profiles, threads, followers, following lists, and custom feeds from Bluesky at scale. Uses the public AT Protocol — no API key or login needed.


Free Trial Ending April 3

This actor is free while we collect feedback. Starting April 3, 2026, it moves to $4.99/month. Add a payment method at apify.com/billing to keep access.


What Can You Scrape?

Data TypeDescription
PostsSearch by keyword, hashtag, mention, author, domain, or date range
ProfilesFull user profiles with follower/following counts and bio
FollowersComplete follower list for any handle
FollowingComplete following list for any handle
ThreadsFull post threads with nested replies
Custom FeedsAlgorithmic and user-created feeds

Features

  • Advanced search filters — date range, language, author, domain, hashtags, mentions
  • Sort by latest or top relevance
  • Up to 50,000 items per run
  • Full engagement metrics — likes, reposts, replies, quotes
  • No authentication — uses the public AT Protocol API
  • Respectful rate limiting — built-in delays and retries

Input Parameters

FieldTypeDefaultDescription
searchQuerystringKeyword to search, e.g. "artificial intelligence", "#startup"
handlesstring[][]Bluesky handles to scrape, e.g. ["jay.bsky.team"]
scrapeTypestring"posts"posts, profiles, both, followers, or following
maxItemsinteger100Max results per query/handle (1–50,000)
sortstring"latest"latest or top
sincestringStart date (ISO format, e.g. "2026-03-01T00:00:00Z")
untilstringEnd date (ISO format)
langstringLanguage code filter, e.g. "en", "fr"
tagstring[][]Hashtag filters
mentionsstringFilter posts mentioning this handle
authorstringFilter posts by author handle
domainstringFilter posts linking to this domain
threadUrisstring[][]AT Protocol URIs of threads to scrape
feedUrisstring[][]Custom feed URIs to scrape
threadDepthinteger6Max depth when scraping threads

Example Inputs

Search posts by keyword

{
"searchQuery": "artificial intelligence",
"scrapeType": "posts",
"maxItems": 200,
"sort": "top",
"lang": "en"
}

Scrape a user's posts and profile

{
"handles": ["jay.bsky.team"],
"scrapeType": "both",
"maxItems": 100
}

Get followers of an account

{
"handles": ["bsky.app"],
"scrapeType": "followers",
"maxItems": 5000
}

Search posts from a date range with hashtags

{
"searchQuery": "startup",
"tag": ["buildinpublic", "indiehacker"],
"since": "2026-03-01T00:00:00Z",
"until": "2026-03-27T00:00:00Z",
"maxItems": 500
}

Output Format

Post

{
"text": "Just shipped our new feature and the response has been incredible...",
"authorHandle": "alice.bsky.social",
"authorDisplayName": "Alice",
"createdAt": "2026-03-25T10:30:00.000Z",
"likeCount": 45,
"repostCount": 12,
"replyCount": 8,
"quoteCount": 3,
"hashtags": ["buildinpublic", "startup"],
"language": "en",
"uri": "at://did:plc:abc.../app.bsky.feed.post/xyz..."
}

Profile

{
"handle": "alice.bsky.social",
"displayName": "Alice",
"description": "Building things on the open web",
"followersCount": 5200,
"followsCount": 340,
"postsCount": 1820,
"avatar": "https://...",
"indexedAt": "2026-03-25T00:00:00.000Z"
}

Code Examples

Python

from apify_client import ApifyClient
client = ApifyClient("YOUR_API_TOKEN")
run = client.actor("cryptosignals/bluesky-scraper").call(run_input={
"searchQuery": "AI tools",
"scrapeType": "posts",
"maxItems": 100,
"sort": "top",
"lang": "en",
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(f"@{item['authorHandle']}: {item['text'][:80]}... ({item['likeCount']} likes)")

JavaScript

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_API_TOKEN' });
const run = await client.actor('cryptosignals/bluesky-scraper').call({
searchQuery: 'AI tools',
scrapeType: 'posts',
maxItems: 100,
sort: 'top',
lang: 'en',
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach(item => {
console.log(`@${item.authorHandle}: ${item.text.slice(0, 80)}... (${item.likeCount} likes)`);
});

cURL

# Start the run
curl -X POST "https://api.apify.com/v2/acts/cryptosignals~bluesky-scraper/runs?token=YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"searchQuery": "AI", "scrapeType": "posts", "maxItems": 50}'
# Get results (replace DATASET_ID)
curl "https://api.apify.com/v2/datasets/DATASET_ID/items?token=YOUR_API_TOKEN&format=json"

Use Cases

  • Social listening — monitor brand mentions and sentiment on Bluesky in real-time
  • Audience research — analyze follower demographics and growth for any account
  • Content strategy — find trending topics and high-engagement post patterns
  • Lead generation — discover people discussing topics relevant to your business
  • Academic research — collect public social media data at scale for analysis
  • Competitor monitoring — track what competitors post and how their audience reacts
  • Influencer discovery — find accounts with high engagement in specific niches

FAQ

Do I need a Bluesky account? No. The scraper uses the public AT Protocol API. No login or API key required.

How many results can I get? Up to 50,000 per run. For larger datasets, run multiple searches with different parameters.

Can I get private/blocked content? No. Only publicly available data is scraped.

How fresh is the data? Real-time. Each run fetches live data from the AT Protocol API.

What export formats are supported? JSON, CSV, Excel, XML, HTML. Connect via API, webhooks, Zapier, Make, or Google Sheets.

Integrations

  • REST API — trigger runs and fetch results programmatically
  • Webhooks — get notified when scraping completes
  • Zapier / Make — connect to 5,000+ apps
  • Google Sheets — export directly to spreadsheets
  • Slack / Email — set up alerts for new posts matching your keywords

See all scrapers by CryptoSignals