https://ruk.ca/content/how-export-posts-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:

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

With these two done, I was able to see the first page of an archive of my posts at the archive URL, **https://tinyletter.com/ruk/archive**.

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

**https://tinyletter.com/ruk/archive?page=1&recs=121**

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 tinyletter.com,gallery.tinyletterapp.com \\
         "<https://tinyletter.com/ruk/archive?page=1&recs=121&sort=desc&q=>"

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