DEV Community

Cover image for Introducing metadata.party: your free and open source metadata API
Mr M
Mr M

Posted on

Introducing metadata.party: your free and open source metadata API

Easily grab page titles, descriptions, images, Open Graph, and Twitter Card data from any website.

Why metadata matters
Every time a link gets shared, a tiny piece of metadata decides what shows up: the title, image, and description that people see before they even click. It’s a small detail that shapes how your content looks across social feeds, chat apps, and search results.

But actually extracting that metadata at scale is… annoying. Some sites use og:title, others rely on twitter:description, and plenty forget both. You end up juggling custom scrapers, inconsistent markup, and endless exceptions.

So instead of building yet another brittle parser, what if there was one simple, reliable service that just worked?

Meet metadata.party
metadata.party is a free and open source API for extracting metadata from URLs. It’s built in Go for speed, designed to be easy to deploy, and ready to use out of the box.

You can run it locally, host it yourself, or use the hosted free of charge API (rate limited).

Key features
Extracts title, description, images, and favicon automatically.
Reads Open Graph and Twitter Card tags by default.
Processes multiple URLs in one go, handling up to five concurrently.
Includes rate limiting, timeout protection, and SSRF safeguards.
Free, open source, and production-ready.
Basically, metadata.party does all the hard work so you can focus on building cool things instead of wrestling with HTML tags.

Why this project exists
Every dev team I’ve worked with has run into the same problem: needing link previews for their app, and then realizing there’s no simple, reliable way to get them. You start with a quick script, then realize half your URLs break, and suddenly you’re debugging weird meta tags for days.

metadata.party was created to solve that once and for all. It’s a small, focused service that just extracts metadata consistently. Nothing fancy, no external dependencies, no paywalls.

Getting started
You can get up and running in a few minutes.

Free hosted API: https://api.metadata.party/extract

Local install (Go 1.21+)

git clone https://github.com/BradPerbs/metadata.party
cd metadata.party
go mod download
go run main.go
By default, it runs at http://localhost:8759.
Enter fullscreen mode Exit fullscreen mode

Try it out
Send a simple POST request:

curl -X POST http://localhost:8759/extract \
  -H "Content-Type: application/json" \
  -d '{"url": "https://example.com"}'
Enter fullscreen mode Exit fullscreen mode

You’ll get a response like:

{
  "title": "Example Domain",
  "description": "",
  "images": [],
  "favicon": "https://example.com/favicon.ico",
  "domain": "example.com",
  "url": "https://example.com"
}
Enter fullscreen mode Exit fullscreen mode

Want to extract multiple links at once?\

curl -X POST http://localhost:8759/extract \
  -H "Content-Type: application/json" \
  -d '{
         "urls": [
            "https://site1.com",
            "https://site2.com/article"
         ]
      }'
Enter fullscreen mode Exit fullscreen mode

t’ll return all results in one batch, processed concurrently for speed.

Docker support
If you’d rather use Docker, there’s a ready-to-go setup. You can configure environment variables like PORT, ALLOWED_ORIGIN, and API_KEY to fit your deployment. Everything’s documented in the GitHub repo.

Use cases
metadata.party fits perfectly when you need:

Link previews for chat apps, dashboards, newsletters, or embeds.
SEO tools that bulk-extract metadata from pages.
Browser clients that fetch data directly (with proper CORS).
Self-hosted setups where privacy and control matter.
Basically, if your app ever shows a URL preview, metadata.party saves you hours of scraping headaches.

Why it stands out
Fast thanks to Go’s concurrency model.
Simple with a single, clear API endpoint.
Secure with rate limits and SSRF protection built in.
Extensible because it’s open source and MIT licensed.
Free forever.
What’s next
The current version already covers the essentials, but there’s more on the roadmap:

Optional caching for repeated requests.
Support for structured metadata like JSON-LD or Microdata.
Monitoring endpoints for metrics.
A lightweight web interface to test URLs visually.
How to contribute
If you like the project, jump in:

⭐ Star it on GitHub to spread the word.
Report bugs or suggest new features.
Open pull requests for parsing improvements or docs.
Share feedback about your use case.
Every contribution helps shape where metadata.party goes next.

Ready to try it?
Head to the repo: github.com/BradPerbs/metadata.party

Spin it up, point it at a few URLs, and see how much metadata.party can simplify your next project.

Because honestly, extracting metadata shouldn’t be this hard. 🎉

Top comments (0)