~/social/bluesky-scraper

Bluesky Scraper — Postingan, Profil, Feed & Interaksi

Ekstrak postingan, profil, follower, feed, thread, likers, dan reposters Bluesky via AT Protocol — plus hasil search dan hashtag terautentikasi dengan app password. JSON bersih dan dinormalisasi.

sosial TypeScriptAT Protocol Global
proooxy/bluesky-scraper — spec
kategorisocial / sosial
bahasaTypeScript
stackTypeScript, AT Protocol
pasarGlobal
outputJSON bersih, siap-RAG

fitur utama

Sebelas mode — search, profile, posts, followers, following, feed, thread, likers, reposters, actorLikes, dan hashtag

API publik tanpa kredensial untuk profiles, posts, followers, following, feeds, threads, likers, dan reposters

Mode terautentikasi dengan app password — search, hashtag, dan likes akun Anda sendiri

Ekspor post-engagement — daftar lengkap likers dan reposters per post

Thread flattening — menyusuri reply tree hingga depth yang bisa dikonfigurasi

Cursor pagination otomatis di setiap list endpoint hingga mencapai item cap Anda

Bentuk JSON yang dinormalisasi untuk posts dan profiles di semua mode

HTTP yang resilient — request throttling, exponential back-off, dan retry pada 429/5xx

use case

  • Monitoring brand dan keyword via authenticated search
  • Pelacakan hashtag dan tren di seluruh jaringan
  • Ekspor audiens — daftar followers dan following milik creator atau brand
  • Analisis engagement — mengetahui persis siapa yang like atau repost sebuah post
  • Membangun dataset untuk BI, analitik, atau pipeline RAG dari JSON yang bersih dan dinormalisasi
  • Pengarsipan percakapan dan thread di bawah sebuah post

parameter input

ParameterTipeWajibDeskripsi
modestringopsionalYang mau di-scrape: posts, profile, followers, following, feed, thread, likers, reposters, actorLikes, search, atau hashtag (default: posts).
handlesarrayopsionalHandle Bluesky untuk mode profile/posts/followers/following/actorLikes, contoh: bsky.app.
querystringopsionalTeks pencarian (mode search) atau hashtag (mode hashtag — otomatis diberi awalan #).
postUristringopsionalAT URI dari sebuah post — dipakai oleh mode thread, likers, dan reposters.
feedUristringopsionalAT URI dari custom feed — dipakai oleh mode feed.
identifierstringopsionalHandle login/email Bluesky untuk mode terautentikasi (search, hashtag, actorLikes).
appPasswordstringopsionalApp password Bluesky (bukan password akun utama Anda) untuk mode terautentikasi.
maxItemsnumberopsionalJumlah maksimum posts/profiles yang disimpan; masing-masing dihitung sebagai satu billed event (default: 100).

Contoh Output

 1{
 2  "itemType": "post",
 3  "mode": "posts",
 4  "uri": "at://did:plc:.../app.bsky.feed.post/...",
 5  "author": {
 6    "did": "did:plc:...",
 7    "handle": "bsky.app",
 8    "displayName": "Bluesky",
 9    "followersCount": 1234567
10  },
11  "text": "Example post text",
12  "createdAt": "2026-06-11T00:00:00Z",
13  "replyCount": 10,
14  "repostCount": 20,
15  "likeCount": 100,
16  "langs": ["en"],
17  "url": "https://bsky.app/profile/bsky.app/post/..."
18}

Harga

Pay-per-event: $0.001 per item (post atau profile) yang disimpan. Ekspor 1,000 item berharga sekitar ~$1.00, dan maxItems membatasi volume sekaligus biayanya.

Tips

  • Mulai dengan mode publik. Profiles, posts, followers, dan engagement (likers/reposters) tidak perlu login — simpan autentikasi app-password untuk run search dan hashtag.
  • Ekspor engagement, bukan cuma posts. Mode likers dan reposters menunjukkan persis siapa yang mem-amplifikasi sebuah post — sinyal yang dilewatkan sebagian besar scraper Bluesky lain.
  • Batasi maxItems saat menarik data follower/following dari akun besar, supaya run tetap cepat dan biaya tetap bisa diprediksi.

faq

Apakah saya perlu kredensial Bluesky?
Hanya untuk mode search, hashtag, dan actorLikes — generate app password di setting Bluesky Anda dan masukkan sebagai appPassword. Mode profile, posts, followers, following, feed, thread, likers, dan reposters semuanya berfungsi tanpa kredensial via API publik AT Protocol.
Bisakah saya mengekspor likes dari akun mana pun?
Tidak. API Bluesky hanya mengekspos actorLikes untuk akun yang terautentikasi itu sendiri, jadi handle dan login identifier harus merujuk ke akun yang sama.
Bagaimana cara menemukan URI post atau feed?
AT URI terlihat seperti at://did:plc:.../app.bsky.feed.post/... — salin dari output API Bluesky atau developer tooling. Feed URI memakai collection app.bsky.feed.generator.
Apakah aman menggunakan app password saya?
Aman — gunakan app password Bluesky (dibuat di Settings → App Passwords), jangan pernah pakai password utama Anda. App password ini scoped, bisa dicabut kapan saja, dan dikirim sebagai secret input.

terkait di ~/social

Jalankan Bluesky Scraper — Postingan, Profil, Feed & Interaksi, atau dapatkan build custom

Mulai ekstraksi di Apify dalam hitungan menit, atau sewa saya untuk membangun scraper custom dan pipeline RAG untuk source dan skema spesifik Anda.

run di Apify dapatkan data custom