How to export posts from Tinyletter

From 2014 to 2020 I used the free Tinyletter web app to manage a small mailing list that I used to update Catherine’s family and friends on the progress of her cancer. I made 121 posts in all, starting with this explanation:

Apologies for moving so quickly from handcrafted individual emails to a mailing list, but I was beginning to lose track of who I’d told what about Catherine and her progress, and this seems like a way of doing so that’s sustainable, but without the publicness of a blog, which would make Catherine uncomfortable. Catherine has, however, blessed this alternative.

I’m writing mostly because I need to write to process things – that’s what my blog is for, and with that off the table, I still need a way of processing things. So I apologize in advance if what and how I write sounds overly technocratic or emotionless; that’s how I’m used to writing, and I’m pretty sure if I just started crying I wouldn’t be able to get the details down as I want to.

While I didn’t intend the updates to be anything more than a way to prevent Catherine having to answer the “how are you?” question 100 times a week, together they are also a journal of twists and turns  and details long-since-forgotten of life with cancer.

Reading my friend Elmine writing about her migration away from Mailchimp today, I was inspired to go to export those 121 posts from Tinyletter for posterity.

It turns out that Tinyletter doesn’t have a way of doing that.

So here’s what I did as a hacky workaround:

First, for each of the 121 posts, I checked the “Show in Letter Archive” checkbox. There’s no way to do this en masse, so I had to edit 121 posts individually:

Screen shot showing "Show in Letter Archive" checkbox

Next, I turned on the “Show sent messages on your archive page” setting for the Tinyletter account:

Screen shot showing "Show sent messages on your archive" setting

With these two done, I was able to see the first page of an archive of my posts at the archive URL,

I figured out that I could see every post if I modified that URL with some parameters:

The “page=1” simply says “start on page 1.” The “recs=121” is how many posts I want to see per page: I wrote 121 posts, so that’s why I use 121 here.

Finally, from the command line on my Mac I used wget to scrape the entire archive, including any linked images:

wget \
     --span-hosts \
     --recursive \
     --no-clobber \
     --page-requisites \
     --html-extension \
     --convert-links \
     --execute robots=off \
	 --no-parent \
     --domains, \

This took about 20 seconds to run, and when it was finished I had a local archive: two folders, holding the embedded images and holding the HTML of the posts, 121 in all:

Screen shot of Finder on my Mac showing the Tinyletter archive.

I’ll have to do some more text processing to extract these into a useful chronological archive, but I now have all of the component parts to do that.