TL;DR
Microlink extracts rich metadata from any URL — including Open Graph tags, Twitter cards, page titles, descriptions, featured images, favicons, and even full-page screenshots. Pass any URL and receive structured JSON with all the data you need to build link previews, social cards, or bookmarking tools. No API key needed for basic usage. Returns data in milliseconds via headless browser rendering.
Quick start: https://api.microlink.io/?url=https://google.com
No API key needed — just add your URL!
How to Use This API
1. Basic URL Metadata
Get title, description, image, and URL info from any webpage:
https://api.microlink.io/?url=https://github.com
Returns: title, description, image (OG image), url, lang, author, publisher, and more.
2. Get a Full-Page Screenshot
https://api.microlink.io/?url=https://news.ycombinator.com&screenshot=true
The screenshot parameter captures a screenshot of the page rendered at 1280x720 (customize with screenshot.width and screenshot.height).
3. JavaScript — Rich Link Preview Component
async function getLinkPreview(url) {
const r = await fetch(`https://api.microlink.io/?url=${encodeURIComponent(url)}`);
const data = await r.json();
if (!data.data) return null;
return {
title: data.data.title,
description: data.data.description,
image: data.data.image?.url,
domain: data.data.domain
};
}
getLinkPreview('https://en.wikipedia.org/wiki/Mars').then(preview => {
console.log(preview.title);
// "Mars — Wikipedia"
console.log(preview.description);
});
4. Python — Batch Link Processing
import requests
urls = [
'https://news.ycombinator.com',
'https://www.reddit.com',
'https://stackoverflow.com'
]
for url in urls:
r = requests.get('https://api.microlink.io/', params={'url': url})
if r.status_code == 200:
d = r.json().get('data', {})
print(f"{d.get('title', '?')} — {d.get('domain', '?')}")
print(f" Desc: {d.get('description', 'N/A')[:60]}...")
https://api.microlink.io/?url=https://google.com
Frequently Asked Questions
- What metadata does Microlink extract?
- Title, description, author, publisher, date, language, domain, logo, favicon, Open Graph image, Twitter card image, video, audio, and color palette.
- Can it capture screenshots of JavaScript-heavy pages?
- Yes — Microlink uses a headless Chrome browser to render pages, so SPAs and JS-rendered content are captured properly.
- Are there rate limits on the free tier?
- The free API has a reasonable rate limit (approx 250 requests/day). For higher limits, their paid plan offers more capacity.
- Can I customize screenshot dimensions?
- Yes:
&screenshot=true&screenshot.width=1920&screenshot.height=1080. The screenshot is returned as a base64-encoded data URI in the JSON. - Does it work with PDFs and other non-HTML URLs?
- For PDF URLs, Microlink will still extract available metadata and can capture a preview image of the first page.
- What is the PALA (Privacy-Aware Link Analysis) feature?
- Microlink offers a privacy mode that strips tracking parameters and personal info from URLs before processing them.
API Details
- API URL
https://api.microlink.io/- Documentation
- microlink.io/docs/api
- Category
- Development
- Authentication
- Not Required (free tier)
- Geographic Coverage
- Global — any URL on the web
What You Can Build
- Link preview component for chat apps (like Slack unfurls)
- Bookmark manager with auto-generated thumbnails
- Social media scheduling tool that previews how links will appear
- Content curation dashboard with automatic metadata extraction
- News aggregator that pulls article images and descriptions