Open source · Runs in your browser
Your listening history,
on ATProto.
Malachite imports your Last.fm scrobbles and Spotify plays into Teal — the open music layer for the AT Protocol.
Last.fm
Import your full scrobble history from a Last.fm CSV data export.
Spotify
Import extended streaming history from Spotify's JSON data export.
Combined
Merge both sources together with smart deduplication to avoid double-counting plays.
Sync
Only import records not already in Teal — safe to re-run any time.
Deduplicate
Find and remove duplicate records already in your Teal account.
How it works
- 1 Choose a mode
Pick Last.fm, Spotify, combined, sync, or deduplicate.
- 2 Sign in with ATProto
Use your Bluesky handle and an app password. Nothing is stored.
- 3 Upload your export
Drop in your CSV or JSON files — everything is processed locally in your browser.
- 4 Import
Malachite publishes your records to your PDS with automatic rate-limit handling.
Ready?
No account needed. No data leaves your browser except to your own PDS.
Open the import tool