Glossary
Open Graph
Five meta tags decide what every shared link to your page looks like.
By Roger Campos · Last updated: September 2026
TL;DR
Open Graph is a protocol of meta tags — og:title, og:description, og:image, og:url and og:type — that a page puts in its HTML head to describe itself. Facebook, LinkedIn, Slack, Discord, iMessage and most chat apps read them to build the preview card shown when the page's link is shared.
Free plan, no credit card. 1,000 credits a month.
How it works
The tags
Facebook published the protocol in 2010 at ogp.me. Tags are <meta> elements with a property attribute (not name) in the page's <head>. Four are required by the spec; og:description is the one everyone adds anyway.
<meta property="og:title" content="How we cut our build time in half">
<meta property="og:description" content="Three changes, measured over a month of CI runs.">
<meta property="og:image" content="https://example.com/og/build-time.png">
<meta property="og:url" content="https://example.com/blog/build-time">
<meta property="og:type" content="article">When a link is pasted, the app's preview service fetches the URL, reads these tags and draws the card. Without them it guesses from <title>, the meta description and whatever image it finds — or shows a bare link.
In practice
What goes wrong
- Tags added by JavaScript. Most preview fetchers read the HTML source without running scripts, so tags a client-side app inserts are invisible to them. Put them in the server response.
- Relative image URLs.
og:imagemust be an absolute URL. - Stale previews. Apps cache what they fetched; changing the tags doesn't change cards already made until the app re-fetches.
- One set for every page. A site-wide default title and image make every shared link look the same.
URLpipe
Reading Open Graph with URLpipe
/meta returns a page's title, description, language, main image, favicon, author, feed and publication date as JSON. It prefers Open Graph: the title comes from og:title, then twitter:title, then <title>; the image from og:image, then twitter:image, then JSON-LD. URLs come back absolute.
Two honest limits. /meta returns that normalised set, not every og: tag verbatim — for the raw tags, read the <head> from /html. And it reads the rendered page, so it can find a tag that JavaScript added and a preview fetcher would miss; check the source with curl too. The Open Graph guide walks through both.
FAQ
Frequently asked questions
Which Open Graph tags are required?
Why isn't my Open Graph image showing?
Should I use property or name for og tags?
See it on your own pages.
Free plan, no card. Confirm your email and your API key is live — you'll be making real requests in minutes.