7 file storage APIs you should integrate with

The majority of your clients likely use a file storage solution to share, collaborate on, and store key documents and information. 

The value these solutions—and your product—provide only increases when they’re integrated with your product. 

Once integrated, clients can access all the documents they need without leaving your application; they can access the most up-to-date documents and files in your product; and they can ensure that users only access the documents that meet their scope of permissions in your product. 

You can even use the information in clients’ files to train AI models that support your product (which is exactly what Assembly did)

Given all these benefits, the question isn’t whether to implement file storage integrations—it’s how.

We’ll provide some guidance by walking you through 7 popular file storage platforms’ APIs. We’ll then introduce you to a solution that can help you build file storage integrations via a single universal API.  

Microsoft OneDrive

Microsoft OneDrive is an extremely popular file storage platform. 

It’s used in over 500 million devices and by more than 85% of Fortune 500 companies.

OneDrive’s API is accessed through Microsoft Graph which is Microsoft’s single API.

Microsoft structures their API with “Drive” and “DriveItem”. “Drive” represents a container of files (like a document library or a user's OneDrive), while “DriveItem” represents an item within a drive (e.g., a document, photo, video, or folder). “DriveItem” can be accessed using their id by using /items/{item-id} syntax. Microsoft Graph also allows your app to create sharing links, add permissions and send invitations to items in a drive.

When working with large data sets, Microsoft Graph API uses paging. When querying for data that spans multiple pages, the API returns an "@odata.nextLink" URL in the response to access the next page of results. To retrieve all data, follow these URLs until no "@odata.nextLink" is returned.

Microsoft Graph supports a wide range of SDK languages: C#, CLI, PowerShell, TypeScript, JavaScript, Java, Go, PH, and Python. Microsoft also provides a file picker SDK to seamlessly access, download, save, and share OneDrive-stored files within your app, providing users with a familiar OneDrive experience.

You can learn more about OneDrive’s documentation here.

Microsoft SharePoint

SharePoint is also part of Microsoft’s ecosystem and has hundreds of millions of users

SharePoint structures their API with three major “resource types” which are “Site” (top-level object), “List”, and “ListItem”. With these resource types, SharePoint’s API can support use cases such as accessing SharePoint sites, lists, and drives (document libraries), and giving various levels of access to different lists or listItems.

Since SharePoint and OneDrive use the same API, rate limiting, pagination, and the SDKs supported are all the same.

You can see SharePoint’s API documentation here.

Google Drive

Google Drive is Google’s file storage platform. It’s popular both amongst individual users and organizations. Case in point: The platform surpassed a billion users several years ago.  

The Google Drive API offers versatile functionalities for seamless file management. It lets you download and upload files, perform comprehensive searches based on metadata, and can share files, folders, and drives for collaborative efforts. Additionally, the integration with the Google Picker API allows for thorough searching across all Drive files; you can retrieve specific details like file names, URLs, modification dates, and user information.

Google provides the following per-minute quotas in their documentation. As long as you stay below the max, there's no limit to the number of requests you can make per day.

Google Drive's rate limit quotas

Google Drive's API manages pagination using page tokens. When retrieving large result sets, the API response includes a nextPageToken if more results exist beyond the current set. To access subsequent pages, developers use this token in subsequent requests, enabling sequential retrieval of results until there's no more nextPageToken, signifying the end of available results.

Google currently supports the following SDK languages: Javascript, Go, Java, Node.js, and Python.

You can find Google Drive’s API documentation here.

Related: A guide to document and file storage integrations

Dropbox

Dropbox is a popular file storage platform for both business and individuals; the platform has over 17 million customers and 700 million users.

Common endpoints for Dropbox include managing (uploading, downloading, creating, updating, deleting, and searching) files and folders, managing users, and managing shared links and permissions for shared items.

Dropbox doesn’t publish exact rate limits. Your Dropbox Business plan will determine the number of data transport calls allowed per month to specific API endpoints. If this limit is exceeded, API calls will fail with a 403 status code and an error message indicating the limit has been reached.

In terms of pagination, you’ll need to implement cursor-based pagination. Dropbox uses a separate endpoint—https://api.dropboxapi.com/2/files/list_folder/continue—with a provided cursor to output the rest of the response.

Dropbox currently offers and supports the following SDK languages: Swift, Objective-C, Python, .NET, Java, JavaScript, and HTTP.

You can access Dropbox’s API documentation here

Box

Box has gained widespread adoption, particularly among larger companies; they have nearly 100,000 clients and 68% of Fortune 500 companies use their file storage platform.

Some common endpoints for Box are creating, updating, deleting or retrieving folders and files, managing users and groups and permissions, and tracking and retrieving events related to your Box account.

Box has grouped their rate limiting into three categories:

  • User-based limits: each user has a maximum number of API calls they can make per minute (usually around 1000) 
  • Quality of service limits: these limits protect the system's performance. If too many requests are made at once, temporary restrictions might be put in place to prevent problems like system slowdowns. 
  • Licensing-based limits: Box's different plans have a set number of allowed API calls per month.

The Box API supports two pagination methods: offset-based and marker-based. Offset-based is used for fixed-length item lists, while marker-based suits changing or unknown-length item sets.

Finally, Box currently offers and supports the following SDK languages: Java, .NET, Python, Node, iOS, and Android.

You can learn more about Box’s API by reading through their documentation here.

Related: How to get your API key in Box

Zoho WorkDrive

As an integral part of the Zoho suite, WorkDrive offers a dynamic cloud storage and file-sharing platform tailored for businesses of all sizes. There are more than 7.5 million active users worldwide using Zoho WorkDrive.

Similar to other file storage platforms, WorkDrive’s most common endpoints are viewing, uploading, creating, and deleting files and folders, managing users, and sharing and setting document permissions. 

WorkDrive APIs use offset-based pagination that follows the JSON API specification. By default, APIs return a maximum of 50 items per response. To customize this number, you can use query parameters like ?page[offset]=0&page[limit]=50, setting offset as the starting value and limit as the desired number of items.

You can see Zoho WorkDrive’s API documentation here.

Egnyte

Egnyte is a relatively smaller file storage platform—they have 26,000 clients—that serves businesses of varying industries and sizes.  

Some common endpoints in Egynte’s API include uploading, downloading, updating, and deleting files and folders, getting user information and managing permissions, and creating shared links.

The table below shows Egnyte’s API rate limits by default. It’s worth noting that these rate limits and daily usage limits are enforced per access token rather than against the entire key.

Egnyte's default rate limits

Egnyte offers standard ways to paginate your results. You can ask Egnyte for a specific starting point or limit the number of users per page. For example, start from the 10th user or only show 50 users per page. You can also ask for specific users based on things like their email, identification, or usernames.

Egnyte currently offers SDKs in the following languages: Javascript, Python (available as-is but not supported), Ruby (available as-is but not supported), .NET, Android, and iOS. Note that the depth and support offered by these SDKs may vary.

You can see Egnyte’s API documentation here.

Final thoughts

Your clients likely use an array of file storage solutions, including those covered above.

You can avoid having to build, manage, and maintain all the file storage integrations your clients need by simply building to Merge's File Storage Unified API

You can learn more about our File Storage Unified API and our platform's maintenance support and management tooling by scheduling a demo with one of our integration experts.