Microlink

Development API · URL metadata · Screenshots · Open Graph

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]}...")
Metadata for google.com: 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