// alternatives

The Microlink Alternative for OG Images

Microlink is a browser-as-API for screenshots, metadata, PDFs, logos, and Lighthouse insights. If your only need is OG images, Linkshot is purpose-built — cache hits stay free, the linkshot: TailwindCSS modifier styles capture-only, $9/mo with a 7-day trial that needs no card.

Try Linkshot free7-day trial, no credit card required

What is Microlink?

Microlink is a hosted browser-as-API: “Microlink turns any link into screenshots, PDFs, previews, or structured data. No more Puppeteer clusters.” They serve metadata extraction (title, description, favicon, logo), screenshots, PDFs, Lighthouse insights, and markdown conversion via a single API.

Free tier is 50 requests/day (~1,500/mo, no credit card). Pro is $46/mo for ~45,000 requests. They claim 99.9% uptime, 240+ CloudFlare edge nodes, and serve 359M+ requests/month. SDKs and integrations across multiple languages.

For link-unfurling SDKs, metadata-driven product cards, and general-purpose URL screenshotting, Microlink is the category leader. The fit is less obvious when your only need is og:image meta-tag previews on your own domain — that is the gap Linkshot fills.

Where Microlink falls short for OG images

Cached responses count against quota

Microlink explicitly counts cached responses toward your monthly quota. For OG workloads where social-media crawlers repeatedly fetch the same URL, this inflates your bill versus a service that caches at the CDN edge for free.

Screenshot is a side feature, not the focus

Microlink positions as "Browser as API" — screenshots are one of five output types alongside metadata, PDF, logo, and Lighthouse insights. Configuration, defaults, and pricing tier reflect that breadth, not OG-specific opinionation.

No `linkshot:` modifier system

Microlink screenshot endpoint takes viewport options but no custom CSS injection per request. There is no class modifier system that lets you author screenshot-only styles inside your real components.

No browser extension for design iteration

Microlink has a dashboard and SDK, but no extension that lets you preview OG framing live in your real browser as you design. Iteration loops live in the API client.

Pricing built for high-volume general-purpose use

Microlink Pro at $46/mo for ~45,000 requests is great if you call all five endpoints regularly. For a blog that needs OG images for a few hundred posts, you pay for capacity and breadth you will not use.

The fundamental difference

Microlink is a general-purpose browser-as-API. Five output types, dozens of options, breadth is the product. If you replace Puppeteer-as-infrastructure, Microlink is the right call.

Linkshot is OG-image-specific by design. Defaults, the linkshot: TailwindCSS modifier, the browser extension, edge caching where cache hits are free — everything is shaped for one job.

Microlink — URL with query params

// Build the screenshot URL
const ogUrl = new URL('https://api.microlink.io')
ogUrl.searchParams.set('url', pageUrl)
ogUrl.searchParams.set('screenshot', 'true')
ogUrl.searchParams.set('embed', 'screenshot.url')
ogUrl.searchParams.set('viewport.width', '1200')
ogUrl.searchParams.set('viewport.height', '630')
ogUrl.searchParams.set('adblock', 'true')
ogUrl.searchParams.set('hide.elements', '.site-nav, .cookie-bar')

// Then put ogUrl.toString() into your og:image meta tag

// ⚠ Cached responses still count toward your monthly quota

Linkshot — one meta tag, free cache hits

{/* In your <head> */}
<meta
  property="og:image"
  content={`https://uselinkshot.com/api/og/v1/${TEMPLATE_ID}?url=${pageUrl}`}
/>

{/* On the actual components — capture-only styles
    live next to the elements they target */}
<nav className="linkshot:hidden">…</nav>
<div className="cookie-banner linkshot:hidden">…</div>

<h1 className="text-3xl linkshot:text-6xl linkshot:text-center">
  {post.title}
</h1>

// ✓ 1200×630 + retina by default
// ✓ Cached at the edge — cache hits are free
// ✓ TailwindCSS classes on real components
// ✓ Domain allowlist for security

Cache hits stay free

When Slack, X, LinkedIn, Facebook, or Discord fetch your og:image for an unfurl, Linkshot serves the cached version from Cloudflare's edge for free. Microlink counts those repeated fetches toward your monthly quota.

Feature comparison

FeatureMicrolinkLinkshot
OG-image-first opinionated defaults
Default 1200×630 OG dimensionsmanual
Cached responses are FREE
TailwindCSS injection (linkshot: modifier)
Custom CSS injection per request
Hide nav / banners via class modifier
Per-page templates without code changes
Browser extension for design iteration
Real Chromium browser render
Edge generation + global caching240 nodes
Domain allowlist (security)
Metadata extraction (title, desc, favicon)
Link-unfurling SDK
Logo extraction
Lighthouse insights
PDF output
Markdown conversion
Free tier50/day (~1,500/mo)
7-day trial without credit cardfree tier instead
Entry paid tier$46/mo Pro$9/mo

Why developers switch from Microlink to Linkshot

Microlink is excellent at being a general browser-as-API. The friction shows up specifically when the only output you generate is an OG image — the breadth that makes Microlink compelling for link-unfurling becomes overhead for OG-only workloads.

01OG-image-first vs browser-as-API

Microlink positions as 'Browser as API' — a general-purpose Puppeteer replacement that returns screenshots, PDFs, metadata, logos, and Lighthouse insights from any URL. The breadth is the product. Five different output types, dozens of query parameters, multi-language SDKs.

Linkshot is OG-image-specific. The product surface (default 1200×630, the linkshot: TailwindCSS modifier, the browser extension, OG-aware caching) only makes sense if your job-to-be-done is og:image. Narrowness is the product.

If you use Microlink for several output types, that breadth is exactly right. If you only ever call the screenshot endpoint, you are paying for breadth you do not use.

