TL;DR: Get production-ready results in 1 HTTP call. No signup, no credit card, no rate limit.
Free Web Metadata Extractor API - Get Title, Description, OpenGraph Data
Extracting metadata from websites is tedious. You need to fetch HTML, parse the DOM, extract og:title, og:image, description meta tags, handle encoding issues, and normalize results. Libraries like BeautifulSoup require setup and run slowly. What if you could extract metadata via REST API and get structured JSON instantly?
The Web Metadata Extractor API fetches any URL and returns all metadata: page title, description, OpenGraph tags (image, video, type), Twitter Card tags, favicon, structured data (JSON-LD), and more. Perfect for link preview, SEO analysis, social media automation, and content aggregation.
Why Use This API?
Parsing HTML locally means:
- Network overhead (fetching the page)
- DOM parsing complexity
- Encoding issues (UTF-8, charset detection)
- Slow execution on large pages
This API: instant results, consistent parsing, all metadata in one call, zero setup.
Quick Example - cURL
# Extract metadata from a URL
curl "https://meta-extractor-api.p.rapidapi.com/extract?url=https://example.com" \
-H "X-RapidAPI-Key: YOUR_KEY" \
-H "X-RapidAPI-Host: meta-extractor-api.p.rapidapi.com"
Response:
{
"success": true,
"url": "https://example.com",
"title": "Example Domain",
"description": "This domain is for use in examples and documentation.",
"favicon": "https://example.com/favicon.ico",
"images": ["https://example.com/image.jpg"],
"opengraph": {
"title": "Example Domain",
"description": "An example domain",
"image": "https://example.com/og-image.jpg",
"type": "website",
"url": "https://example.com"
},
"twitter_card": {
"card": "summary",
"title": "Example Domain",
"description": "An example domain",
"image": "https://example.com/twitter-image.jpg"
},
"structured_data": {
"@type": "WebPage",
"name": "Example Domain",
"description": "An example domain"
}
}
Python Example
import requests
import json
url = "https://meta-extractor-api.p.rapidapi.com/extract"
headers = {
"X-RapidAPI-Key": "YOUR_API_KEY",
"X-RapidAPI-Host": "meta-extractor-api.p.rapidapi.com"
}
# Extract metadata from multiple URLs
urls = [
"https://www.wikipedia.org",
"https://github.com/torvalds/linux",
"https://news.ycombinator.com"
]
for target_url in urls:
params = {"url": target_url}
response = requests.get(url, params=params, headers=headers)
data = response.json()
if data["success"]:
print(f"\n{data['title']}")
print(f" {data['description']}")
if data.get('opengraph', {}).get('image'):
print(f" Preview: {data['opengraph']['image']}")
else:
print(f"Error: {data.get('error')}")
JavaScript / Node.js Example
const axios = require("axios");
const extractMetadata = async (targetUrl) => {
const response = await axios.get(
"https://meta-extractor-api.p.rapidapi.com/extract",
{
params: { url: targetUrl },
headers: {
"X-RapidAPI-Key": process.env.RAPIDAPI_KEY,
"X-RapidAPI-Host": "meta-extractor-api.p.rapidapi.com"
}
}
);
const data = response.data;
return {
title: data.title,
description: data.description,
image: data.opengraph?.image || data.twitter_card?.image,
favicon: data.favicon
};
};
// Build a link preview widget
const urls = [
"https://dev.to/miccho27",
"https://github.com/tmizuno27"
];
Promise.all(urls.map(extractMetadata)).then(previews => {
previews.forEach(p => console.log(`${p.title} - ${p.description}`));
});
What This API Extracts
Meta Tags
-
<title>β Page title -
<meta name="description">β SEO description -
<meta name="keywords">β Keywords -
<meta name="author">β Author name
OpenGraph (OG) Tags
-
og:title,og:description,og:image,og:video,og:type,og:url - Perfect for link previews on Facebook, LinkedIn, Discord
Twitter Card Tags
-
twitter:card,twitter:title,twitter:description,twitter:image - Used when links shared on Twitter/X
Structured Data
- JSON-LD (Schema.org) β Article, Organization, Product, etc.
- Microdata (itemscope, itemtype)
Images & Favicon
- All images referenced in the page
- Favicon URL for bookmark previews
Real-World Use Cases
1. Link Preview Widget
Build a component that shows title, description, and image when a user shares a URL.
# Generate preview for link in message
link = "https://github.com/tmizuno27/claude-code"
metadata = extract_url(link)
preview = f"""
**{metadata['title']}**
{metadata['description']}

"""
2. Content Aggregation & Curation
Crawl links, extract metadata, and build a news feed or resource directory.
3. SEO Analysis Tool
Audit competitor websites for missing OG tags, descriptions, structured data.
4. Social Media Automation
Automatically generate social media posts with correct link previews by extracting metadata.
5. Link Validation & Monitoring
Check if URLs still have valid metadata, detect when pages are down or content changes.
6. Bookmark Management
Extract metadata for DIY bookmark services with search, filters, and previews.
Pricing
| Plan | Cost | Requests/Month | Best For |
|---|---|---|---|
| Free | $0 | 500 | Development, prototypes |
| Pro | $5.99 | 50,000 | Content aggregation |
| Ultra | $14.99 | 500,000 | Enterprise scraping |
Related APIs
- QR Code API β Generate QR codes from extracted URLs
- Screenshot API β Capture page previews alongside metadata
- SEO Analyzer API β Audit SEO metadata
- Text Analysis API β Analyze descriptions extracted from pages
Get Started Now
Extract metadata free on RapidAPI
No credit card. 500 free requests to extract title, image, description from any website.
Building a link preview tool? Share your project in the comments!
Top comments (0)