Back

Evernote API Essential Guide

Aug 12, 20246 minute read

What type of API does Evernote provide?

Based on the search results provided, Evernote offers two main types of APIs:

Cloud API

  • Allows making web service calls directly to the Evernote service
  • Provides complete access to the Evernote service
  • Supports multiple programming languages including Objective-C, Java, PHP, Ruby, Python, Perl, C#, C++, ActionScript, JavaME

Local API

  • Interacts with local Evernote clients like Evernote for Mac or Evernote for Android
  • Provides a subset of the Cloud API functionality
  • Takes advantage of Evernote UIs

The documentation mentions "web service calls" which suggests the Cloud API may be a REST-like API, but this is not explicitly stated. There is no mention of GraphQL or SOAP in the provided search results.

Does the Evernote API have webhooks?

To answer your question about the Evernote API and webhooks:

The official Evernote API does not currently offer webhooks as a feature. Evernote's API primarily focuses on providing methods for creating, retrieving, updating, and deleting notes and notebooks, as well as managing user accounts and resources.

Key points to consider:

• Evernote's API is based on a RESTful architecture and uses OAuth for authentication. • While webhooks are not available, the API does provide methods for syncing and retrieving updates. • Developers typically need to implement polling mechanisms to check for changes in Evernote data.

Although webhooks are not available, Evernote's API does offer other ways to interact with and monitor changes in Evernote data:

  1. Synchronization: The API provides methods to sync changes between the client and Evernote servers.
  2. Search: Developers can use the API's search functionality to find recently modified notes or notebooks.
  3. Get Note: The API allows retrieval of individual notes, which can be used to check for updates.

Best practices when working with the Evernote API:

• Implement efficient polling mechanisms to avoid unnecessary API calls. • Use the synchronization features to maintain an up-to-date local copy of relevant data. • Be mindful of API rate limits to ensure your application doesn't get throttled or blocked.

While webhooks would provide a more real-time and efficient way to track changes, developers currently need to work within the constraints of the available API methods to achieve similar functionality.

Rate Limits and other limitations

Here are the key points about the API rate limits for the Evernote API:

Rate Limit Overview

  • Rate limits are applied on a per API key, per user, per time period basis [1].
  • This means there's a limit on the number of calls a third-party app can make for each individual user during a given one-hour period [1].
  • If the rate limit is exceeded, subsequent API requests in that time window will result in an exception [1].

Rate Limit Enforcement

  • An EDAMSystemException with the RATE_LIMIT_REACHED error code is thrown when the rate limit is reached [1].
  • The rateLimitDuration attribute on the exception indicates how many seconds must pass before another request is allowed [1].

Best Practices for Handling Rate Limits

  • Cache frequently needed data locally instead of repeatedly requesting it from the API [2].
  • Use NoteStore.getSyncState to check for changes before making unnecessary API calls [2].
  • Use webhooks instead of polling for changes, especially for web services [2].
  • Use the Note.tagNames field when creating or updating notes instead of calling NoteStore.listTags [2].

Initial Sync Boost

  • For applications that sync large amounts of user data, an "Initial Sync Boost" temporarily increases the rate limit significantly for 24 hours after an authentication token is issued [1].
  • This feature is not enabled by default and must be requested when creating or activating an API key [1].

Important Dates

  • Rate limits were applied to all new API keys starting August 14, 2013 [1].
  • For existing API keys activated on production, rate limits took effect on November 18, 2013 [1].

It's worth noting that these details are from the official Evernote developer documentation. However, there have been some discussions in developer forums about potential changes to rate limit policies, though no official updates were provided in the search results.

Latest API Version

Unfortunately, I do not have definitive information about the most recent version of the Evernote API or any plans to shut it down. The search results do not provide clear details about the current API version or status. Here are the key points I can gather:

API Documentation Available

  • Evernote provides documentation for their API, including reference materials and SDKs for various platforms [2][3]. This suggests the API is still active and supported.

No Confirmation of Shutdown

  • There is no official confirmation from Evernote about shutting down their API in the search results provided.

Rumor of Potential Shutdown

  • One search result mentions a forum post discussing a rumor about the Evernote API shutting down on 2024-03-23 [5]. However, this appears to be unconfirmed speculation.

Best Practices

  • For the most up-to-date and accurate information about the Evernote API status and versions, it's best to:
  1. Check the official Evernote developer documentation website
  2. Contact Evernote developer support directly
  3. Look for any official announcements from Evernote regarding API changes or deprecations

Without more recent or official information, I cannot confirm the current API version or any plans for shutdown. Developers using or planning to use the Evernote API should consult official Evernote channels for the most current information.

How to get a Evernote developer account and API Keys?

Here are the key steps to get a developer account for Evernote to create an API integration:

  1. Request an API key by emailing [email protected] with the following information:

    • Your full name and email address
    • Name of your organization
    • Name of your application
    • Description of your application (specify if it's a cloud service or client integration)
    • Whether you need Basic or Full access permission
  2. Wait for manual review and approval of your request, which can take up to 5 business days.

  3. Once approved, you'll receive your API key which will allow you to make API calls to the Evernote service.

  4. You can then use this API key to authenticate and access the Evernote Cloud API.

Key points to consider:

  • Developer tokens are currently unavailable except for proven necessity. OAuth is recommended for authentication in most cases.
  • There are two main APIs you can integrate with: the Local API and the Cloud API.
  • The Cloud API provides complete access to the Evernote service and supports multiple programming languages.
  • Make sure to keep your API key secure and never share it publicly.
  • You can revoke your API key if needed by going to https://www.evernote.com/api/DeveloperToken.action.

Best practices:

  • Use OAuth for public applications, webhook notifications, and advanced permissions.
  • Refer to the Evernote API documentation and SDKs for implementation details.
  • Join the Evernote developer community to stay updated on changes and get support.

By following these steps, you should be able to obtain a developer account and API key to create your Evernote integration. Remember to review the full API documentation for details on implementation and best practices.

What can you do with the Evernote API?

Based on the search results provided, here are the key data models that can be interacted with using the Evernote API, along with what is possible for each:

Notes

  • Creating new notes
  • Sharing notes
  • Adding reminders to notes
  • Making notes read-only
  • Retrieving note content
  • Updating existing notes
  • Searching notes
  • Adding/updating application data on notes

Notebooks

  • Creating notebooks
  • Sharing notebooks
  • Retrieving notebook metadata
  • Updating notebook properties
  • Creating/managing app notebooks

Tags

  • Creating tags
  • Retrieving tag metadata
  • Updating tag properties

Resources (attachments)

  • Adding resources/attachments to notes
  • Retrieving resource data
  • Generating thumbnails for resources

User

  • Retrieving user account information
  • Checking if a user is part of a business account
  • Performing searches across notes/notebooks
  • Using advanced search grammar

Business Data (for Evernote Business accounts)

  • Accessing business notebooks and notes
  • Creating/updating content in business notebooks
  • Managing permissions on business data

Other

  • Setting up webhooks for notifications
  • Performing text recognition on images
  • Generating note links
  • Finding related notes

The Evernote API provides comprehensive access to interact with most aspects of a user's Evernote account data, allowing developers to build rich integrations and applications leveraging Evernote's functionality. The API supports both personal and business accounts, with some additional capabilities specific to Evernote Business.