EN PT ID

Arquivo Bluesky 2026: 4 Formas de Salvar Posts AT Protocol

2 de Novembro, 2026 · 9 min read · ThreadGrab

O Bluesky ultrapassou 40 milhões de usuários no final de 2026, e a pergunta que todo usuário avançado eventualmente faz é: como faço para tirar meus posts? Diferente do X, o Bluesky não tem botão "Baixar um arquivo dos seus dados". Se você tem anos de threads, opiniões e posts long-form na rede, sua única garantia de mantê-los é exportá-los você mesmo. Aqui estão quatro abordagens que realmente funcionam — de scripts de uma linha a ferramentas completas de terceiros.

Por Que o Arquivamento do Bluesky É Diferente do X

O X (Twitter) oferece download de arquivo nativo desde 2012. O Bluesky, construído no AT Protocol, segue uma abordagem fundamentalmente diferente: seus dados vivem em um Personal Data Server (PDS), e o protocolo foi projetado para portabilidade, não para lock-in de plataforma. Essa escolha de design significa que não há botão de exportação — mas também significa que seus dados são muito mais acessíveis via API do que em qualquer plataforma proprietária.

A implicação prática: se você quer um arquivo do Bluesky, você escreve um script ou usa uma ferramenta que envolve um.

Comparação de Métodos

Método Ideal Para Requer Auth Posts Históricos Dificuldade
API AT Protocol Seus próprios posts, controle total Sim (senha de app) Sim Média
Jetstream (WebSocket) Captura de novos posts em tempo real Não Não Média
Exportação CAR do PDS Dump completo de dados brutos Sim (admin PDS) Sim Avançada
Ferramentas de Terceiros Exportação sem código, um clique Varia Sim Fácil

Método 1: A API do AT Protocol

A abordagem mais direta usa a biblioteca Python oficial atproto para percorrer seu feed de autor e salvar cada post. Este é o método que oferece mais controle sobre o formato de saída.

# Export Bluesky posts and threads via AT Protocol
# Requires: pip install atproto

from atproto import Client

client = Client()
client.login('your-handle.bsky.social', 'your-app-password')

# Fetch your own author feed (most recent 100 posts)
feed = client.app.bsky.feed.get_author_feed(
    {'actor': 'your-handle.bsky.social', 'limit': 100}
)
for item in feed.feed:
    post = item.post
    print(post.record.text)
    print(post.record.created_at)
    print('---')

A partir daí, converter para Markdown é um pequeno script adicional:

# Save every exported post as individual Markdown files
# One file per post, YAML frontmatter included

import json, pathlib, re

def slugify(text):
    return re.sub(r'[^a-z0-9]+', '-', text.lower()).strip('-')[:60]

out = pathlib.Path('bluesky-archive')
out.mkdir(exist_ok=True)

with open('export.jsonl') as f:
    for line in f:
        post = json.loads(line)
        slug = slugify(post['text'][:60]) or 'untitled'
        md = f"---\ntitle: \"{post['text'][:70]}...\"\n"
        md += f"date: {post['created_at']}\n"
        md += f"uri: {post['uri']}\n---\n\n{post['text']}\n"
        (out / f"{post['created_at'][:10]}-{slug}.md").write_text(md)

print(f"Archived {len(list(out.glob('*.md')))} posts to {out}/")

Método 2: Jetstream para Captura em Tempo Real

Se você quer capturar posts conforme são publicados — para análise de tendências ou pesquisa — Jetstream é um WebSocket público que transmite todos os eventos do firehose do Bluesky sem autenticação. Não faz backfill de histórico, então é um complemento ao método da API, não um substituto.

# Subscribe to Jetstream and capture all new Bluesky posts
# No authentication required

import asyncio, websockets, json

async def capture():
    uri = "wss://jetstream2.us-east.bsky.network/subscribe?wantedCollections=app.bsky.feed.post"
    async with websockets.connect(uri) as ws:
        async for message in ws:
            event = json.loads(message)
            # Filter: only posts from accounts you follow or a specific handle
            print(event["commit"]["record"]["text"])

asyncio.run(capture())

Método 3: Exportação CAR do PDS

Para uma exportação bruta completa — cada post, cada curtida, cada follow, cada mídia — você pode solicitar um arquivo CAR (Content Addressable aRchive) diretamente do seu PDS. Este é o equivalente mais próximo do Bluesky ao download de arquivo do X, mas requer acesso de administrador em um PDS auto-hospedado ou uma solicitação de suporte no bsky.social.

