Metadata Scraper & Link Metadata API
Get the title, description, images, favicon and site name of any URL as JSON — everything you need for link previews. One GET request, from $0.20 per 1,000 URLs.
100 free requests every month · No credit card · Sign up with Google in seconds
One request. Clean metadata back.
Send a URL and your API key. JsonLink fetches the page, reads its Open Graph, Twitter Card and HTML meta tags and returns them as JSON, with absolute image and favicon URLs.
- Create a free account and copy your API key
- Call
/api/extractwith a URL - Render the title, description and image as a link preview
curl "https://jsonlink.io/api/extract?url=https://github.com&api_key=YOUR_API_KEY"
const res = await fetch(
`https://jsonlink.io/api/extract?url=${encodeURIComponent(link)}&api_key=${process.env.JSONLINK_KEY}`
);
const { title, description, images, favicon, sitename, domain } = await res.json();import requests
meta = requests.get("https://jsonlink.io/api/extract", params={
"url": link,
"api_key": JSONLINK_KEY,
}).json()
print(meta["title"], meta["images"][:1])$meta = json_decode(file_get_contents(
'https://jsonlink.io/api/extract?' . http_build_query([
'url' => $link,
'api_key' => getenv('JSONLINK_KEY'),
])
), true);
echo $meta['title'];{
"title": "GitHub · Change is constant. GitHub keeps you ahead. · GitHub",
"description": "Join the world's most widely adopted, AI-powered developer platform where millions of developers, businesses, and the largest open source community build software that advances humanity.",
"images": [
"https://images.ctfassets.net/8aevphvgewt8/4pe4eOtUJ0ARpZRE4fNekf/f52b1f9c52f059a33170229883731ed0/GH-Homepage-Universe-img.png"
],
"sitename": "GitHub",
"favicon": "https://github.com/favicon.ico",
"domain": "github.com",
"url": "https://github.com",
"duration": 1240
}What you get back
Every response is a flat JSON object with these fields.
| Field | Description |
|---|---|
| title | Page title, from og:title, twitter:title or the HTML <title>. |
| description | Summary from og:description, twitter:description or the meta description. |
| images | Preview images (og:image, twitter:image), best first. Falls back to the main image on the page. |
| sitename | Site name from og:site_name or derived from the title. |
| favicon | Absolute URL of the site icon. |
| domain | Domain of the page. |
| url | The URL you requested. |
| duration | How long the extraction took, in milliseconds. |
Built for real-world links
Open Graph, Twitter Card and HTML
Reads og:*, twitter:* and standard meta tags with sensible fallbacks, so you get a title and image even on pages with incomplete tags.
Works on hard-to-fetch pages
Retries with different user agents and a rotating proxy, and loads JavaScript-heavy pages in a real browser when a plain request is not enough.
Absolute, ready-to-use URLs
Image and favicon URLs come back absolute, so you can drop them straight into an <img> tag.
Simple JSON, one GET request
No SDK needed. Call the endpoint from any language, server or edge function and read plain JSON.
Failed requests are free
Timeouts and pages that can’t be reached return an error and cost no credits.
One key for the whole web
The same key and credits also give you Markdown for LLMs, screenshots, links and images from any URL.
What developers build with it
Link previews in chat and social apps
Turn pasted URLs into rich cards, the way Slack, WhatsApp and Discord do.
CMS and bookmarking tools
Fill in title, description and thumbnail automatically when users save a link.
SEO and social audits
Check titles, descriptions and Open Graph images across many pages at once.
Feeds and newsletters
Enrich lists of links with titles and images before you publish them.
Metadata API pricing
One credit per URL. Credits are shared with every other JsonLink endpoint and renew every month.
How JsonLink compares
Entry paid plans, from each provider's public pricing page (October 2026).
| Provider | Entry plan | Requests / mo | Per 1,000 | Free tier |
|---|---|---|---|---|
| JsonLink | $15 | 50,000 | $0.30 | 100 / month |
| OpenGraph.io | $25 | 50,000 | $0.50 | 100 / month |
| Microlink | $49 | 46,000 | $1.07 | 25 / day |
| Iframely | $49 | 25,000 | $1.96 | 2,000 / month |
Frequently asked questions
How do I get metadata from a URL?
Paste the URL in the tool above, or call GET https://jsonlink.io/api/extract with the url and your api_key. You get the title, description, images, favicon, site name and domain as JSON.
What is a metadata scraper?
A metadata scraper reads the meta tags a page publishes — Open Graph, Twitter Card and standard HTML tags — and returns them in a structured format. It is the data apps use to build link previews.
Is the metadata scraper free?
Yes. The online tool is free with a daily limit and no signup. A free API key adds 100 requests every month, and paid plans start at $15 for 50,000 requests.
Why doesn't a page return an image?
The page has no og:image or twitter:image and no usable image on the page, or the image can't be reached. Adding an og:image tag (1200×630 is a safe size) fixes it.
Can I scrape metadata from JavaScript-rendered sites?
Yes. When a plain request is blocked or returns an empty shell, JsonLink loads the page in a real browser before reading the tags. Pages behind a login are not supported.
How is this different from the link preview generator?
The link preview generator turns this data into a downloadable preview image. The metadata API returns the raw data so you can build previews — or anything else — in your own app.
Add link previews to your app today
100 free requests every month. No credit card, one GET request.