Menu
WorkspaceIntegration

SnapSharp + Notion

Embed live website screenshots and OG cards inside any Notion database.

Notion is the workspace tool of choice for thousands of product, growth, and ops teams — but its built-in URL preview is famously basic. SnapSharp closes that gap. Combine the official Notion API with SnapSharp's screenshot and metadata-extract endpoints to render a real visual preview for every URL in a database, generate branded OG cards for content calendars, attach PDF snapshots to meeting notes, and run scheduled visual diffs against pages your team owns. There is no Notion-side installation — you wire the two APIs together via Zapier, Make, n8n, or a small backend script. This page walks through the recommended pattern, the few quirks of Notion's `files` and `external` block types, and how this compares to standalone Notion enrichment apps.

How it works

A typical end-to-end flow takes 1–3 seconds.

  1. 1

    New row added to Notion DB

    A teammate (or an upstream automation) creates a row containing a URL.

  2. 2

    Webhook or poll fires

    A Notion-aware automation step (Zapier/Make/n8n/your backend) detects the new row.

  3. 3

    SnapSharp renders the asset

    The automation calls `/v1/screenshot` (or `/v1/og-image`, `/v1/extract`) with the URL from the row.

  4. 4

    Result writes back to Notion

    The image is uploaded to Notion via the `external` files API and the row is updated with the live preview.

Setup guide

Follow these steps in order. Each one stands alone, so you can copy code blocks directly without re-reading earlier ones.

  1. 1Create a Notion internal integration

    In Notion, go to https://www.notion.so/my-integrations → "New integration". Choose "Internal" type, give it a name, and copy the secret. Share the target database with this integration so it can read/write rows.

  2. 2Pick your automation layer

    Three good options — Zapier (cheapest in dev time, most expensive at scale), Make (cheap and fast), n8n (self-hosted, free at scale), or a small Node/Python script. The rest of this guide assumes Make because it offers the best price/effort balance.

  3. 3Add a "Notion → Watch Database Items" trigger

    In Make, the Notion trigger polls a database and fires per new row. Map the row's URL property as the trigger output that downstream modules will consume.

  4. 4Call SnapSharp to render the image

    Drop a SnapSharp "Take Screenshot" module after the Notion trigger. Map the URL property to SnapSharp's `url` input. Set width 1200, full_page false (Notion previews look best at viewport-only), format png.

    POST https://api.snapsharp.dev/v1/screenshot
    Authorization: Bearer ss_live_xxx
    Content-Type: application/json
    
    {
      "url":          "{{notion.url_property}}",
      "width":        1200,
      "format":       "png",
      "block_ads":    true,
      "upload_to_s3": true
    }
    
  5. 5Update the Notion row with the preview

    Add a Notion "Update Database Item" module. Map the SnapSharp `image_url` into a Files & Media property using the "external URL" upload mode — Notion will fetch and host the file itself.

    // Notion API call (auto-generated by Make):
    PATCH /v1/pages/{{page_id}}
    {
      "properties": {
        "Preview": {
          "files": [{
            "type": "external",
            "name": "preview.png",
            "external": { "url": "{{snapsharp.image_url}}" }
          }]
        }
      }
    }
    
  6. 6Schedule it and forget it

    Turn on the Make scenario. Every new row gets an auto-generated preview within seconds. Optional follow-up — schedule a daily "refresh" job that re-renders rows older than N days so screenshots stay current.

Trigger examples

Real-world patterns where Notion fires and SnapSharp produces the asset.

Content calendar publishes → OG card

When a row in your editorial database flips to "Ready", auto-generate a branded OG image from a SnapSharp template and attach it.

Vendor list URL added → screenshot

Procurement teams keep a Notion DB of vendors; auto-render every vendor URL so reviewers see the real homepage at a glance.

Meeting notes contain link → snapshot

Render a static screenshot of any URL pasted into a meeting note — the visual stays even if the original URL changes or 404s.

Visual monitor change → Notion comment

Connect a SnapSharp visual monitor to a Notion comment append: every time a tracked page changes by >5%, your incident page gets an annotated diff.

Action examples

Each card shows the operation and the inputs you'd typically map from upstream.

Auto-thumbnail every URL row

One-time backfill — iterate the database, render a screenshot per row, attach as Files property.

url: {{row.url}}
width: 1200
block_ads: true

Generate OG image for content calendar

For Marketing teams — pull title and author from row, render a templated card, attach as cover.

template_id: editorial-card
variables.title: {{row.title}}
variables.author: {{row.author}}

PDF archive of meeting links

Convert every URL pasted into a meeting note to a PDF, attach to the row.

url: {{row.url}}
format: pdf

Extract metadata into structured properties

Pull title/description/OG image from a URL and write each into a separate Notion property.

url: {{row.url}}

Pricing notes

Notion itself is free for personal use, with team plans starting at $10 per user/mo. None of the SnapSharp integrations live inside Notion's marketplace, so there is no Notion-side surcharge. SnapSharp consumption bills against your SnapSharp plan as usual; the automation layer (Make/Zapier/n8n) bills separately.

Limitations to know

How SnapSharp compares to other apps in Notion

Quick reference — every alternative listed below is also available in Notion.

vs
Notion's built-in URL preview

Notion's native preview is OG-tag based and breaks for SPAs, paywalled pages, or sites without OG. SnapSharp renders the actual page reliably.

vs
Bookmarkly / Save.so

Read-it-later tools don't expose a programmatic API for batch backfills or scheduled refresh — SnapSharp does.

vs
Bannerbear's Notion template

Bannerbear is OG-only and has no screenshot endpoint, no metadata extract, no PDF export.

FAQ

Do I need to install anything inside Notion?

Only a Notion internal integration (one-time, free) so the automation layer can read and write the database. SnapSharp itself is called from the automation step, not from Notion directly.

Can I do this with just Zapier and no code?

Yes. Zapier has both Notion and SnapSharp apps — connect a "New Database Item" trigger to a "SnapSharp: Take Screenshot" action to a "Notion: Update Database Item" action. Same flow as the Make example above.

How big can the rendered image be?

Notion accepts external files up to ~5MB without issues. Standard 1200x800 PNG screenshots sit at 200–400KB; full-page captures of long pages can hit a few MB. Use WebP if you need smaller files.

Will the preview update automatically when the source page changes?

Notion caches the external URL for some time. Pair the integration with a SnapSharp visual monitor — when the page changes meaningfully, the monitor's webhook re-triggers the automation and writes a new preview.

Can I attach the screenshot to a specific block instead of a property?

Yes — the Notion API supports image blocks with `external` URLs. Use a "Notion: Append Block to Page" step instead of "Update Database Item" to drop the image inline at the bottom of the row's page.

Wire SnapSharp into Notion in under five minutes

Free plan includes 100 requests/mo — enough to build, test, and demo your automation before deciding on a paid plan.

SnapSharp + Notion Integration — Setup Guide & Examples | SnapSharp