Bluesky Profile & Posts Scraper avatar

Bluesky Profile & Posts Scraper

Pricing

from $19.00 / 1,000 results

Go to Apify Store
Bluesky Profile & Posts Scraper

Bluesky Profile & Posts Scraper

Scrapes Bluesky profiles by handle and returns each profile with its recent posts attached. Includes full post text, engagement metrics, and profile details. Export to CSV, JSON, Excel, or XML.

Pricing

from $19.00 / 1,000 results

Rating

0.0

(0)

Developer

ParseForge

ParseForge

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

Share

ParseForge

Bluesky Profile & Posts Scraper

Scrape Bluesky profiles and their recent posts by handle, up to a million posts per run. Each profile comes with its display name, bio, follower counts, and the latest posts with full text, likes, reposts, and replies. No login or API key. Export to CSV, JSON, Excel, or XML.

Bluesky's official API requires an app password and rate-limits you. This reads the public profile feeds directly, given one or more handles, and returns each profile with its recent posts attached in one fixed schema. Filter by handle and cap the number of posts per profile so only the data you need reaches your dataset.

Who uses itWhat they scrape Bluesky for
Market researchersTrack what a set of influential accounts is posting this week
Brand managersMonitor competitor profiles and their latest announcements
JournalistsArchive the public posts of public figures for a story
Data analystsBuild a dataset of profiles and posts for trend analysis

What it does

This Actor collects Bluesky profiles by handle and returns each profile as a flat record with its recent posts attached.

  • πŸ‘₯ Profile records: one row per handle with display name, bio, avatar, and follower counts.
  • πŸ“ Recent posts attached: each profile row includes up to 100 of its latest posts with full text and engagement metrics.
  • πŸ”’ Flexible limits: set a global maximum posts per run and a per-handle post cap.
  • πŸ“€ Multiple export formats: CSV, JSON, Excel, XML, and more via Apify's dataset tools.

Results export to CSV, JSON, Excel, or XML, or straight from the API.

What you can do with Bluesky data

πŸ“ˆ Track competitor activity.

A brand manager runs the Actor on a list of competitor handles each morning to see their latest posts and engagement, then adjusts the day's content plan.

πŸ—žοΈ Archive public figures.

A journalist scrapes the profiles of politicians and celebrities before a big story, keeping a timestamped dataset of their public statements.

πŸ§ͺ Build a research corpus.

A data analyst collects posts from hundreds of accounts in a niche, then runs sentiment or topic modeling on the full text.

πŸ” Monitor brand mentions.

A social media manager scrapes the profiles of known brand advocates and detractors to catch new posts that mention the product.

Why choose this scraper

What you get
No API keyReads public profile feeds directly, no app password or OAuth
One fixed schemaEvery profile and post comes back in the same flat structure
Batch handlesPass dozens or hundreds of handles in a single run
Export anywhereCSV, JSON, Excel, XML, or push to any Apify integration

How it compares

This Actor focuses on scraping profiles and their recent posts by handle, while the competitors below offer broader search or thread capabilities.

FeatureParseForgeBluesky Scraper | Enterprise GradeBluesky Posts Search Scraper
Scrape by handleYesYesNot listed
Scrape by keyword searchNot listedYesYes
Full comment threadsNot listedYesNot listed
Profile details (bio, followers)YesNot listedNot listed
Recent posts per profileYesNot listedNot listed
No API key requiredYesNot listedNot listed

Configure the run

Drive the Actor from a list of Bluesky handles, and set two limits: the total number of posts to collect per run and how many recent posts to attach per profile. The Input tab lists every parameter.

A first run with the defaults:

{
"maxItems": 10,
"handles": [
"bsky.app"
],
"postsPerHandle": 10
}

A larger pull:

{
"maxItems": 200,
"handles": [
"bsky.app"
],
"postsPerHandle": 10
}

Pricing

Pay-per-result: $0.021 per result collected. You pay only for the results written to your dataset.

Results collectedApproximate cost
100 results$2.10
1,000 results$21.00
10,000 results$210.00

New Apify accounts start with $5 in free credit.

Free users

Free-plan runs return up to 10 results as a preview. Upgrade your Apify plan to collect up to 1,000,000 results per run.

Run it

  1. Create a free Apify account with $5 in credit.
  2. Open the Bluesky Profile & Posts Scraper.
  3. Set your inputs and any filters, then click Start.
  4. Export the results as CSV, Excel, JSON, or XML from the Dataset tab.

Run it programmatically through the Apify API (run-sync-get-dataset-items) or the ApifyClient for JavaScript and Python.

Use with AI agents (MCP)

Give an AI agent live access to Bluesky through the Model Context Protocol. Add the Actor to Claude, Cursor, or any MCP client:

$claude mcp add --transport http apify "https://mcp.apify.com?tools=parseforge/bluesky-profile-posts-scraper"

Then prompt it in plain language to run the scraper and read back the results.

Troubleshooting

Why am I getting no results?

Check that the handles are spelled correctly and do not include the @ symbol or a URL. The Actor expects plain handles like bsky.app or jack.bsky.social.

Why are some profiles missing posts?

The profile may have fewer posts than your postsPerHandle setting, or the account may be private or deleted. Try lowering postsPerHandle or checking the handle directly on Bluesky.

Why did the run stop before reaching maxItems?

The Actor stops when it has read all available posts from the given handles. If the total posts across all profiles is less than maxItems, the run ends early.

Can I scrape a handle that contains special characters?

Bluesky handles can contain dots and hyphens. Pass them exactly as they appear, for example my-handle.bsky.social. Avoid adding @ or https://.

Why do I get an error about invalid input?

Make sure the handles field is a list of strings and that maxItems and postsPerHandle are integers within the allowed ranges. The input schema shows the exact limits.

FAQ

QuestionAnswer
Do I need a Bluesky account or API key?No. The Actor reads public profile feeds directly, so no login, app password, or API key is required.
How many handles can I scrape in one run?You can pass as many handles as you like in the handles array. Each handle produces one profile record with its recent posts attached.
What is the difference between maxItems and postsPerHandle?maxItems is the total number of posts to collect across the whole run. postsPerHandle is how many recent posts to attach to each individual profile, up to 100.
Can I get more than 100 posts per profile?No, the Actor attaches up to 100 of the most recent posts per profile. For deeper history, run the Actor more frequently or use a search-based scraper.
What data comes back for each post?Each post includes its text, author handle, like count, repost count, reply count, and timestamp, among other fields. The exact schema is shown in the sample output.
Can I scrape posts by keyword or hashtag?This Actor scrapes by handle only. For keyword or hashtag search, use a Bluesky search scraper.
Does it scrape replies and comments?It returns the recent posts made by the profile, not the replies to those posts. Full comment threads are not included.
What export formats are supported?You can export the dataset as CSV, JSON, Excel, XML, or push it to any Apify integration like Google Sheets or a webhook.
Is this legal?The Actor only reads publicly available data. You are responsible for complying with Bluesky's terms of service and any applicable laws in your jurisdiction.
How often should I run it?You can schedule it daily, hourly, or on any cron schedule. Most users run it daily to keep a rolling archive of recent posts.

Browse the full ParseForge collection for more scrapers.

πŸ†˜ Need help? Email parseforge@protonmail.com with your run ID, your input, and what you expected.

⚠️ Disclaimer. This Actor is unofficial and is not affiliated with, endorsed by, or sponsored by Bluesky Social, PBC. It collects only publicly available data. You are responsible for using the collected data in compliance with the source's terms of service and applicable data-protection laws, including GDPR, CCPA, and PIPL. Do not use it to collect personal data unlawfully.