Skip to content
Hubot-compatible Tumblr API wrapper for Node.js
CoffeeScript Makefile
Find file
New pull request

A Hubot-compatible Tumblr API wrapper for Node.js

Build Status

Tumblrbot is a simple API client for Tumblr.

It's useful in Hubot scripts. Here are a couple examples: and

It's also perfectly usable in any other Node environment. I'd love to hear how you end up using it.


npm install tumblrbot


Use it in your Hubot script:

module.exports = (robot) ->
  tumblr = require('tumblrbot')(robot)

Or use it on its own:

tumblr = require('tumblrbot')


# Get the latest 3 posts
tumblr.posts("").last 3, (data) ->
  console.log post.title for post in data.posts

The following options are available to help you filter by post type:
`posts`, `text`, `quote`, `link`, `answer`, `video`, `audio`, `photo`.

# Get the most recent video post"").last (data) ->
  console.log data.posts[0].title

# Or use the plural form (it's just an alias)
tumblr.videos("").last (data) ->
  console.log data.posts[0].title

# Or get it without the array"").one (post) ->
  console.log post.title

You can pass any options specified in the Tumblr API:

tumblr.posts("").last 2, { tag: "potatoes" }, (data) ->
  console.log post.title for post in data.posts

Get a random photo post:"").random (post) ->


If process.env.HUBOT_TUMBLR_API_KEY is present, you're automatically authenticated. Sweet!

For many requests, it's enough for this to be the OAuth Consumer Key for your app - no need to go through the whole authorization process.

Helpful Hubot

Hubot will log errors if a request fails.

Something went wrong with that request. Please try again.