/api/preview

Link previews, in one call.

Open Graph, Twitter Card, favicon, theme color. The metadata layer under every "paste a link and get a rich card" feature.

Try it

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" }
}

How it works

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.

Use it to

Slack / Discord bots

When a user pastes a link, call this and post a rich embed. The bot stays fast; the preview stays fresh.

Newsletter builders

Pre-fill link cards with the right title, image, and description as the author types.

Link-in-bio / bookmark tools

Auto-fill cards when a user adds a link. No more "enter the title and image manually".

Read-later apps

Show a card with image + description for every saved link. Better than a text-only title.