Skip to content

0.1.5 — Metafetch is live in Obsidian's Community Plugins directory

Choose a tag to compare

@mpstaton mpstaton released this 18 May 07:49
· 8 commits to master since this release

One command. Any URL. Title, image, description, publisher — all pulled from the page's own OpenGraph metadata and written into your note's frontmatter.

Why care?

Knowledge vaults get richer when every reference you save carries its visual identity and a one-line summary. Doing that by hand for every link breaks the writing flow — paste the URL, leave Obsidian to grab the title, hunt down the og:image, paraphrase the description, copy the publisher name, finally come back to your draft having lost ten minutes and your train of thought.

Metafetch reads the page's Open Graph metadata once and writes the structured fields straight into your note's frontmatter. Your downstream tooling — Dataview, Bases, custom queries, theme-aware preview cards — then treats every URL you've saved as data, not as a wall of opaque link text.

We built it for The Lossless Group's internal toolkit-tracking vault — a section where each app or service we evaluate gets a note with its banner, screenshot, and one-line summary surfacing in the index view. Metafetch is the one-button command that fills those fields without making you leave the note you're writing.

Install from inside Obsidian

Settings → Community Plugins → Browse → search "Metafetch" → Install → Enable.

From a cold install to a working command takes about thirty seconds. After enabling, open Settings → Community Plugins → Metafetch and drop in your API key for at least one of the two supported providers.

Two API providers, both free to start

Provider What it gives you Free tier
OpenGraph.io Rich hybridGraph returns — Open Graph + Twitter Card + HTML-inferred metadata merged into one canonical shape. Best when you want maximum field coverage. Yes (account + free API key required)
Microlink Fast, simple shape. Best when speed matters more than HTML-inferrence fallback. Yes (account + free API key required)

Configure one, the other, or both. The commands the plugin offers light up based on which providers you've keyed; the ones you haven't set up stay quietly inactive instead of throwing errors.

What it actually does

Single-file workflow — Metafetch: Fetch Open Graph Data

You have a note open. Somewhere in the frontmatter (or in a configurable field) is a URL. Hit Cmd/Ctrl + P and run the command. A wide modal opens with per-fetch toggles:

  • Overwrite existing — re-fetch and replace what's there
  • Create if missing — fill in fields that don't yet exist
  • Write errors to YAML — record og_error blocks in frontmatter when fetches fail (useful for batch cleanup later)
  • Update fetch date — stamp og_fetch_date so you can query for stale entries

Click Fetch and the page's OG metadata lands in your frontmatter as structured fields: title, description, image, favicon, url, site_name, og_type. Done.

Batch workflow — Metafetch: Batch Fetch Open Graph Data

You have a directory of notes — say, your "Tooling" folder with 1,600 stub entries from a year of save-the-link-and-keep-moving. Run the batch command and Metafetch walks the directory:

  • Skips files that already have OG data (or doesn't — your choice)
  • Inserts a configurable delay between requests so your provider's rate limit stays happy
  • Writes per-file errors into each file's frontmatter; the batch keeps moving rather than halting on the first failure
  • Pauseable / resumable so you can stop, do other work, and pick back up

What the fields look like in your frontmatter

---
url: https://example.com/article
title: "The Future of Knowledge Tools"
description: "A short paragraph about the article…"
image: https://example.com/og.jpg
favicon: https://example.com/favicon.ico
site_name: Example Publication
og_type: article
og_fetch_date: 2026-05-18
---

Then a Dataview query against your Tooling folder can render every entry as a card with its banner, title, and one-line description — the table view of your knowledge graph.

The Lossless Group plugin family

Metafetch is the fourth Lossless plugin in Obsidian's Community Plugins directory, all shipped under The Lossless Group:

Plugin What it does
Cite Wide Convert numeric footnotes into stable hex identifiers, dedupe citations by URL, parse LLM-pasted research from Perplexity / Google AI / Claude into a canonical reference format
Image Gin Generate AI images via Recraft + Ideogram, search stock via Magnific, upload to ImageKit CDN — plus a confirmation gate for every dragged-or-pasted image
Perplexed Stream source-cited research from Perplexity, Anthropic Claude, Perplexica (self-hosted), or LM Studio (local). Per-directory content-generation templates that fill stub files in bulk
Metafetch (this release) Pull OpenGraph metadata into note frontmatter via OpenGraph.io or Microlink

Each is its own Obsidian plugin, independently installable. They compose well — Cite Wide's hex identifiers land in frontmatter next to Metafetch's OG fields next to Perplexed's research output, all of it queryable as structured data via Dataview / Bases.

Support the work

If Metafetch (or any of the Lossless plugins) saves you time, buy us a coffee. The plugins are free; the coffee keeps the next plugin coming.

Under the hood — what changed since 0.1.2

This is Metafetch's first release through the new community.obsidian.md submission portal (the old PR-based queue at obsidianmd/obsidian-releases was retired in mid-May 2026). Three engineering changes carrying the compliance load:

  • Active-voice description rewritten across all three surfaces (manifest.json, package.json, GitHub repo About) — no "Obsidian" redundancy, no "A plugin that..." self-reference, naming concrete capabilities
  • All network requests now route through Obsidian's requestUrl rather than native fetch — required by the marketplace's no-restricted-globals rule, fixes both openGraphService.ts call sites
  • builtin-modules npm dep swapped for Node 14+'s built-in node:module builtinModules export — one less third-party dep, recommended by the es-tooling/module-replacements project

Release bundle ships exactly main.js, manifest.json, styles.css — the three files Obsidian actually consumes on install. The repo-root LICENSE remains for anyone cloning the source.

Full marketplace-compliance checklist for the Lossless plugin family lives at content-farm/context-v/reminders/Obsidian-Marketplace-Compliance.md.