Reference · Tools

Raindrop.io

Manage bookmarks, collections, tags, and users on Raindrop.io with binary cover image upload support.

Action (binary) Productivity v1 Binary data

The Raindrop.io node manages bookmarks, collections, tags and users, and can upload a cover image to a collection. A typical build is saving every link shared in a team channel into a curated collection with tags applied automatically.

Node type
Action (binary)
Parameters
33
Outputs
Output, Error
Credentials
Raindrop.io OAuth2

Raindrop.io

Manage bookmarks, collections, tags, and users on Raindrop.io

Overview

The Raindrop.io tool manages bookmarks (raindrops), collections, tags, and users via the Raindrop.io REST API. It supports CRUD operations on bookmarks and collections, tag management, and user retrieval. The Collection Update operation supports uploading a cover image from binary data via a multipart form upload to a dedicated cover endpoint. Uses OAuth2 Bearer authentication.

Category: Productivity
Tool Name: raindrop
Version: 1

Appearance: Icon: lucide-Bookmark | Color: #5C8FFF

Node Type

Action (Binary) — handles file/binary data operations

Input / Output

DirectionPort(s)
InputInput
OutputOutput, Error

Credentials

This tool requires Raindrop.io OAuth2 credentials. See the Credentials Guide for setup instructions.

Resources

ResourceValue
Bookmarkbookmark
Collectioncollection
Tagtag
Useruser

Operations

Bookmark (bookmark)

OperationValueDescription
CreatecreateCreate a bookmark
DeletedeleteDelete a bookmark
GetgetGet a bookmark
Get ManygetAllGet many bookmarks
UpdateupdateUpdate a bookmark

Collection (collection)

OperationValueDescription
CreatecreateCreate a collection
DeletedeleteDelete a collection
GetgetGet a collection
Get ManygetAllGet many collections
UpdateupdateUpdate a collection

Tag (tag)

OperationValueDescription
DeletedeleteDelete a tag
Get ManygetAllGet many tags

User (user)

OperationValueDescription
GetgetGet a user

Parameters

String, number and collection fields are resolved per input item, so they accept {{ $json.field }} expressions.

Bookmark: Create

ParameterTypeRequiredDefaultDescription
Collection ID (collectionId)stringNoID of the collection to add the bookmark to. Use GET /collections to find IDs.
LinkstringYesURL to bookmark
Additional Fields (additionalFields)collectionNo{}Optional fields to set on the new bookmark.
— ImportantbooleanNofalseWhether this bookmark is marked as favorite
— OrdernumberNo0Sort order for the bookmark. 0 = first position.
— Parse MetadatabooleanNofalseWhether Raindrop should load cover, description and HTML for the URL
— TagsstringNoBookmark tags. Multiple tags can be set separated by comma.
— TitlestringNoTitle of the bookmark

Bookmark: Delete

ParameterTypeRequiredDefaultDescription
Bookmark ID (bookmarkId)stringYesThe ID of the bookmark to delete

Bookmark: Get

ParameterTypeRequiredDefaultDescription
Bookmark ID (bookmarkId)stringYesThe ID of the bookmark to retrieve

Bookmark: Get Many

ParameterTypeRequiredDefaultDescription
Collection ID (collectionId)stringYesThe ID of the collection to retrieve bookmarks from. Use GET /collections to find IDs.
Return All (returnAll)booleanNofalseWhether to return all results or only up to a given limit
Limit (limit)numberNo25Max number of results to return. Accepts 1–50. (shown when Return All is false)

Bookmark: Update

ParameterTypeRequiredDefaultDescription
Bookmark ID (bookmarkId)stringYesThe ID of the bookmark to update
Update Fields (updateFields)collectionNo{}Fields to change on the bookmark — set at least one, otherwise the item fails.
— Collection IDstringNoMove bookmark to this collection ID
— ImportantbooleanNofalseWhether this bookmark is marked as favorite
— OrdernumberNo0Sort order for the bookmark
— Parse MetadatabooleanNofalseWhether Raindrop should reload cover, description and HTML for the URL
— TagsstringNoBookmark tags. Multiple tags can be set separated by comma.
— TitlestringNoTitle of the bookmark

Collection: Create

