John Holdun

Using Instapaper on Kobo Readers

A couple years ago I decided I wanted an e-reader, but I try to avoid Amazon by all means, so Kindle was out. I ended up with a Kobo Nia and I’m quite happy with it!

I’m not a huge book reader, but I spend a lot of time in Instapaper. I have unknown hundreds of unread items in there and I add more every day. That’s really what this reader is for, for me. Instapaper has a native send-to-Kindle feature, but no such support for Kobo. I decided to take matters into my own hands…with code!

instapaper-to-pdf is a program you run on your computer that fetches your 100 most recent unread articles from Instapaper, formats them as PDFs, and saves those PDFs to a directory. You then sync that directory to your Kobo by mounting the device to your computer via USB. It appears like an external hard drive. Usually what I do is just drag-and-drop everything from my folder of generated PDFs onto the device and skip duplicates. I keep the generated files locally on my computer as well, and the script is smart enough to not bother generating a file that already exists. This is handy for retrying failed PDF generation—just rerun the program any time and it will fill in what it can. If the formatting of a recent post looks wrong, delete that PDF and try running again to see if anything changes.

This is not particularly user-friendly software. It requires you to know how to run a Ruby program locally, and it requires you to get your own access token to the Instapaper Full API . Sync is also one-directional, meaning there’s no way to tell Instapaper to archive an article once you’ve read it on Kobo. I don’t know that such a system is even possible. Maybe there’s some metadata I’m not aware of on the reader that will give me read/unread status for synced files? I’ll keep looking.

I’ve also formatted the PDFs such that they look good to me on my device, but because they’re PDFs, they’re not really adjustable. A future improvement might be to generate ePub files instead.

Speaking of ePub, while writing this and making sure that nobody has come up with a better solution since I started working on this, I learned via somebody on Reddit that Instapaper has a native download option that appears to download an ePub of your 10 most recent unread articles, and it even includes a link to archive all of those. I haven’t used this, but it seems cool, and if you found your way to this blog post you might like that option better. Check the “Download…” link in the dropdown on the top-right of the Instapaper web interface.

Anyway, if this solves a problem for you and you’re interested in trying it yourself (with all the toil that certainly entails), the code is on GitHub. Enjoy!