Reference · Tools
Raindrop.io
Manage bookmarks, collections, tags, and users on Raindrop.io with binary cover image upload support.
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
| Direction | Port(s) |
|---|---|
| Input | Input |
| Output | Output, Error |
Credentials
This tool requires Raindrop.io OAuth2 credentials. See the Credentials Guide for setup instructions.
Resources
| Resource | Value |
|---|---|
| Bookmark | bookmark |
| Collection | collection |
| Tag | tag |
| User | user |
Operations
Bookmark (bookmark)
| Operation | Value | Description |
|---|---|---|
| Create | create | Create a bookmark |
| Delete | delete | Delete a bookmark |
| Get | get | Get a bookmark |
| Get Many | getAll | Get many bookmarks |
| Update | update | Update a bookmark |
Collection (collection)
| Operation | Value | Description |
|---|---|---|
| Create | create | Create a collection |
| Delete | delete | Delete a collection |
| Get | get | Get a collection |
| Get Many | getAll | Get many collections |
| Update | update | Update a collection |
Tag (tag)
| Operation | Value | Description |
|---|---|---|
| Delete | delete | Delete a tag |
| Get Many | getAll | Get many tags |
User (user)
| Operation | Value | Description |
|---|---|---|
| Get | get | Get a user |
Parameters
String, number and collection fields are resolved per input item, so they accept {{ $json.field }} expressions.
Bookmark: Create
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
Collection ID (collectionId) | string | No | — | ID of the collection to add the bookmark to. Use GET /collections to find IDs. |
| Link | string | Yes | — | URL to bookmark |
Additional Fields (additionalFields) | collection | No | {} | Optional fields to set on the new bookmark. |
| — Important | boolean | No | false | Whether this bookmark is marked as favorite |
| — Order | number | No | 0 | Sort order for the bookmark. 0 = first position. |
| — Parse Metadata | boolean | No | false | Whether Raindrop should load cover, description and HTML for the URL |
| — Tags | string | No | — | Bookmark tags. Multiple tags can be set separated by comma. |
| — Title | string | No | — | Title of the bookmark |
Bookmark: Delete
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
Bookmark ID (bookmarkId) | string | Yes | — | The ID of the bookmark to delete |
Bookmark: Get
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
Bookmark ID (bookmarkId) | string | Yes | — | The ID of the bookmark to retrieve |
Bookmark: Get Many
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
Collection ID (collectionId) | string | Yes | — | The ID of the collection to retrieve bookmarks from. Use GET /collections to find IDs. |
Return All (returnAll) | boolean | No | false | Whether to return all results or only up to a given limit |
Limit (limit) | number | No | 25 | Max number of results to return. Accepts 1–50. (shown when Return All is false) |
Bookmark: Update
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
Bookmark ID (bookmarkId) | string | Yes | — | The ID of the bookmark to update |
Update Fields (updateFields) | collection | No | {} | Fields to change on the bookmark — set at least one, otherwise the item fails. |
| — Collection ID | string | No | — | Move bookmark to this collection ID |
| — Important | boolean | No | false | Whether this bookmark is marked as favorite |
| — Order | number | No | 0 | Sort order for the bookmark |
| — Parse Metadata | boolean | No | false | Whether Raindrop should reload cover, description and HTML for the URL |
| — Tags | string | No | — | Bookmark tags. Multiple tags can be set separated by comma. |
| — Title | string | No | — | Title of the bookmark |
Collection: Create
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| Title | string | Yes | — | Title of the collection to create |
Additional Fields (additionalFields) | collection | No | {} | Optional fields to set on the new collection. |
| — Cover | string | No | — | URL of an image to use as cover for the collection |
| — Public | boolean | No | false | Whether the collection will be accessible without authentication |
| — Parent ID | string | No | — | ID of this collection’s parent collection, if it is a child collection |
| — Sort Order | number | No | 1 | Descending sort order of this collection among siblings |
| — View | options | No | list | View style of this collection |
Options: list, simple, grid, Masonry |
Collection: Delete
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
Collection ID (collectionId) | string | Yes | — | The ID of the collection to delete |
Collection: Get
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
Collection ID (collectionId) | string | Yes | — | The ID of the collection to retrieve |
Collection: Get Many
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| Type | options | Yes | parent | Whether to retrieve root-level (parent) or nested (children) collections |
Options: parent (root-level collections), children (nested collections) | ||||
Return All (returnAll) | boolean | No | false | Whether to return all results or only up to a given limit |
Limit (limit) | number | No | 25 | Max number of results to return. Accepts 1–50. (shown when Return All is false) |
Collection: Update
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
Collection ID (collectionId) | string | Yes | — | The ID of the collection to update |
Update Fields (updateFields) | collection | No | {} | Fields to change on the collection — set at least one, otherwise the item fails. |
| — Cover (Binary Property) | string | No | data | Name of the binary property containing the image data to upload as a cover |
| — Public | boolean | No | false | Whether the collection will be accessible without authentication |
| — Parent ID | string | No | — | ID of this collection’s parent collection |
| — Sort Order | number | No | 1 | Descending sort order of this collection among siblings |
| — Title | string | No | — | Title of the collection |
| — View | options | No | list | View style of this collection |
Options: list, simple, grid, Masonry |
Tag: Delete
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| Tags | string | Yes | — | One or more tags to delete. Enter comma-separated values to delete multiple tags. |
Additional Fields (additionalFields) | collection | No | {} | Optional restriction on where tags are deleted from. |
| — Collection ID | string | No | — | Restrict tag deletion to this collection. Use GET /collections to find IDs. |
Tag: Get Many
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
Return All (returnAll) | boolean | No | false | Whether to return all results or only up to a given limit |
Limit (limit) | number | No | 25 | Max number of results to return. Accepts 1–50. (shown when Return All is false) |
| Filters | collection | No | {} | Optional filters for the tag listing. |
| — Collection ID | string | No | — | Filter tags by this collection ID |
User: Get
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| Self | boolean | Yes | true | Whether to return details on the logged-in user |
| User ID | string | Yes | — | The ID of the user to retrieve (shown when Self is false) |
All Operations
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| Raindrop Account | credential | No | — | Connect your Raindrop account via OAuth2. |
| Max Concurrency | number | No | 10 | Maximum 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:
| Operation | Merged into the item JSON |
|---|---|
Bookmark: Create / Bookmark: Get / Bookmark: Update | The bookmark record returned by Raindrop.io |
Bookmark: Delete | The delete response body |
Bookmark: Get Many | One bookmark record per output item |
Collection: Create / Collection: Get | The collection record |
Collection: Update | The 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: Delete | The delete response body |
Collection: Get Many | One collection record per output item |
Tag: Delete | The delete response body |
Tag: Get Many | One tag record per output item |
User: Get | The 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
| Mode | Behavior |
|---|---|
| stop | Halts workflow on first error |
| continue | Skips failed items, passes successful ones through |
| errorPort | Routes 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
additionalFieldsandupdateFieldsparameters use flat object structure (no arrays or _default keys) - Pagination is controlled by
returnAllandlimitparameters - 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 BusyBotLast updated . Spotted something wrong? Tell us.