02Caching that actually helps OG workloads

Microlink explicitly states cached responses count toward quota. For OG generation this is a real cost: every share of your blog post triggers an unfurl request from Facebook, X, LinkedIn, Slack, Discord, iMessage. Each of those hits Microlink, each of those counts against your monthly quota even though the underlying screenshot has not changed.

Linkshot generates each unique URL once and caches the result on Cloudflare's edge. Cache hits are free; quota is consumed only by genuinely new renders. For OG workloads — where the same URL is shared dozens or hundreds of times after a single generation — the difference compounds.

Microlink's model fits non-OG use cases (data extraction, link unfurling) where every call is meaningful. It works against you when the same URL is fetched repeatedly by crawlers.

03Design control via TailwindCSS modifier

Microlink's screenshot endpoint accepts viewport dimensions, scroll behavior, ad blocking, cookie banner suppression, and a few other options. There is no custom CSS injection at the per-request level, no class modifier system, no way to author screenshot-specific styles inside your real components.

Linkshot replaces that with the linkshot: TailwindCSS modifier. Add `class="linkshot:hidden"` to the navbar in your real component. Add `class="linkshot:text-6xl"` to the hero heading. Capture-only styles live next to the elements they target, in the TailwindCSS syntax you already write.

For OG images of your own pages — where you control the markup and want the screenshot to look polished, not raw — this design loop is much faster than configuring screenshot params from outside.

04Indie pricing for OG-only workloads

Microlink's free tier is 50 requests/day (~1,500/mo) and the next tier is $46/mo Pro for ~45,000 requests. The pricing assumes high-volume general-purpose use; the floor is set so the free tier does not subsidize commercial workloads.

Linkshot enters at $9/mo with a 7-day free trial and no credit card. For an OG-only workload — a blog with a few hundred posts that update occasionally — Linkshot is roughly 5× cheaper than Microlink Pro. Above ~10,000 unique renders/mo, Microlink's per-request cost is lower.

The math depends on your volume and how much of Microlink's broader feature set you actually use.

05Browser extension for design iteration

Microlink ships a developer dashboard, an SDK, and a per-URL preview tool. None of them let you iterate on what your OG image will look like inside your real codebase.

Linkshot ships a Chrome extension called Fit Check. It overlays a 1200×630 frame on your live page in your real browser, with TailwindCSS injection applied. You add a `linkshot:` class, see it update instantly, commit when it looks right.

For teams with a designer in the loop, the extension turns OG iteration into a frontend dev-tools task instead of an API-client task.

Which one should you use?

Stick with Microlink if…

  • You unfurl arbitrary URLs (link previews, product cards)
  • You need metadata extraction (title, description, favicon, logo)
  • You use multiple output types (PDF, screenshots, Lighthouse)
  • You want a Puppeteer cluster replacement, not a product
  • Your volume sits comfortably above 10,000 requests/mo

Use Linkshot if…

  • Your only screenshot need is og:image meta-tag previews
  • You want cache hits to stay free at the edge
  • You want TailwindCSS modifier classes on your real components
  • You want a $9/mo entry tier sized for indie projects
  • You want a browser extension to iterate on OG framing

Frequently asked questions

Is Linkshot a drop-in replacement for Microlink?

Only for OG images. Microlink is a 'browser as API' that does link unfurling, metadata extraction, screenshots, PDF, logos, and Lighthouse insights. If you use it for any of those beyond OG, stay on Microlink. If your only screenshot need is og:image meta-tag previews, Linkshot is purpose-built for that.

Microlink does link previews — does Linkshot do that too?

Linkshot has a /preview endpoint that takes any URL and returns a 1200×630 screenshot. It is the closest analogue to Microlink screenshot endpoint. The difference: Linkshot is opinionated for OG dimensions and supports the linkshot: TailwindCSS modifier for design control on your own domains; Microlink is general-purpose for arbitrary URLs and treats screenshots as one of several outputs.

How does pricing compare?

Microlink is free up to 50 requests/day (~1,500/mo), then jumps to $46/mo Pro for ~45,000 requests. Linkshot is $9/mo entry. For low-volume OG-only usage, Linkshot is roughly 5× cheaper. For high-volume general-purpose usage, Microlink scales further.

Microlink counts cached requests against my quota — does Linkshot?

No. Linkshot screenshots are rendered once per URL and cached on Cloudflare's edge; cached hits do not consume your quota. Microlink explicitly counts cached responses against quota, which makes them more expensive for OG workloads where the same URL is fetched repeatedly by social-media crawlers.

Can I migrate from Microlink to Linkshot in a day?

For OG-only workloads, yes. Replace your Microlink screenshot URL in your og:image meta tag with a Linkshot URL. If you used Microlink for metadata extraction or link unfurling, those use cases stay on Microlink — Linkshot does not target them.

Does Linkshot extract metadata, favicons, or run Lighthouse?

No. Microlink does all of those — it is a full browser-as-API service. Linkshot only generates OG images. If your product card UI needs title + description + favicon + screenshot in one call, Microlink is the right pick.

Why does Microlink position as a Puppeteer replacement?

Microlink runs a hosted browser cluster you call instead of running Puppeteer yourself. Their hero copy is literally "No more Puppeteer clusters." Linkshot also runs hosted browsers but markets itself by the job (OG images), not by the underlying tech.

Will my OG image stay in sync when I redesign my site?

Yes — Linkshot screenshots your live page on the next cache cycle after the cached version expires. Microlink also screenshots live pages, so the same is true there. The drift problem only exists for template-based OG generators like Placid or @vercel/og.

Ready to switch?

Drop one <meta> tag, ship your first OG image in minutes — cache hits stay free.

7-day free trial · no credit card required