A few options for backing up a Tumblr blog or blogs,
in order of easy-to-hard:
* Tumblr2Wordpress –
Does not get pictures-etc or comments, allows you to archive other people’s blogs, allows you to keep multiple blogs separate easily.
Exports to WordPress’s XML format, should work for WordPress.com blogs.Very simple, an okay choice for quick/emergency backups even if you don’t use WordPress.
* WordPress.com‘s built-in Tumblr importer –
Does not get pictures-etc or comments, does not allow you to keep
multiple blogs separate: as in, if you import more than one blog, they’ll all get mashed together into one.To be very, very clear: this importer definitely
and for-real does not save pictures, music, and other media! It’ll look like it grabbed your stuff, yes – but if you check the image urls you’ll see it’s just loading them from Tumblr.Basically, I recommend this one only if you want to back up or mirror just one mostly-text blog.
* Tumblr-Importer plugin for hosted WordPress blogs –
Does get pictures-etc, does not get comments, doesn’t allow you to keep blogs separate. Pretty easy to use.Exports directly to the WordPress installation you’re running it from, does not work for WordPress.com blogs.
* tumblr-utils
–
Gets
pictures-etc, does not get comments, allows you to keep blogs separate. A set of Python scripts that export to a simple HTML archive.
Requires you to install Python 2.7 and type a command line comment.* Jekyll’s tumblr-import – Gets pictures-etc, does not get comments, allows you to keep blogs separate if you configure it that way. Exports to Jekyll’s MarkdownHTML format. Similar to tumblr-utils but 1) much more flexible output, 2) much harder to set up, and 3) requires Ruby, not Python.
* Tumblr API V2 posts function – If you want comments/other notes/downstream reblogs, or if you want to try to archive whole tags site-wide, you’ll need to mess around with this thing.
It retrieves stuff in Tumblr’s alarming-looking JSON format, but at least you’ll have all the information.If you only want public content, you can just use the API key they provide in the examples. In that case, you may be able to just kinda generate a series of URLs like this:
https://api.tumblr.com/v2/blog/{{BLOG NAME}}.tumblr.com/posts?api_key={{API KEY}}¬es_info=true
&reblog_info=true&offset=0https://api.tumblr.com/v2/blog/{{BLOG NAME}}.tumblr.com/posts?api_key={{API KEY}}¬es_info=true
&reblog_info=true&offset=20https://api.tumblr.com/v2/blog/{{BLOG NAME}}.tumblr.com/posts?api_key={{API KEY}}¬es_info=true&reblog_info=true&offset=40
~ offset=60, ~ offset=80, etc.
and feed them into a download manager?
However, for things like your likes, drafts, or queue – anything that requires logging in – you’ll need to register to use OAuth and do some actual coding. I am very, very sorry.
* Ruby + three gems: tumblr_client, oauth, and sinatra – Here’s an OAuth handshake example I made a while back using those three gems.
I do not know how OAuthorize without at least starting out using Sinatra or Rails or something, sorry. Someone more competent than me please provide an example? However, once you’ve done the OAuth handshake process once, you can dispense with Sinatra and just use the access token and secret you got to configure Tumblr::Client objects in the future.
* weren’t you supposed to be making some kind of tool to save us from the bleak fate of having to mess with the API ourselves, Tumblr user snarp? – Yeah, but I’ve spent most of the past year zombied out in bed and being assailed by modern medicine, so it’s not done.