~/social/bluesky-scraper

Scraper de Bluesky — Posts, perfiles, feeds e interacciones

Extrae posts, perfiles, seguidores, feeds, hilos, likes y reposts de Bluesky vía AT Protocol — además de resultados de búsqueda y hashtags autenticados con una contraseña de aplicación. JSON limpio y normalizado.

social TypeScriptAT Protocol Global
proooxy/bluesky-scraper — spec
categoríasocial / social
lenguajeTypeScript
stackTypeScript, AT Protocol
mercadosGlobal
salidaJSON limpio y listo para RAG

características clave

Once modos — search, profile, posts, followers, following, feed, thread, likers, reposters, actorLikes y hashtag

API pública sin necesidad de credenciales para perfiles, posts, seguidores, seguidos, feeds, hilos, likes y reposts

Modos autenticados con contraseña de aplicación — search, hashtag y los likes de tu propia cuenta

Exportación de engagement por publicación — listas completas de likes y reposts por post

Aplanado de hilos — recorre un árbol de respuestas hasta una profundidad configurable

Paginación automática por cursor en todos los endpoints de listado, hasta tu límite de elementos

Forma de JSON normalizada para posts y perfiles en todos los modos

HTTP resiliente — limitación de solicitudes, backoff exponencial y reintentos ante 429/5xx

casos de uso

  • Monitorización de marca y palabras clave mediante búsqueda autenticada
  • Seguimiento de hashtags y tendencias en toda la red
  • Exportación de audiencia — listas de seguidores y seguidos de un creador o una marca
  • Análisis de engagement — quién exactamente dio like o hizo repost de una publicación
  • Construcción de datasets para BI, analítica o pipelines RAG a partir de JSON limpio y normalizado
  • Archivado de conversaciones e hilos bajo una publicación

parámetros de entrada

ParámetroTipoObligatorioDescripción
modestringopcionalQué extraer: posts, profile, followers, following, feed, thread, likers, reposters, actorLikes, search o hashtag (por defecto: posts).
handlesarrayopcionalHandles de Bluesky para los modos profile/posts/followers/following/actorLikes, por ejemplo bsky.app.
querystringopcionalTexto de búsqueda (modo search) o hashtag (modo hashtag — se antepone # automáticamente).
postUristringopcionalURI AT de una publicación — usado por los modos thread, likers y reposters.
feedUristringopcionalURI AT de un feed personalizado — usado por el modo feed.
identifierstringopcionalHandle o email de acceso a Bluesky para los modos autenticados (search, hashtag, actorLikes).
appPasswordstringopcionalContraseña de aplicación de Bluesky (no la contraseña principal de tu cuenta) para los modos autenticados.
maxItemsnumberopcionalMáximo de posts/perfiles guardados; cada uno equivale a un evento facturable (por defecto: 100).

Ejemplo de salida

 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}

Precios

Pago por evento: $0.001 por elemento (post o perfil) guardado. Una exportación de 1,000 elementos cuesta ~$1.00, y maxItems limita tanto el volumen como el coste.

Consejos

  • Empieza por los modos públicos. Perfiles, posts, seguidores y engagement (likers/reposters) no necesitan login — reserva la autenticación con contraseña de aplicación para las ejecuciones de search y hashtag.
  • Exporta engagement, no solo posts. Los modos likers y reposters muestran exactamente quién amplificó una publicación — una señal que la mayoría de scrapers de Bluesky pasan por alto.
  • Limita maxItems en extracciones de followers/following de cuentas grandes para mantener las ejecuciones rápidas y los costes predecibles.

faq

¿Necesito credenciales de Bluesky?
Solo para los modos search, hashtag y actorLikes — genera una contraseña de aplicación en los ajustes de Bluesky y pásala como appPassword. Los modos profile, posts, followers, following, feed, thread, likers y reposters funcionan todos sin credenciales a través de la API pública de AT Protocol.
¿Puedo exportar los likes de cualquier cuenta?
No. La API de Bluesky solo expone actorLikes para la propia cuenta autenticada, así que el handle y el identificador de acceso deben referirse a la misma cuenta.
¿Cómo encuentro el URI de una publicación o un feed?
Los URIs AT tienen el formato at://did:plc:.../app.bsky.feed.post/... — cópialos desde la salida de la API de Bluesky o herramientas para desarrolladores. Los URIs de feed usan la colección app.bsky.feed.generator.
¿Es seguro usar mi contraseña de aplicación?
Sí — usa una contraseña de aplicación de Bluesky (creada en Settings → App Passwords), nunca tu contraseña principal. Tiene permisos limitados, es revocable y se pasa como un input secreto.

relacionado en ~/social

Ejecuta Scraper de Bluesky — Posts, perfiles, feeds e interacciones, o consigue un desarrollo a medida

Empieza a extraer datos en Apify en minutos, o contrátame para construir un scraper a medida y un pipeline de datos RAG para tu fuente y esquema exactos.

ejecutar en Apify obtener datos a medida