Open Graph, Twitter Card, favicon, theme color. The metadata layer under every "paste a link and get a rich card" feature.
curl "https://api.sitetrace.it.com/api/preview?url=https://www.nytimes.com" | jq
{
"url": "https://www.nytimes.com",
"final_url": "https://www.nytimes.com/",
"title": "The New York Times - Breaking News, World News & Multimedia",
"description": "Live news, investigations, opinion, photo galleries and video from the New York Times.",
"image": "https://static01.nyt.com/images/misc/NYT_logo_widget.png",
"favicon": "https://www.nytimes.com/favicon.ico",
"theme_color": null,
"og": { "title": "...", "image": "...", "type": "website", "site_name": "The New York Times" },
"twitter": { "card": "summary_large_image", "site": "@nytimes" }
}
We fetch the URL with the Facebook crawler User-Agent (facebookexternalhit/1.1). Most sites serve a tag-rich variant to crawlers, so this gets the same metadata that Slack, Twitter, and iMessage would show. We don't execute JavaScript — for SPAs that hydrate, use the screenshot API instead.
The response is cached at the edge for 5 minutes, so popular URLs cost you nothing.
When a user pastes a link, call this and post a rich embed. The bot stays fast; the preview stays fresh.
Pre-fill link cards with the right title, image, and description as the author types.
Auto-fill cards when a user adds a link. No more "enter the title and image manually".
Show a card with image + description for every saved link. Better than a text-only title.