Arquivos CAR não são legíveis por humanos. Você precisará de uma ferramenta como go-car ou um script personalizado para analisá-los. Este método é ideal para usuários que querem um backup forense completo, não um arquivo legível.

Método 4: Ferramentas de Terceiros

Se escrever Python não é sua praia, várias ferramentas envolvem a API em uma experiência de um clique:

O ThreadGrab exporta threads e posts long-form do Bluesky para Markdown limpo com um único comando. A saída é portátil — funciona no Obsidian, Notion, GitHub ou qualquer gerador de site estático. Para gerentes de mídia social que precisam arquivar conteúdo em múltiplas plataformas (X Articles, Bluesky long-form, LinkedIn Newsletter), o ThreadGrab gerencia o pipeline completo.

Skython e Bluesky Archive (ambos open source) oferecem exportação com interface gráfica para HTML e JSON. Eles lidam com paginação, downloads de mídia e desduplicação automaticamente.

Passos Práticos para Arquivar Seu Conteúdo do Bluesky Hoje

Passo 1: Gere uma senha de app. Vá em Configurações → Senhas de App no Bluesky e crie uma senha dedicada para seu script de exportação. Nunca use sua senha principal em um script.

Passo 2: Execute a exportação. Use o script da API AT Protocol acima para buscar todos os seus posts. Salve a saída como JSONL (um objeto JSON por linha).

Passo 3: Converta para Markdown. Execute o script de conversão para gerar um arquivo Markdown por post com frontmatter YAML. Este formato sobreviverá a qualquer plataforma.

Passo 4: Configure uma exportação recorrente. O melhor arquivo é um arquivo atual. Configure um cron job mensal para reexecutar a exportação e sincronizar novos posts ao seu diretório de arquivo.

# Monthly cron: sync new Bluesky posts to your archive
0 9 1 * * python3 ~/scripts/bluesky-export.py && python3 ~/scripts/bluesky-to-md.py

FAQ

O Bluesky tem exportação nativa de arquivo?

Não. Diferente do X (Twitter), que possui download de arquivo integrado, o Bluesky não oferece exportação com um clique. Você precisa usar a API do AT Protocol, uma ferramenta de terceiros ou solicitar seus dados diretamente ao seu PDS (Personal Data Server).

Qual a diferença entre Jetstream e a API do Bluesky?

A API padrão do Bluesky (app.bsky.feed.getAuthorFeed) retorna posts página por página e requer autenticação. Jetstream é um WebSocket público que transmite todo novo post do Bluesky em tempo real — não requer autenticação, mas só carrega posts novos, não históricos.

Posso exportar posts do Bluesky para Markdown?

Sim. Após buscar os posts via API, converter para Markdown é simples. O ThreadGrab exporta threads do Bluesky para Markdown limpo automaticamente. Para exportações manuais, um pequeno script Python com a biblioteca atproto pode gerar um arquivo Markdown por post.

É legal arquivar posts de outra pessoa no Bluesky?

O conteúdo do Bluesky é público por padrão, mas arquivar posts de outro usuário levanta questões éticas e legais. Os Termos do AT Protocol permitem uso pessoal de arquivamento. Sempre respeite direitos autorais, não republique sem permissão e siga as diretrizes da comunidade Bluesky.

O que acontece com meus posts do Bluesky se meu PDS fechar?

Se seu Personal Data Server fechar, sua conta e posts ficam inacessíveis, a menos que você tenha migrado para um novo PDS ou exportado seus dados. O AT Protocol suporta migração de conta, mas você deve iniciá-la antes do PDS sair do ar. Exportações regulares são o único backup garantido.

Conclusão

A falta de exportação nativa do Bluesky é uma característica de seu design descentralizado, não um descuido. O AT Protocol torna seus dados mais portáteis do que qualquer plataforma proprietária — mas a portabilidade exige que você realmente a use. Escolha um dos quatro métodos acima, execute sua primeira exportação hoje e configure um job recorrente para manter o arquivo atualizado. Os posts que você escreveu em 2024 vão agradecer em 2030.

Arquive threads do Bluesky para Markdown — automaticamente

O ThreadGrab exporta threads do Bluesky, X Articles e issues do LinkedIn Newsletter para Markdown limpo. Um comando, saída portátil, sem lock-in.

Experimente o ThreadGrab →

Fontes: Documentação do AT Protocol, Bluesky Jetstream no GitHub. Exemplos de código verificados com o SDK Python atproto v0.0.59.