Deprecating the Sync and Datastore APIs

[UPDATE March 24, 2016]The official date of retirement for the Datastore API is April 29th, 2016.

Last week, we announced a preview of the new Dropbox API v2, aimed at simplifying the experience of developing with Dropbox. As part of this effort to simplify our platform, we’ve decided to deprecate the Sync and Datastore APIs over the next 12 months.

If you’re one of the majority of developers using the Core API, your app will be unaffected. For those using the Sync or Datastore API, read on for details about the timeline and migration paths.

As always, please don’t hesitate to contact our team if you have questions or concerns.

Why we’re deprecating the Sync API

A bit of history—in 2010, we announced our first API which supported basic file operations. The following year, we released an improved version, Core API v1, which remains our most popular API to date.

In early 2013, we launched the Sync API, a library for mobile developers aimed at making it easier to keep files in sync with Dropbox. The library is built on top of the Core API, and it’s now deprecated in favor of using the Core API directly.

We have two primary motivations for deprecating the Sync API now:

The existence of multiple mobile SDKs/APIs to work with files has caused a wide range of developer confusion. It makes us sad to hear from developers who got started using one SDK only to later decide they actually needed to use the other. We’d like developers to have a single comprehensive SDK to use.

While the goal of the Sync API was simplicity, the implementation is more complex, requiring our team to make trade-offs which made it hard to meet the needs of all developers. Like all development teams, we have limited resources. Without the resources to meet all possible syncing scenarios, we prefer to focus on providing the basic tools to allow developers to build the syncing solution they need.

We’re continuing to build and improve our Core API and are excited to be working on a new version: API v2, which aims to make development on the Dropbox platform simpler and easier. We look forward to sharing new SDKs built on API v2 in the coming months, and we’ll publish tips for building sync-style applications on top of the new SDKs.

Why we’re deprecating the Datastore API

We added the Datastore API in the summer of 2013 to support syncing structured (non-file) data with Dropbox. The Sync API and Datastore API are both part of the same mobile SDKs.

Since its launch almost two years ago, the Datastore API hasn’t seen the adoption we had hoped for. While some developers have adopted this API and loved it, the raw numbers show that it wasn’t used by very many apps.

The Datastore API is somewhat unique in that it, unlike the Core API, deals with non-file data, so we’re working directly with individual developers to help them migrate to an alternative. Existing apps built using the Datastore API will continue to work in the meantime.

In the hopes that it is useful to others, today we’ve released the JavaScript Datastore SDK as open source on GitHub, as a reference implementation for handling sync and conflict resolution. For the basics on how the Datastore API handles conflicts, read these two blog posts from 2013: Part 1 and Part 2.

Timeline

As of today, new Dropbox apps should use our Core API. Over the next six months, we’ll continue to implement urgent bug fixes as needed to the Sync and Datastore SDKs, but we are no longer actively developing them. In October 2015, we will discontinue support for the deprecated SDKs entirely.

Since the Sync SDK is built on the Core API, existing apps will continue to work, but we encourage developers to move to one of the Core SDKs as soon as possible.

For existing apps using the Datastore API, the data and HTTP endpoints will be available for the next 12 months, until April 2016.

Thank you

We are grateful for all of the developers who use our platform. Building a trustworthy, useful, and coherent platform is always our goal, and your feedback helps steer us in the right direction. We hope you agree that focusing on a single API and a single set of SDKs makes the Dropbox platform better. We welcome your feedback in the comments here or on the Dropbox API development forum.

Please note: Sometimes we blog about upcoming products or features before they’re released, but timing and exact functionality of these features may change from what’s shared here. The decision to purchase our services should be made based on features that are currently available.