Skip to content


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
A Ruby client for Evernote
branch: master
Failed to load latest commit information.
lib version bump
spec fix two failing tests
vendor/gen-rb Upgrade to Evernote API SDK 1.21 for ruby
.gitignore ignores
LICENSE get rid of Jeweler, add contributors
README.mkd update readme
Rakefile get rid of Jeweler, add contributors
evernote.gemspec fixes #10



This gem is a high level wrapper around Evernote's Thrift-generated ruby code. It bundles up Evernote's thrift-generated code and creates some simple wrapper classes.


Get a "Client application" API key from Evernote (, which gives you a "consumer_key" and "consumer_secret" (note that a "web application" API key uses OAuth to authenticate and will not work). Put the key in a YML file or any other place you put configuration information. Also, get yourself a username and password on both their sandbox system ( and live system. You will be using sandbox for testing.


This script is also located in /example.rb

require 'evernote'

user_store_url = ""

config = {
   :username => 'YOUR_USERNAME',
   :password => 'YOUR_PASSWORD',
   :consumer_key => 'YOUR_CONSUMER_KEY_FROM_EVERNOTE',

user_store =, config)

auth_result = user_store.authenticate
user = auth_result.user
auth_token = auth_result.authenticationToken
puts "Authentication was successful for #{user.username}"
puts "Authentication token = #{auth_token}"

Once you've authenticated, you could do something like list all of your notebooks:

note_store_url = "{user.shardId}"
note_store =

notebooks = note_store.listNotebooks(auth_token)
puts "Found #{notebooks.size} notebooks:"
default_notebook = notebooks[0]
notebooks.each { |notebook| puts "  * #{}"}

The evernote API can be viewed at

If the vendored code is out of date and you get an error indicating so, feel free to create an issue at


  • OAuth support - will gladly accept a patch for this!


Thanks to the following peeps for helping out:

  • Peter Mangiafico (peetucket)
  • d1
  • Mikhail Zelenin (MioGreen)
  • Jimmy Zimmerman (jimmyz)
  • Buck Doyle (backspace)
  • Philippe Creux (pcreux)


Copyright (c) 2011 Chris Sepic. See LICENSE for details.

Something went wrong with that request. Please try again.