Raindrop to Markdown

unlisted

by Thomas Hester

Import Raindrop.io bookmarks as clean markdown — fetches article bodies, YouTube transcripts, GitHub READMEs, and PDF text so your bookmarks become a readable knowledge base.

Updated 25d agoMIT
View on GitHub

Raindrop to Markdown

Import your Raindrop.io bookmarks into Obsidian as clean, readable markdown — not just metadata, but the actual content of each link.

Built so bookmarked articles, YouTube videos, GitHub repos, and PDFs become a local knowledge base that AI tools can read and reason over.

Why this plugin

Existing Raindrop-Obsidian plugins import metadata and your highlights. This one fetches what's behind each link and converts it to markdown, so a vault full of bookmarks becomes a vault full of readable content.

Source typeWhat gets imported
Articles / blog postsCleaned body via Readability → Markdown
YouTubeMetadata + description (transcript best-effort)
GitHub reposREADME + stars, language, topics
PDFsExtracted text
Tools / landing pagesPage text (fallback scraper)

Install

  1. Download main.js, manifest.json, styles.css from the latest release
  2. Copy them into YourVault/.obsidian/plugins/raindrop-to-markdown/
  3. Enable the plugin in Obsidian → Settings → Community plugins

Build from source

git clone https://github.com/hestert67/raindrop-to-markdown
cd raindrop-to-markdown
npm install
npm run build

Setup

  1. Generate a Raindrop API token at app.raindrop.io/settings/integrations → Create new app → copy the Test token
  2. In Obsidian: Settings → Raindrop to Markdown → paste token
  3. Run Raindrop to Markdown: Test Raindrop connection to verify

Commands

All commands are available via Cmd+P (Mac) / Ctrl+P (Windows/Linux).

CommandWhat it does
Test Raindrop connectionVerifies your API token
List Raindrop collectionsPrints collection IDs to the console
Test fetch on a single URLRuns the full fetch pipeline on one URL
Dry run — import 10 bookmarksImports 10 most recent from your selected collection
Full sync — import all bookmarksImports your entire collection

Settings

SettingDefaultDescription
Raindrop API tokenRequired. Get from Raindrop integrations page
GitHub tokenOptional. Raises GitHub API rate limit
Target folderClippingsWhere imported files are saved
Filename template{{id}}_{{title}}Variables: {{id}}, {{title}}
Collection ID0 (all)Set to a specific collection ID to sync one collection
Skip existing filesOnDon't overwrite files that already exist
Fetch articlesOnToggle per content type
Fetch YouTubeOn
Fetch GitHubOn
Fetch PDFsOn
Fetch fallbackOn
Rate limit (ms)600Delay between requests
Fetch timeout (ms)20000Per-request timeout

Known limitations

  • YouTube transcripts — YouTube's anti-scraping measures block automated transcript fetching for many videos. Metadata and description are always imported; transcripts are best-effort only.
  • No incremental sync — Full sync walks every bookmark and skips existing files. Fast enough in practice; true cursor-based sync is a future improvement.
  • No rate-limit backoff — Fixed 600ms delay. If you hit Raindrop's rate limits on very large collections, increase the rate limit setting.

License

MIT

For plugin developers

Search results and similarity scores are powered by semantic analysis of your plugin's README. If your plugin isn't appearing for searches you'd expect, try updating your README to clearly describe your plugin's purpose, features, and use cases.