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.
Install, configure, and start capturing.
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_tokenOpen the Notion page you want to add screenshots to. Click ••• → Connections → Add your integration. This grants API access to that specific page.
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"
}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"
}
}
]
}
}
]
}'#!/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.
No credit card required
Build a Notion database of competitors. Automatically capture and embed their pricing pages, features, and changelogs.
Auto-generate documentation with screenshots. Capture your app's key flows and append them to Notion docs.
Archive blog posts, press coverage, or social media mentions as screenshots in a Notion database.
Capture dashboard screenshots and embed them in Notion project pages for stakeholder visibility.
100 free API calls per month. No credit card. No complex setup.