Cogwork APIs

Free Link Preview & Open Graph Checker

Paste any URL and see exactly how it unfurls — title, description, image, and favicon. No signup. Built on the LinkPeek API.

Want this in your own app?

One call returns clean preview metadata as JSON. Free tier: 50/month — then $5/mo for 1,000, up to 60,000 on higher plans.

GET /unfurl?url=https://example.com
Get an API key →

LinkPeek is a production-grade link unfurl API: one endpoint that fetches a URL, parses its HTML, and returns normalized link-preview metadata — the same data Slack, iMessage, and social platforms use to render a rich card. It handles the messy parts (Open Graph vs Twitter Cards vs bare meta tags, relative favicon URLs, redirects) so you don't have to. This free tool is the same engine, so the output you see here is identical to what your code receives.

How it works

Give LinkPeek a public URL and it fetches the page (with an SSRF guard and size/timeout caps), extracts Open Graph, Twitter Card, and standard meta tags, resolves the favicon and preview image to absolute URLs, and returns one tidy JSON object. For JavaScript-heavy single-page apps, add render=true to render the page in headless Chromium first. This tool wraps a single GET /unfurl request.

What you get back

Use cases

FAQ

Is the link preview tool free?
Yes — free to use, no signup. The LinkPeek API behind it has a free tier of 50 unfurls/month; paid plans start at $5/mo for 1,000 and scale to 60,000.
Does it run JavaScript?
By default it parses the served HTML (fast, cheap). For SPAs that inject meta tags client-side, add render=true to render in headless Chromium first.
Can I unfurl several URLs at once?
Yes — POST /unfurl with { "urls": [...] } (up to 10) returns them in one response.
What about private or login-gated pages?
LinkPeek only fetches public pages, and internal/private hosts are blocked for security. Pages behind a login can't be unfurled.

API reference

Call it through RapidAPI. Base host: linkpeek-link-preview-metadata.p.rapidapi.com. Send your key as X-RapidAPI-Key and the host as X-RapidAPI-Host.

GET POST/unfurl

Fetch and parse link-preview metadata for a URL. POST with { "urls": [...] } to unfurl up to 10 at once.

ParamTypeDescription
urlrequiredstringThe page to unfurl (GET). Must be a public http/https URL.
urlsoptstring[]POST only: batch of up to 10 URLs.
renderoptbooleantrue renders the page in headless Chromium first (for SPAs).
refreshoptbooleanBypass the 6-hour result cache and re-fetch.

Returns { url, title, description, siteName, canonical, image, favicon, themeColor, openGraph, twitter, oembed }.

curl -G "https://linkpeek-link-preview-metadata.p.rapidapi.com/unfurl" \
  --data-urlencode "url=https://example.com/article" \
  -H "X-RapidAPI-Key: YOUR_KEY" \
  -H "X-RapidAPI-Host: linkpeek-link-preview-metadata.p.rapidapi.com"