One API call to get Open Graph tags, Twitter Cards, favicons, and link preview data from any URL. Free tier, zero dependencies, edge-deployed.
Paste any URL and see the extracted metadata instantly
Title, description, image, site name, type, locale, card type, creator — all extracted and normalized.
Runs on Cloudflare Workers across 300+ locations. Sub-100ms response times, zero cold starts.
/v1/preview returns exactly the 6 fields you need to render a link card. No parsing required.
Extract metadata from up to 50 URLs in a single request. All fetched in parallel.
Only need title and image? Use ?fields=title,image to get exactly what you want.
Works from any browser. Build client-side link previews without a backend proxy.
Works with any language or framework
# Get link preview data from any URL curl "https://metapeek.p.rapidapi.com/v1/preview?url=https://github.com" \ -H "x-rapidapi-key: YOUR_API_KEY" \ -H "x-rapidapi-host: metapeek.p.rapidapi.com" # Response: # {"title":"GitHub","description":"...","image":"...","domain":"github.com"}
import requests response = requests.get( "https://metapeek.p.rapidapi.com/v1/preview", params={"url": "https://github.com"}, headers={ "x-rapidapi-key": "YOUR_API_KEY", "x-rapidapi-host": "metapeek.p.rapidapi.com" } ) preview = response.json() print(preview["title"], preview["image"])
const response = await fetch( `https://metapeek.p.rapidapi.com/v1/preview?url=${encodeURIComponent(url)}`, { headers: { 'x-rapidapi-key': 'YOUR_API_KEY', 'x-rapidapi-host': 'metapeek.p.rapidapi.com' } } ); const { title, description, image, domain } = await response.json();
const axios = require('axios'); const { data } = await axios.get('https://metapeek.p.rapidapi.com/v1/preview', { params: { url: 'https://github.com' }, headers: { 'x-rapidapi-key': 'YOUR_API_KEY', 'x-rapidapi-host': 'metapeek.p.rapidapi.com' } }); console.log(data.title, data.image);
Start free, scale as you grow