A Ruby client for Evernote
Latest commit e414ab9 Jun 15, 2012 @cgs update readme
Failed to load latest commit information.
lib version bump Jun 15, 2012
spec fix two failing tests Jun 28, 2011
vendor/gen-rb Upgrade to Evernote API SDK 1.21 for ruby Jun 6, 2012
.gitignore ignores Jan 30, 2010
LICENSE get rid of Jeweler, add contributors Jun 29, 2011
README.mkd update readme Jun 15, 2012
Rakefile get rid of Jeweler, add contributors Jun 29, 2011
evernote.gemspec fixes #10 Jan 23, 2012



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 (http://www.evernote.com/about/developer/api/#key), 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 (http://sandbox.evernote.com) and live system. You will be using sandbox for testing.


This script is also located in /example.rb

require 'evernote'

user_store_url = "https://sandbox.evernote.com/edam/user"

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

user_store = Evernote::UserStore.new(user_store_url, 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 = "http://sandbox.evernote.com/edam/note/#{user.shardId}"
note_store = Evernote::NoteStore.new(note_store_url)

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

The evernote API can be viewed at http://www.evernote.com/about/developer/api/ref/

If the vendored code is out of date and you get an error indicating so, feel free to create an issue at http://github.com/cgs/evernote/issues


  • 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.