Bluesky Scraper: Posts, Profiles, Feeds & Interactions avatar

Bluesky Scraper: Posts, Profiles, Feeds & Interactions

Pricing

$1.00 / 1,000 bluesky items

Go to Apify Store
Bluesky Scraper: Posts, Profiles, Feeds & Interactions

Bluesky Scraper: Posts, Profiles, Feeds & Interactions

Scrape Bluesky posts, profiles, followers, feeds, threads, likes, reposts and authenticated search/hashtag results.

Pricing

$1.00 / 1,000 bluesky items

Rating

0.0

(0)

Developer

Richard Feng

Richard Feng

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

10 hours ago

Last modified

Categories

Share

Scrape Bluesky public data through the AT Protocol XRPC APIs: posts, profiles, author feeds, followers, following, custom feeds, threads, likers, reposters, actor likes, plus authenticated search and hashtag results.

Features

FeatureDescription
Multi-mode coverageOne Actor covers search, profile, posts, followers, following, feed, thread, likers, reposters, actorLikes and hashtag modes
Public API firstMost modes use public.api.bsky.app without credentials
Authenticated searchSearch and hashtag modes use a Bluesky app password, because anonymous search pagination is unreliable
Interaction exportsExport post likers and reposters, which many competing Actors omit
Clean JSONPosts and profiles are normalized for monitoring, BI and RAG pipelines

Quick Start

{
"mode": "posts",
"handles": ["bsky.app"],
"maxItems": 100
}

Search requires an app password:

{
"mode": "search",
"query": "open source AI",
"language": "en",
"identifier": "your-handle.bsky.social",
"appPassword": "YOUR_APP_PASSWORD",
"maxItems": 100
}

Input

FieldTypeDescription
modestringsearch, profile, posts, followers, following, feed, thread, likers, reposters, actorLikes, hashtag
querystringSearch text or hashtag text
handlesarrayHandles for profile, posts, followers, following and actorLikes
postUristringAT URI for thread, likers and reposters
feedUristringAT URI for a custom feed
dateFromstringEarliest date for search/hashtag modes
languagestringOptional language filter for search
identifierstringBluesky handle/email for search/hashtag authentication
appPasswordsecret stringBluesky app password for search/hashtag; do not use your main password
maxItemsintegerMaximum saved items

Output

Post item:

{
"itemType": "post",
"mode": "posts",
"uri": "at://did:plc:.../app.bsky.feed.post/...",
"author": { "handle": "bsky.app", "displayName": "Bluesky" },
"text": "Example post text",
"createdAt": "2026-06-11T00:00:00Z",
"replyCount": 10,
"repostCount": 20,
"likeCount": 100,
"url": "https://bsky.app/profile/bsky.app/post/..."
}

Profile item:

{
"itemType": "profile",
"mode": "followers",
"did": "did:plc:...",
"handle": "alice.bsky.social",
"displayName": "Alice",
"followersCount": 1234,
"url": "https://bsky.app/profile/alice.bsky.social"
}

Recipes

Brand monitoring

{
"mode": "search",
"query": "\"my brand\"",
"identifier": "your-handle.bsky.social",
"appPassword": "YOUR_APP_PASSWORD",
"maxItems": 500
}

Export a creator's audience

{
"mode": "followers",
"handles": ["bsky.app"],
"maxItems": 1000
}

Analyze who engaged with a post

{
"mode": "likers",
"postUri": "at://did:plc:.../app.bsky.feed.post/...",
"maxItems": 1000
}

Pricing

Pay-per-event: $0.001 per saved item. A 1,000-item export costs $1.00.

FAQ

Do I need credentials?

Only for search and hashtag. Create an app password in Bluesky settings and pass it as appPassword. Public profile/feed/thread/interaction modes do not require credentials.

How do I find a feed URI?

Open a feed in Bluesky, copy its AT URI from developer tooling or API output, and pass it as feedUri. Feed URIs look like at://did:plc:.../app.bsky.feed.generator/....

This Actor uses the open AT Protocol APIs and only reads public Bluesky data. For authenticated search, use an app password rather than your main password.