DEV Community

miccho27
miccho27

Posted on • Edited on • Originally published at rapidapi.com

Free Web Metadata Extractor API - Get Title, Description, OpenGraph Data

TL;DR: Get production-ready results in 1 HTTP call. No signup, no credit card, no rate limit.

πŸ‘‰ Try all 40+ Free APIs on RapidAPI

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"
Enter fullscreen mode Exit fullscreen mode

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"
  }
}
Enter fullscreen mode Exit fullscreen mode

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')}")
Enter fullscreen mode Exit fullscreen mode

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}`));
});
Enter fullscreen mode Exit fullscreen mode

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']}
![preview]({metadata['opengraph']['image']})
"""
Enter fullscreen mode Exit fullscreen mode

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)