See how it works

Automate social link previews and getmore clicks from every shared link.auto-generated OG images for shared pages.faster social previews where they matter.consistent branding across shared content.

Add one line of code to generate and deliver OG images only for the pages people actually share, with caching built in.

Benefits

Show better social previews for the pages people actually share

Test any website instantly. Enter a domain and compare static branded cards vs real page-context previews.

Normal social previews

With SocialPreview

\u2190\u2192vercel.com/pricing

vercel.com

Brand Image

Same preview on every page

www.vercel.com

Pricing

\u2190\u2192vercel.com/pricing
Pricing

www.vercel.com

Pricing

\u2190\u2192vercel.com/enterprise

vercel.com

Brand Image

Same preview on every page

www.vercel.com

Enterprise

\u2190\u2192vercel.com/enterprise
Enterprise

www.vercel.com

Enterprise

\u2190\u2192vercel.com/blog

vercel.com

Brand Image

Same preview on every page

www.vercel.com

Latest Product Updates

\u2190\u2192vercel.com/blog
Latest Product Updates

www.vercel.com

Latest Product Updates

How it works

Add one tag and automate social previews for every shared page

Connect SocialPreview once, then each shared URL gets a relevant OG image automatically without manual design work.

Step 1

Register your website

Add your domain in SocialPreview to enable secure generation, usage tracking, and caching.

<meta property="og:image" content="https://your-domain.com/api/get?url=yourwebsite.com/" />

Step 2

Add one dynamic meta tag

Put the tag in your head and pass the live page URL. SocialPreview handles rendering, storage, and fast delivery.

<!-- Put in your <head> -->
<meta
  property="og:image"
  content="https://your-domain.com/api/get?url=yourwebsite.com/pricing"
/>

Example: https://your-domain.com/api/get?url=yourwebsite.com

Pricing

Simple pricing that scales with usage

Start small and upgrade only when your link-sharing volume increases.

Monthly billing

Starter

Great for launching your first production workflow.

$2.99

/month

  • 300 fresh images/month
  • 1 website
  • Basic analytics
Start free trial

Growth

For teams publishing frequently across multiple pages.

$10

/month

  • 1,500 fresh images/month
  • Unlimited websites
  • Priority rendering
Choose Growth

Pro

For high-volume products with heavy social distribution.

$35

/month

  • 6,000 fresh images/month
  • Unlimited websites
  • Advanced analytics + logs
Choose Pro

Pre-launch pricing. Final values may change before public release.

FAQ

Frequently asked questions

How do I use SocialPreview as the open graph image for my pages?

Place one og:image meta tag in your page head and pass the current page URL in /api/get?url=. SocialPreview returns a generated image for that exact URL.

What URL can I pass in the url parameter?

Use any public HTTP/HTTPS page under domains you registered in your account. Query strings are normalized for consistent caching behavior.

Do I need an API key to generate images?

No API key is needed in the meta-tag flow. Access is controlled by site registration, rate limits, and monthly plan quotas.

How do you prevent abuse from unknown users?

We apply domain allow-lists, per-site rate limiting, and plan-based quotas. Invalid or unregistered domains are blocked automatically.

What if my site has a very large number of unique pages?

Every unique URL can generate its own preview, while cached URLs return quickly. The Pro plan is designed to handle larger catalogs.

Do cached image hits count toward my monthly generation limit?

No. Only first-time generations are counted. Cached responses are served directly and do not consume fresh generation quota.

I updated a page. How can I refresh its social image?

Use the dashboard to refresh one URL or clear cache for the full site. The next request will produce an updated image.

Can I add domains I do not own?

Add only domains you own or operate. This keeps quota usage secure and prevents unauthorized traffic.

If I add a root domain, are subdomains included automatically?

By default, matching is host-specific. Add each required subdomain explicitly to keep access and usage under control.

People are building with SocialPreview

Real feedback from teams shipping products fast.

SocialPreview gave us a strong base and helped us ship production-ready pages much faster.

Nok8s

@nok8s

The structure and speed are exactly what we needed to launch quickly with confidence.

Product Team

@earlystage

SocialPreview gave us a strong base and helped us ship production-ready pages much faster.

Nok8s

@nok8s

The structure and speed are exactly what we needed to launch quickly with confidence.

Product Team

@earlystage

SocialPreview gave us a strong base and helped us ship production-ready pages much faster.

Nok8s

@nok8s

The structure and speed are exactly what we needed to launch quickly with confidence.

Product Team

@earlystage

SocialPreview gave us a strong base and helped us ship production-ready pages much faster.

Nok8s

@nok8s

The structure and speed are exactly what we needed to launch quickly with confidence.

Product Team

@earlystage

Clean design, clear architecture, and great default UX. Saved us weeks of work.

Indie Builder

@solo

Our team moved from idea to public beta in days, not months, with this setup.

Startup CTO

@techlead

Clean design, clear architecture, and great default UX. Saved us weeks of work.

Indie Builder

@solo

Our team moved from idea to public beta in days, not months, with this setup.

Startup CTO

@techlead

Clean design, clear architecture, and great default UX. Saved us weeks of work.

Indie Builder

@solo

Our team moved from idea to public beta in days, not months, with this setup.

Startup CTO

@techlead

Clean design, clear architecture, and great default UX. Saved us weeks of work.

Indie Builder

@solo

Our team moved from idea to public beta in days, not months, with this setup.

Startup CTO

@techlead