Research Article Fetcher
approvedby Svend Gundestrup
Fetch research article metadata from PubMed, PMC, DOI, arXiv, and Web of Science links automatically. - This plugin has not been manually reviewed by Obsidian staff.
Research Article Fetcher Plugin for Obsidian
Fetch research article metadata from PubMed, PMC, DOI, arXiv, and Web of Science links automatically.
Features
- Multiple Input Formats: PubMed ID, PMC ID, DOI, arXiv ID, WoS ID, or their URLs/tags
- Smart Detection: Automatically identifies input type
- Rich Citations: Title, journal, year, and clickable links
- Duplicate Prevention: Skips already cited articles
- Failure Markers: Unmatched references are marked
š“(id) ![icon]ā red means not found (no auto-retry), yellow means temporary error (auto-retry) - Failure Index: Optional
research-article-unmatched.mdpage (customizable) listing every unmatched link, grouped by note - Batch Processing: Update all links in notes or vault
- Full Text Access: PMC links provide free full text
Quick Start
- Install plugin and enable in Obsidian
- Use any of these methods:
Command Palette
- "Fetch research article" - Create a new note with article metadata
- Enter ID/URL:
38570095orhttps://pubmed.ncbi.nlm.nih.gov/38570095/
Right-Click Menu
- Select text ā "Fetch research article for selected link"
- Replaces selected text with a formatted citation
Batch Processing
- "Fetch research articles in current note" - Process the active note
- "Force fetch research articles in current note" - Same, but also retries š“-marked references
- "Open unmatched research article references" - Open the generated failure-index note directly
- "Fetch research articles in all notes" - Process the entire vault (enable in settings first)
- "Force fetch research articles in all notes" - Same, but also retries š“-marked references (enable in settings first)
Failed lookups
When a reference cannot be matched, the link is kept and marked with the provider's icon:
š“(pmc=PMC6792392)  https://pmc.ncbi.nlm.nih.gov/articles/PMC6792392/
- š“ Not found (permanent) ā the ID does not exist. Skipped on later runs; retried only when you change the ID or run a Force update command.
- š” Temporary error (transient) ā timeout, network, or server error. Automatically retried on the next run.
Enable Failure index page in settings to maintain the configured failure-index note (default: research-article-unmatched.md) ā a page listing every unmatched reference with its icon and a [[link]] to the note containing it. The filename can be changed in settings. The file is rewritten on each run and removed when nothing is unmatched.
Supported Formats
Each citation is prefixed with a small provider logo badge (hosted in assets/ on GitHub) that links to the source, followed by a central article-type icon, the article type, linked title, year, and journal. Extra identifiers appear as trailing badges. Shared status and article-type icons are centrally defined so their representation can be changed in one place.
| Type | Example | Result |
|---|---|---|
| PubMed ID | 38570095 | [PubMed badge] Review: [Title](link) - Year, Journal |
| PMC ID | PMC6792392 | [PubMed badge] Article: [Title](link) - Year, Journal [PMC badge](full-text) |
| DOI | 10.1016/j.clinme.2024.100038 | [DOI badge] Article: [Title](link) - Year, Journal |
| arXiv ID | arXiv:2609.12218 | [arXiv badge] Preprint: [Title](link) - Year, arXiv preprint |
| WoS ID | WOS:001607817500001 | [WoS badge] Article: [Title](link) - Year, Journal |
Article types are normalized to a uniform vocabulary across providers (Article, Review, Preprint, Proceedings, Book, Book Chapter, Clinical Trial, Case Report, Editorial, Letter, News, Dataset, Report, Thesis, Guideline, Comment, Other) ā so PubMed's Journal Article, CrossRef's journal-article, and WoS's Article all render as Article.
Settings
- PubMed/PMC API Key: Optional NCBI key for higher rate limits (arXiv and CrossRef need no key)
- Web of Science API Key: Required for WoS lookups ā each user registers their own free key (see below)
- Failure Index Filename: Name the generated failure-index note; defaults to
research-article-unmatched.md - Enable Failure Index: Maintain the configured failure-index note listing all unmatched links grouped by note
- Enable Global Update: Safety toggle for vault-wide operations
Getting a Web of Science API key
The plugin does not ship a WoS key ā every user registers their own:
- Create an account at the Clarivate developer portal
- Register an application and subscribe it to the Web of Science Starter API (free tier)
- When asked for a client type, choose Public (Native) ā this plugin is a desktop application, not a server or browser app
- Copy the generated API key into the plugin settings field above
Development
npm install # Install dependencies
npm run build # Build plugin
npm test # Run tests
npm run lint # Check code quality
Testing
- Unit Tests: Comprehensive suite covering core functionality
- Coverage: URL extraction, formatting, duplicate detection, API parsing (80% threshold enforced in CI)
API Sources
- PubMed: NCBI E-utilities
- DOI: Crossref API
- PMC: PubMed Central
- arXiv: arXiv API (Atom feed, no key required)
- Web of Science: Clarivate Starter API (requires a free API key)
Network use: This plugin sends requests to NCBI E-utilities (PubMed/PMC), the Crossref API, the arXiv API, and the Clarivate Web of Science Starter API to fetch article metadata, only when you invoke its commands. No data is collected or shared beyond the article identifiers you provide.
Thank you to arXiv for use of its open access interoperability.
License
AGPL-3.0
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.