How to Download Twitter Spaces That Aren't Yours


6 reactions 2022-02-28

I recently caught the tail end of a TimescaleDB Twitter space that I wanted to snip for my mixtape in future. Spaces are only saved for a few days so if you want them beyond that you will have to download it. However, Twitter only lets the host of the space download. I tried using youtube-dl for it but it is currently unsupported.

Fortunately 89z on GitHub is very actively maintaining his own project that interfaces with some arbitrary social media: and answered my questions enough to get me using it!

The project bundles releases only for Windows, so here’s a quick sequence of instructions for Mac.


In case you are a nontechnical person arriving from Google - these instructions are meant for developers but written out step by step as faithfully as I can. The only prerequisite you need is:

but I won’t spend any time teaching you how to use the terminal.

First get the Space ID

The primary piece of knowledge you need is the Twitter Space ID. Given a Twitter space URL, the space ID is 1RDGlgoYkDkK. No API key is needed as far as I can tell, which is just peachy.

Current instructions (May 2022)

# make sure you have `git` installed!
git clone
cd mech
git reset --hard 1c482c527b # to fix a temporary break
cd twitter
# make sure you have `go` installed!
go build

This builds a binary called twitter which you can run:

# mac
./twitter -s 1RDGlgoYkDkKL   # if this doesnt work try ./twitter -c 1RDGlgoYkDkKL
# windows
twitter -s 1RDGlgoYkDkKL     # if this doesnt work try twitter -c 1RDGlgoYkDkKL

This starts the download:

$ ./twitter -s 1RDGlgoYkDkKL    
0/1299 /Transcoding/v1/hls/Ze8MHZCOuvGIbhBQYBAevAIotnQEwAixsGxoUgsOOJaJsf0Qm6Kxhwt3JH77MIxknSr_2nobkgkUDyYP9YwzbQ/non_transcode/us-east-1/periscope-replay-direct-prod-us-east-1-public/audio-space/chunk_1645642768437487255_0_a.aac
1/1299 /Transcoding/v1/hls/Ze8MHZCOuvGIbhBQYBAevAIotnQEwAixsGxoUgsOOJaJsf0Qm6Kxhwt3JH77MIxknSr_2nobkgkUDyYP9YwzbQ/non_transcode/us-east-1/periscope-replay-direct-prod-us-east-1-public/audio-space/chunk_1645642768440813639_1_a.aac
2/1299 /Transcoding/v1/hls/Ze8MHZCOuvGIbhBQYBAevAIotnQEwAixsGxoUgsOOJaJsf0Qm6Kxhwt3JH77MIxknSr_2nobkgkUDyYP9YwzbQ/non_transc
# and so on...

The final file is an aac file which is still annoying but at least convertible and playable in Audacity.


Old Instructions (Feb 2022)

# make sure you have `git` installed!
git clone
cd mech
# update: v1.49 onwards has the twitter spaces support again!
git reset --hard v1.46.6 # only if you need to pin to a specific version that supports Twitter spaces, otherwise delete this line
cd cmd/twitter
go build

Get updates on new posts and projects

3000+ subscribers including my Mom – see past issues

Reactions: 👍 4 🎉 2