ParameterTypeRequiredDefaultDescription
TitlestringYesTitle of the collection to create
Additional Fields (additionalFields)collectionNo{}Optional fields to set on the new collection.
— CoverstringNoURL of an image to use as cover for the collection
— PublicbooleanNofalseWhether the collection will be accessible without authentication
— Parent IDstringNoID of this collection’s parent collection, if it is a child collection
— Sort OrdernumberNo1Descending sort order of this collection among siblings
— ViewoptionsNolistView style of this collection
Options: list, simple, grid, Masonry

Collection: Delete

ParameterTypeRequiredDefaultDescription
Collection ID (collectionId)stringYesThe ID of the collection to delete

Collection: Get

ParameterTypeRequiredDefaultDescription
Collection ID (collectionId)stringYesThe ID of the collection to retrieve

Collection: Get Many

ParameterTypeRequiredDefaultDescription
TypeoptionsYesparentWhether to retrieve root-level (parent) or nested (children) collections
Options: parent (root-level collections), children (nested collections)
Return All (returnAll)booleanNofalseWhether to return all results or only up to a given limit
Limit (limit)numberNo25Max number of results to return. Accepts 1–50. (shown when Return All is false)

Collection: Update

ParameterTypeRequiredDefaultDescription
Collection ID (collectionId)stringYesThe ID of the collection to update
Update Fields (updateFields)collectionNo{}Fields to change on the collection — set at least one, otherwise the item fails.
— Cover (Binary Property)stringNodataName of the binary property containing the image data to upload as a cover
— PublicbooleanNofalseWhether the collection will be accessible without authentication
— Parent IDstringNoID of this collection’s parent collection
— Sort OrdernumberNo1Descending sort order of this collection among siblings
— TitlestringNoTitle of the collection
— ViewoptionsNolistView style of this collection
Options: list, simple, grid, Masonry

Tag: Delete

ParameterTypeRequiredDefaultDescription
TagsstringYesOne or more tags to delete. Enter comma-separated values to delete multiple tags.
Additional Fields (additionalFields)collectionNo{}Optional restriction on where tags are deleted from.
— Collection IDstringNoRestrict tag deletion to this collection. Use GET /collections to find IDs.

Tag: Get Many

ParameterTypeRequiredDefaultDescription
Return All (returnAll)booleanNofalseWhether to return all results or only up to a given limit
Limit (limit)numberNo25Max number of results to return. Accepts 1–50. (shown when Return All is false)
FilterscollectionNo{}Optional filters for the tag listing.
— Collection IDstringNoFilter tags by this collection ID

User: Get

ParameterTypeRequiredDefaultDescription
SelfbooleanYestrueWhether to return details on the logged-in user
User IDstringYesThe ID of the user to retrieve (shown when Self is false)

All Operations

ParameterTypeRequiredDefaultDescription
Raindrop AccountcredentialNoConnect your Raindrop account via OAuth2.
Max ConcurrencynumberNo10Maximum number of items to process concurrently.

Output Data

Most operations produce exactly one output item per input item. The Raindrop.io response is merged into the item JSON at the top level, so the incoming fields stay on the item unless a response field of the same name overwrites them, and any binary data on the input item is forwarded unchanged.

The Get Many operations fan out. Bookmark: Get Many, Collection: Get Many and Tag: Get Many return an array and emit one output item per record, each record merged over a copy of the input item’s JSON. When the array is empty, that input item produces no output items at all — guard downstream nodes that assume one item in, one item out. With Return All off, the node stops at Limit; with it on, bookmark listings are paged until the collection is exhausted.

What lands on the item, per operation:

OperationMerged into the item JSON
Bookmark: Create / Bookmark: Get / Bookmark: UpdateThe bookmark record returned by Raindrop.io
Bookmark: DeleteThe delete response body
Bookmark: Get ManyOne bookmark record per output item
Collection: Create / Collection: GetThe collection record
Collection: UpdateThe updated collection record. When Cover (Binary Property) names a binary property, the image is uploaded after the metadata update and the cover response is what lands on the item.
Collection: DeleteThe delete response body
Collection: Get ManyOne collection record per output item
Tag: DeleteThe delete response body
Tag: Get ManyOne tag record per output item
User: GetThe user record, for either the logged-in user or the requested User ID

Reference the merged response downstream by expression, e.g. {{ $json.title }} — run the node once and inspect the output to confirm the exact field names Raindrop.io returns for the resource you are working with.

