Notion

Notion + ScreenshotDEV

Docs, wikis, and knowledge bases

Add screenshots as image blocks to any Notion page using the Notion API. Perfect for automated documentation, visual archives, competitive research databases, and project dashboards.

Key features

  • ✓Append image blocks to any Notion page
  • ✓Notion API with Bearer token auth
  • ✓External image URLs — no file upload needed
  • ✓Add captions with rich text formatting
  • ✓Works with pages and database entries
  • ✓Batch append up to 100 blocks per request
Step by step

How to set it up

Install, configure, and start capturing.

1

Create a Notion integration

Go to notion.so/my-integrations and create a new internal integration. Copy the API token (starts with ntn_ or secret_).

# Your Notion API token:
ntn_your_integration_token
2

Share a page with your integration

Open the Notion page you want to add screenshots to. Click ••• → Connections → Add your integration. This grants API access to that specific page.

3

Capture a screenshot

Take a screenshot with store=true to get a persistent CDN URL that Notion can embed.

curl -s "https://api.screenshotdev.com/v1/screenshot\
  ?url=https://acme.com\
  &access_key=ak_live_your_key\
  &format=png\
  &store=true"

→ {
    "screenshot_url": "https://cdn.ssdev.io/s/x7k9m2.png"
  }
4

Append an image block to the page

Use the Notion API to append an image block. The block_id in the URL is the page ID (the 32-char hex string from the page URL).

curl -X PATCH \
  "https://api.notion.com/v1/blocks/PAGE_ID/children" \
  -H "Authorization: Bearer ntn_your_token" \
  -H "Notion-Version: 2022-06-28" \
  -H "Content-Type: application/json" \
  --data '{
    "children": [
      {
        "type": "image",
        "image": {
          "type": "external",
          "external": {
            "url": "https://cdn.ssdev.io/s/x7k9m2.png"
          },
          "caption": [
            {
              "type": "text",
              "text": {
                "content": "Screenshot of acme.com — captured 2026-03-14"
              }
            }
          ]
        }
      }
    ]
  }'
Full example

Notion API — append screenshot block

#!/bin/bash
# Capture a screenshot and add it to a Notion page

SSDEV_KEY="ak_live_your_key"
NOTION_TOKEN="ntn_your_token"
NOTION_PAGE_ID="your-page-id-without-dashes"
TARGET_URL="https://acme.com/pricing"

# 1. Capture screenshot with persistent storage
RESPONSE=$(curl -s "https://api.screenshotdev.com/v1/screenshot\
?url=$TARGET_URL\
&access_key=$SSDEV_KEY\
&format=png\
&store=true")

SCREENSHOT_URL=$(echo $RESPONSE | jq -r '.screenshot_url')
TIMESTAMP=$(date -u +%Y-%m-%d)

# 2. Append image block to Notion page
curl -s -X PATCH \
  "https://api.notion.com/v1/blocks/$NOTION_PAGE_ID/children" \
  -H "Authorization: Bearer $NOTION_TOKEN" \
  -H "Notion-Version: 2022-06-28" \
  -H "Content-Type: application/json" \
  --data "{
    \"children\": [
      {
        \"type\": \"heading_3\",
        \"heading_3\": {
          \"rich_text\": [{
            \"type\": \"text\",
            \"text\": { \"content\": \"$TARGET_URL — $TIMESTAMP\" }
          }]
        }
      },
      {
        \"type\": \"image\",
        \"image\": {
          \"type\": \"external\",
          \"external\": {
            \"url\": \"$SCREENSHOT_URL\"
          },
          \"caption\": [{
            \"type\": \"text\",
            \"text\": {
              \"content\": \"Captured by ScreenshotDEV on $TIMESTAMP\"
            }
          }]
        }
      }
    ]
  }"

Pro tip: The Notion API requires your integration to be explicitly connected to each page. You can share entire database pages so all entries are accessible.

Start with 100 free API calls →

No credit card required

Use cases

What people build with Notion

Competitive research

Build a Notion database of competitors. Automatically capture and embed their pricing pages, features, and changelogs.

Visual documentation

Auto-generate documentation with screenshots. Capture your app's key flows and append them to Notion docs.

Content archives

Archive blog posts, press coverage, or social media mentions as screenshots in a Notion database.

Project dashboards

Capture dashboard screenshots and embed them in Notion project pages for stakeholder visibility.

FAQ

Notion + ScreenshotDEV — Common questions

What Notion-Version header should I use?
Use 2022-06-28 for stable, well-documented behavior. Newer versions exist but this version covers all features needed for image blocks.
Does the image URL need to be permanent?
Yes. Notion displays external images by linking to the URL directly. Use store=true in ScreenshotDEV to get a persistent CDN URL.
Can I add screenshots to database entries?
Yes. Database pages are regular Notion pages — use the same PATCH endpoint with the page ID to append image blocks to any database entry.
Is there a block limit per request?
Yes. You can append up to 100 blocks per PATCH request, with up to two levels of nesting.

Notion + screenshots.
Ready in minutes.

100 free API calls per month. No credit card. No complex setup.

Notion Integration — ScreenshotDEV