Website metadata API for developers
Turn any URL into normalized JSON. A single REST endpoint that executes JavaScript, merges Open Graph, JSON-LD, and HTML tags, and returns structured data instantly.
Send the URL Get the metadata back
2.0
secs
P95 cold response
—
loading…
99.9
%
SLA Guaranteed
Build social previews
that actually render
Microlink returns a unified JSON response — plus the brand color palette, logo, and favicon. Everything you need to render a pixel-perfect link preview or URL preview on the first try.
Every source merged, zero parsing
Open Graph, Twitter Cards, JSON-LD, oEmbed, microdata, RDFa, and HTML tags combined into one unified schema. Stop writing per-site fallback logic and ship consistent previews at scale.
Brand-ready visuals out of the box
Get high-resolution images, logos, favicons, and the dominant color palette for every URL — perfect for rich link cards and theming without manual art direction.
Real browser, SPA-ready rendering
Every request runs in a real headless Chrome session that executes JavaScript, hydrates SPAs, and waits for selectors — so you get accurate metadata from dynamic pages that plain scrapers miss.
Production-grade edge infrastructure
Global CDN caching, automatic retries, and 99.9% uptime handle the scraping complexity for you — with a free tier of 25 requests per day to get started.
Metadata API
in
The Microlink website metadata API delivers unified structured data through a developer-friendly HTTP endpoint. One URL in, normalized metadata out — ready to power link previews, URL previews, content ingestion, and social card generation.
The following examples show how to use the Microlink API with CLI, cURL, JavaScript, Python, Ruby, PHP & Golang, targeting 'https://stripe.com' URL with 'meta' API parameter:
CLI Microlink API example
microlink https://stripe.com&metacURL Microlink API example
curl -G "https://api.microlink.io" \
-d "url=https://stripe.com" \
-d "meta=true"JavaScript Microlink API example
import mql from '@microlink/mql'
const { data } = await mql('https://stripe.com', {
meta: true
})Python Microlink API example
import requests
url = "https://api.microlink.io/"
querystring = {
"url": "https://stripe.com",
"meta": "true"
}
response = requests.get(url, params=querystring)
print(response.json())Ruby Microlink API example
require 'uri'
require 'net/http'
base_url = "https://api.microlink.io/"
params = {
url: "https://stripe.com",
meta: "true"
}
uri = URI(base_url)
uri.query = URI.encode_www_form(params)
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
request = Net::HTTP::Get.new(uri)
response = http.request(request)
puts response.bodyPHP Microlink API example
<?php
$baseUrl = "https://api.microlink.io/";
$params = [
"url" => "https://stripe.com",
"meta" => "true"
];
$query = http_build_query($params);
$url = $baseUrl . '?' . $query;
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => $url,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET"
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #: " . $err;
} else {
echo $response;
}Golang Microlink API example
package main
import (
"fmt"
"net/http"
"net/url"
"io"
)
func main() {
baseURL := "https://api.microlink.io"
u, err := url.Parse(baseURL)
if err != nil {
panic(err)
}
q := u.Query()
q.Set("url", "https://stripe.com")
q.Set("meta", "true")
u.RawQuery = q.Encode()
req, err := http.NewRequest("GET", u.String(), nil)
if err != nil {
panic(err)
}
client := &http.Client{}
resp, err := client.Do(req)
if err != nil {
panic(err)
}
defer resp.Body.Close()
body, err := io.ReadAll(resp.Body)
if err != nil {
panic(err)
}
fmt.Println(string(body))
}import mql from '@microlink/mql'
const { data } = await mql('https://stripe.com', {
meta: true
})Last month usage
50M
reqs per month
25%
cache hit rate
7TB
data served
some clients
Start free, scale when ready
No login required. No credit card needed. The website metadata API is free to use — just start calling it.
Free
Try the API in seconds. No card.
$0/month
25 requests per day
- 25 requests / day
- Screenshot, PDF, SDK
- Metadata, Logo, Insights
- Global edge cache
- Adblock & cookie banners
- Community support
Pro
For production workloads.
$49/month
≈ $1.07 per 1,000 requests
46,000 requests / month
- Everything in Free
- Automatic proxy resolution
- Configurable TTL
- Custom HTTP headers
- Custom cache key
- Priority email support
Cancel anytime · No setup fees
Enterprise
Dedicated infra for high-volume.
Custom
Tailored to your volume
- Everything in Pro
- Custom API endpoint
- Dedicated CDN distribution
- S3-like storage integration
- Custom SLA & DPA available
Built on open source,
trusted by developers
The Microlink metadata engine is powered by metascraper, our battle-tested open source library used by thousands of developers worldwide. You can inspect the code, contribute, or self-host it.
One API, every layer of context
Metadata is the foundation.
Stack the rest on top.
Use the metadata API on its own to power link previews, knowledge graphs, content moderation, or SEO tooling. Combine it with the other Microlink utilities in a single request to enrich the response with screenshots, PDFs, clean markdown, and brand colors — no extra roundtrips, same predictable JSON, same browser session.
Metadata × Markdown
Clean content for LLMs and RAG pipelines
Strip pages down to clean Markdown for embeddings, summarization, or content ingestion — and ship the structured metadata alongside as front-matter. Your AI pipeline gets both the readable body and the trustworthy source signals in one request.
api.microlink.io?meta&markdown&url=https://stripe.comExplore Markdown API