URL Metadata Extractor API

Extract Metadata
from Any URL

Get Open Graph tags, SEO metadata, and social sharing information in one API call. Perfect for link previews, content aggregation, and SEO tools.

Quick Start

cURL
Simple GET request
curl -X GET \
  "https://api.cullx.com/v1/metadata?url=https://github.com" \
  -H "x-api-key: YOUR_API_KEY"

# Response:
{
  "success": true,
  "data": {
    "title": "GitHub: Let's build from here",
    "description": "GitHub is where...",
    "image": "https://github.com/.../social.png",
    "favicon": "https://github.com/favicon.ico",
    "siteName": "GitHub",
    "url": "https://github.com"
  },
  "processingMs": 234
}
JavaScript / TypeScript
Perfect for Next.js, React, Vue
const getMetadata = async (url: string) => {
  const response = await fetch(
    `https://api.cullx.com/v1/metadata?url=${encodeURIComponent(url)}`,
    {
      headers: {
        'x-api-key': process.env.CULLX_API_KEY
      }
    }
  );

  const { data } = await response.json();

  return {
    title: data.title,
    description: data.description,
    image: data.image,
    favicon: data.favicon
  };
};

// Usage
const meta = await getMetadata('https://github.com');
Python
For data pipelines & scraping
import requests
from urllib.parse import quote

def get_metadata(url: str):
    api_url = f"https://api.cullx.com/v1/metadata"
    params = {"url": url}
    headers = {"x-api-key": "YOUR_API_KEY"}

    response = requests.get(
        api_url,
        params=params,
        headers=headers
    )

    data = response.json()
    return data['data']

# Usage
metadata = get_metadata("https://github.com")
print(metadata['title'])  # GitHub: Let's build...
Ruby
Rails integration
require 'net/http'
require 'json'
require 'uri'

def get_metadata(url)
  api_url = "https://api.cullx.com/v1/metadata"
  uri = URI(api_url)
  uri.query = URI.encode_www_form({ url: url })

  request = Net::HTTP::Get.new(uri)
  request['x-api-key'] = ENV['CULLX_API_KEY']

  response = Net::HTTP.start(uri.host, uri.port,
    use_ssl: true) do |http|
    http.request(request)
  end

  JSON.parse(response.body)['data']
end

metadata = get_metadata('https://github.com')

Extracted Data Points

Page Title

og:title or <title> tag

Description

og:description or meta description

Social Image

og:image for social shares

Favicon

Absolute URL to site favicon

Site Name

og:site_name brand identifier

Canonical URL

Normalized, canonical page URL

Real-World Use Cases

🔗 Link Previews

Build rich link previews like Slack, Discord, or Twitter. Show titles, descriptions, and images automatically.

Target audience: Chat apps, social platforms, content management systems

📊 SEO Tools

Audit Open Graph tags, analyze competitor metadata, and monitor SEO compliance at scale.

Target audience: SEO agencies, marketing teams, analytics platforms

📰 Content Aggregation

Automatically fetch article metadata for news readers, bookmark managers, and content curation tools.

Target audience: News aggregators, RSS readers, research tools

🎯 URL Shorteners

Enhance short links with preview cards. Display rich metadata when users hover or share links.

Target audience: Link shortening services, QR code generators

Why Choose Cullx Metadata API?

Lightning Fast (avg 234ms)

Optimized HTML parsing with 10-second timeout. Faster than running your own scraper.

🛡️

Smart Fallbacks

Auto-fallback from OG tags to meta tags to title. Always returns usable data.

🔒

SSRF Protection

Built-in security against Server-Side Request Forgery. Safe for user-submitted URLs.

💰

70% Cheaper than Alternatives

$29/mo for 5,000 requests vs $99/mo for similar services. No per-request fees.

Extract Metadata in Seconds

Free tier includes 100 requests/month. Start building today.