Usage Examples

  • Create a bookmark in a collection
  • Get all bookmarks from a collection
  • Update a collection with a cover image
  • Delete tags from Raindrop.io
  • Get user profile information

Example Configuration

Create a bookmark:

{
  "type": "raindrop",
  "parameters": {
    "resource": "bookmark",
    "operation": "create",
    "collectionId": "12345",
    "link": "https://example.com",
    "additionalFields": {
      "title": "Example Website",
      "tags": "web,example,demo",
      "important": false,
      "pleaseParse": true,
      "order": 0
    }
  }
}

Get all bookmarks from a collection:

{
  "type": "raindrop",
  "parameters": {
    "resource": "bookmark",
    "operation": "getAll",
    "collectionId": "12345",
    "returnAll": false,
    "limit": 50
  }
}

Update a bookmark:

{
  "type": "raindrop",
  "parameters": {
    "resource": "bookmark",
    "operation": "update",
    "bookmarkId": "67890",
    "updateFields": {
      "title": "Updated Title",
      "tags": "updated,bookmark",
      "important": true,
      "collectionId": "54321"
    }
  }
}

Delete a bookmark:

{
  "type": "raindrop",
  "parameters": {
    "resource": "bookmark",
    "operation": "delete",
    "bookmarkId": "67890"
  }
}

Create a collection:

{
  "type": "raindrop",
  "parameters": {
    "resource": "collection",
    "operation": "create",
    "title": "My New Collection",
    "additionalFields": {
      "public": false,
      "parentId": "0",
      "sort": 1,
      "view": "list",
      "cover": "https://example.com/cover.jpg"
    }
  }
}

Get all parent collections:

{
  "type": "raindrop",
  "parameters": {
    "resource": "collection",
    "operation": "getAll",
    "type": "parent",
    "returnAll": true
  }
}

Update a collection:

{
  "type": "raindrop",
  "parameters": {
    "resource": "collection",
    "operation": "update",
    "collectionId": "12345",
    "updateFields": {
      "title": "Updated Collection Name",
      "public": true,
      "view": "grid",
      "sort": 2
    }
  }
}

Get all tags in a collection:

{
  "type": "raindrop",
  "parameters": {
    "resource": "tag",
    "operation": "getAll",
    "returnAll": false,
    "limit": 50,
    "filters": {
      "collectionId": "12345"
    }
  }
}

Delete tags:

{
  "type": "raindrop",
  "parameters": {
    "resource": "tag",
    "operation": "delete",
    "tags": "obsolete,old,unused",
    "additionalFields": {
      "collectionId": "12345"
    }
  }
}

Get the current user:

{
  "type": "raindrop",
  "parameters": {
    "resource": "user",
    "operation": "get",
    "self": true
  }
}

Get a specific user:

{
  "type": "raindrop",
  "parameters": {
    "resource": "user",
    "operation": "get",
    "self": false,
    "userId": "user123"
  }
}

Error Handling

ModeBehavior
stopHalts workflow on first error
continueSkips failed items, passes successful ones through
errorPortRoutes failed items to Error output port

Tips

Manage Raindrop.io bookmarks, collections, tags, and users with binary cover image upload support for collections.

Critical Notes

  • Collection IDs are required for most bookmark operations - use collection getAll first
  • The additionalFields and updateFields parameters use flat object structure (no arrays or _default keys)
  • Pagination is controlled by returnAll and limit parameters
  • Tag operations support comma-separated values for batch processing
  • User operations distinguish between self (current user) and specific user retrieval

Frequently asked questions

Why is my bookmark operation failing?

Collection IDs are required for most bookmark operations. Run collection getAll first to look up the ID rather than guessing it from the collection name.

How should additional fields be structured?

Additional Fields and Update Fields use a flat object structure — no arrays and no `_default` keys.

How do tag operations take values?

As comma-separated values, so several tags can be applied or removed in a single call.

How is pagination controlled?

Through Return All and Limit — turn Return All off and set a limit when the collection is large.

Build with the Raindrop.io node

Drop it into a workflow, wire it to an agent, or call it on a schedule. You'll need Raindrop.io OAuth2 credentials first.

Open BusyBot

Last updated . Spotted something wrong? Tell us.