Created by @alanshurafa
Reviewed and merged by the Open Brain maintainer team — thank you for building the future of AI memory!
Import blog posts from Google Blogger Atom XML exports into Open Brain.
Parses Google Blogger's Atom XML export format and imports blog posts and comments as thoughts with embeddings. Works with any standard Atom feed export. Blog posts are stored as type: journal thoughts.
- Working Open Brain setup (guide)
- The content-fingerprint-dedup primitive installed (provides the
upsert_thoughtRPC function used for deduplication) - Blogger export files —
.atomfiles from Google Blogger - Node.js 18+ installed
- OpenRouter API key for embedding generation
JOURNALS/BLOGGER IMPORT -- CREDENTIAL TRACKER
--------------------------------------
FROM YOUR OPEN BRAIN SETUP
Supabase URL: ____________
Service Role Key: ____________
FROM OPENROUTER
API Key: ____________
--------------------------------------
-
Export your blog data:
- Go to your Blogger Dashboard → Settings → Manage Blog → Back up content
- Download the
.atomfile - If you have multiple blogs, export each one
-
Place all
.atomfiles in a folder:blogger-exports/ ├── my-tech-blog.atom ├── personal-journal.atom └── travel-blog.atom -
Copy this recipe folder and install dependencies:
cd journals-blogger-import npm install -
Create
.envwith your credentials (see.env.example):SUPABASE_URL=https://your-project.supabase.co SUPABASE_SERVICE_ROLE_KEY=your-service-role-key OPENROUTER_API_KEY=sk-or-v1-your-key
-
Preview what will be imported (dry run):
node import-blogger.mjs /path/to/blogger-exports --dry-run
-
Run the import:
node import-blogger.mjs /path/to/blogger-exports
After running the import:
- Each blog post becomes a thought with
type: journalandsource_type: blogger_import - Post titles and publication dates are preserved
- HTML content is stripped to plain text (line breaks preserved)
- Blog comments are imported separately
- Settings and template entries are automatically filtered out
Scale reference: Tested with 3,000+ blog posts across multiple blogs imported successfully.
Issue: No entries found in .atom file
The parser looks for <entry> tags with kind#post or kind#comment categories. Blogger settings and template entries are filtered out. If your Atom file uses a different schema, check the XML structure.
Issue: HTML tags appearing in imported text The HTML stripper handles common tags and entities. If you see raw HTML in your thoughts, the post may use unusual HTML structures. The content is still searchable.
Issue: Wrong dates on posts
The parser uses the <published> tag from the Atom feed. If dates look wrong, check the timezone in your Blogger export settings.