Bluesky Scraper: Posts, Profiles, Followers & Likes avatar

Bluesky Scraper: Posts, Profiles, Followers & Likes

Pricing

from $3.00 / 1,000 results

Go to Apify Store
Bluesky Scraper: Posts, Profiles, Followers & Likes

Bluesky Scraper: Posts, Profiles, Followers & Likes

Scrape public Bluesky posts by account or custom feed, profiles, followers, following and post likes without login, filtered by date and billed per result.

Pricing

from $3.00 / 1,000 results

Rating

0.0

(0)

Developer

M Usama

M Usama

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

17 hours ago

Last modified

Categories

Share

What does Bluesky Scraper do?

Bluesky Scraper collects public Bluesky data without a login: recent posts from any account or custom feed, profile details, followers, accounts someone follows, accounts that liked a post, and profiles found by keyword. Posts come with text, date, author, like, repost, reply and quote counts, hashtags, links, image URLs and quoted or reply references. Profiles come with handle, bio, follower, following and post counts, join date and verification status. Filters (date window, reposts and replies, result cap) keep runs small. Pricing is per result.

Data source

The Actor reads the public AT Protocol AppView API at public.api.bsky.app, the same JSON the Bluesky web app uses for logged out visitors, so data is live at the time of the run.

Why use it?

  • Monitor what a brand, journalist, competitor or public figure posts, with engagement counts for each post.
  • Build lists of accounts: followers of a creator, accounts a company follows, people who liked a launch post.
  • Find accounts in a niche by keyword and enrich them with follower counts and bios.
  • Pull a custom feed (for example a topic feed) for trend research and content analysis.
  • Replaces manual scrolling and copying, and avoids app passwords or API keys.

How to use it

  1. Open the Actor, pick what to scrape, and paste your targets.
  2. Click Start. Download results as JSON, CSV or Excel, or read them through the API.
  3. Add a Schedule and an Integration (Slack, Google Sheets, webhook) to get new records automatically.

Input

FieldDescription
modeposts, feed, profileSearch, profiles, followers, following or postLikes. Default posts.
targetsHandles or profile URLs (posts, profiles, followers, following), feed URLs (feed), search keywords (profileSearch), post URLs (postLikes).
sinceDatePosts and feed only. ISO date such as 2026-09-01. Older posts are skipped, and account timelines stop paging once they pass it.
includeRepostsAndRepliesPosts only. Off by default, which returns an account's own top level posts.
maxResultsHard stop for the run. You are billed per result, so this caps the cost.
proxyConfigurationApify proxy is recommended for larger runs.

Example input:

{
"mode": "posts",
"targets": ["bsky.app", "https://bsky.app/profile/apify.com"],
"sinceDate": "2026-09-01",
"maxResults": 100
}

Output

Posts and profiles share a type field. Example post:

{
"id": "at://did:plc:z72i7hdynmk6r22z27h6tvur/app.bsky.feed.post/3mv3shqdfuc2e",
"type": "post",
"url": "https://bsky.app/profile/bsky.app/post/3mv3shqdfuc2e",
"text": "Not to brag, but ... we snagged a couple of passes to today's Apple event. Stay tuned for our take on all the latest and greatest Apple products.",
"createdAt": "2026-09-09T15:00:07.513Z",
"authorHandle": "bsky.app",
"authorDisplayName": "Bluesky",
"likeCount": 2340,
"repostCount": 157,
"replyCount": 117,
"quoteCount": 40,
"language": "en",
"hashtags": [],
"links": [],
"imageUrls": ["https://cdn.bsky.app/img/feed_fullsize/plain/did:plc:z72i7hdynmk6r22z27h6tvur/bafkreih3mb3cwnbc5kv5b2qyy24q6banms25i5ut3cbty4ej2x7vjvd6y4"],
"isReply": false,
"isRepost": false,
"scrapedAt": "2026-10-01T08:39:33.223Z"
}
FieldMeaning
idStable key (post URI, or profile DID), safe for deduplication between runs
typepost or profile
url, text, createdAtPost link, text and ISO creation time
likeCount, repostCount, replyCount, quoteCountEngagement counts at scrape time
hashtags, links, imageUrls, externalLink, quotedPostUri, replyToUriContent details
handle, displayName, descriptionProfile fields
followersCount, followsCount, postsCount, verifiedProfile stats

Pricing

Pay per event: a small fee when a run starts, then a fixed price per result returned. You only pay for records that pass your filters. Set maxResults to cap any run.

Limitations

  • Keyword search over posts is not available: Bluesky requires a login for it, so this Actor does not offer it. Use profileSearch to find accounts, or feed for topic feeds.
  • Only public data. Accounts that limit visibility to logged in users, and deleted posts, are not returned.
  • Account timelines are paged newest first from the public API. Use sinceDate to stop early.
  • Follower, following and like lists are returned in the order the API gives them.

FAQ

Is this legal? The Actor reads data Bluesky publishes for any visitor without a login. You are responsible for how you use the data and for following privacy law that applies to you.

Something is missing or broken? Open an issue in the Issues tab; response time is usually under a day.