SnapRender
  1. Home
  2. Integrations
  3. Bubble

Free plugin on the Bubble marketplace

SnapRender for Bubble

SnapRender Screenshot API is a free Bubble plugin that saves a screenshot or PDF of any public web page in your app, shows live preview thumbnails through signed links, and reads pages as Markdown for AI steps. Install it from the Plugins tab, paste your API key once, and use it in any workflow or Image element.

200 free captures a monthNo cardPlugin version 1.0.0

Workflow editorExample

  1. When Button Save is clicked

    Event

  2. Step 1: Take Screenshot

    SnapRender plugin

    url: Input URL's value · format: png

  3. Step 2: Make changes to Site

    Data

    screenshot = Result of step 1

  4. Image element shows the file

    Design tab

A user pastes a URL and the screenshot is saved on their record. See this recipe

Install the plugin and add your key

You need a SnapRender account (free) and a Bubble app you can edit. It takes a couple of minutes.

  1. Get your API key

    Sign up with Google, GitHub or email. The key is on your dashboard right away and starts with sk_live_. The free plan has 200 captures a month, no card.

  2. Install the plugin

    In the Bubble editor, open the Plugins tab, select Add plugins, search SnapRender and install SnapRender Screenshot API.

  3. Paste the key

    Still in Plugins, select the SnapRender plugin and paste your key into the X-API-Key field.

  4. Use it

    In a workflow, add an action from the plugin, such as Take Screenshot. For a data source, choose Get data from an external API and pick Create Signed Screenshot URL or Get Usage.

What the plugin does

4 calls in version 1.0.0: two workflow actions and two data sources. The names and fields below are the ones you see in the editor.

CallFieldsReturnsCaptures
Take ScreenshotWorkflow action

Captures a page and saves the file in your app, ready for a database field, an Image element or a download.

Fields
  • url the page to capture
  • format png, jpeg, webp or pdf
  • full_page the whole scrollable page instead of the first screen
  • width viewport width, 320 to 3,840 px, default 1280
  • height viewport height, 200 to 10,000 px, default 800
  • dark_mode the page's dark theme where it has one
  • block_ads hide ads, on by default
  • block_cookie_banners hide cookie banners, on by default
  • delay wait before the capture, 0 to 10,000 ms
ReturnsA file stored in your app: the image, or a PDF when format is pdf. Captures1 capture
Create Signed Screenshot URLData source

An expiring link that renders a fresh screenshot of the page when it is opened. Put it in an Image element's source and the page shows a live preview without exposing your key.

Fields
  • url the page the link shows
  • expires_in how long the link works, 60 to 2,592,000 seconds (30 days), default 86,400 (one day)
  • format png, jpeg, webp or pdf
  • full_page the whole scrollable page instead of the first screen
  • width viewport width, 320 to 3,840 px, default 1280
  • height viewport height, 200 to 10,000 px, default 800
  • dark_mode the page's dark theme where it has one
Returnssigned_url, expires_at and expires_in. CapturesFree to create; each time the link is opened uses 1 capture
Free to call
Extract ContentWorkflow action

Reads a page as text, for an AI step, a search index or a summary field.

Fields
  • url the page to read
  • type markdown, text, html, article (the main article only), links or metadata
Returnsurl, type, content, wordCount and processingTimeMs. Captures1 capture
Get UsageData source

Your plan and this month's captures, for an admin page or a check before a large run.

FieldsNone Returnsplan, the period start and end, and usage: screenshots_used, screenshots_limit and screenshots_remaining. CapturesNo capture
Free to call

Device presets are not in version 1.0.0. For a phone view, set width 390 and height 844.

Recipes to build from

Four setups that use the plugin with Bubble's own elements and actions. Each lists the steps in order and what to fill in.

  1. 3 steps · 1 capture per save

    Save a screenshot of a URL a user submits

    A user pastes a URL into a form and a screenshot of that page is saved on their record, for a directory, a portfolio or a list of client sites.

    1. Event When Button Save is clicked
    2. SnapRender Take Screenshoturl = Input URL's value, format = png
    3. Data Make changes to a thingthe record the URL belongs to, with screenshot = Result of step 1

    Add a field to the data type first, such as screenshot of type image on a Site type. Show it anywhere with an Image element whose source is that field.

  2. 3 steps · 1 capture per image shown

    Show a live preview thumbnail in a repeating group

    Each row of a list of sites shows a current screenshot of its page, with nothing stored and no key in the page.

    1. Repeating group Type of content SiteData source = Do a search for Sites
    2. Image element Placed in the cellits Dynamic image comes from the data source below
    3. SnapRender Create Signed Screenshot URLGet data from an external API, url = Current cell's Site's url, width 1280, height 800, then signed_url

    Creating the links is free. Each image that loads opens its link and uses one capture, so page the group to a few rows, or save files with the first recipe for lists people browse all day.

  3. 4 steps · 1 capture per page, plus the AI provider's own charge

    Turn a page into Markdown for an AI step

    Read a page as Markdown and hand it to OpenAI or Claude to summarize a competitor's offer, pull out prices or answer a question about the page.

    1. Event When Button Analyze is clicked
    2. SnapRender Extract Contenturl = Input URL's value, type = markdown
    3. API Connector Your OpenAI or Claude callthe prompt includes Result of step 1's content
    4. Data Make changes to a thingsave the answer, or show it in a Text element

    Set up the AI call in Bubble's API Connector with your provider key in a private header and the page text as a body parameter. type = article keeps only the main text for a shorter prompt, and wordCount tells you how long it is.

  4. 3 steps · 1 capture per PDF

    Make a PDF of a page on a button click

    A Download PDF button that turns a page into a PDF the user can save: a report, an invoice page or a record of what a page showed.

    1. Event When Button Download PDF is clicked
    2. SnapRender Take Screenshoturl = the page, format = pdf, full_page = yes
    3. Navigation Open an external websiteDestination = Result of step 1, so the PDF opens in a new tab to save

    The PDF is also a file in your app, so a Make changes to a thing step can keep it on a record. Turn off block_cookie_banners and block_ads when the PDF must match exactly what a visitor saw.

The only setup is an API key

Sign up free, copy the key from your dashboard and paste it into the X-API-Key field of the plugin.

200 captures a month free, no card. Every plan works with the Bubble plugin.

Get a free API key

Good to know

How the plugin behaves inside an app, so pages and workflows go the way you expect.

  • Stored file or live link

    Take Screenshot saves a fixed copy in your app. A signed link renders the page again each time it opens. Store what people view often; link what must stay current.
  • Phone-sized captures

    Set width to 390 and height to 844. Add full_page for the whole page at phone width.
  • Free steps

    Creating a signed link and Get Usage use no captures. Failed captures are not counted either.
  • Long pages

    A full-page capture of a long page can be thousands of pixels tall. For thumbnails and previews, leave full_page off and keep the default 1280 x 800.
  • Slow pages

    If a page fills in after it loads, add a delay of 1,000 to 3,000 ms so the capture waits for it.
  • Watch your month

    Show Get Usage on an admin page: screenshots_used, screenshots_limit and screenshots_remaining for the current period.

SnapRender plans

The plugin is free and works on every plan, from free to $9 and up. Each screenshot, extraction or opened signed link uses one capture.

PlanPrice a monthCaptures a month
Free$0200
Starter$92,000
Growth$2910,000
Business$7950,000
Scale$199200,000

Yearly billing costs ten months of the monthly price. All plans.

Questions

What is the SnapRender Bubble plugin?

SnapRender Screenshot API is a free Bubble plugin that adds the SnapRender screenshot API to your app. Workflow actions turn any public web page into a PNG, JPEG, WebP or PDF file stored in your app, or read it as Markdown or text. Data sources create signed screenshot links for Image elements and show your plan usage.

What does it cost?

The plugin is free to install. Captures come from your SnapRender plan: Free $0 for 200, Starter $9 for 2,000, Growth $29 for 10,000, Business $79 for 50,000, Scale $199 for 200,000 captures a month. Each screenshot, extraction or opened signed link uses one capture; creating a signed link, checking usage and failed captures use none. Bubble counts its own workload units for each call on its side.

Can I take a phone-sized screenshot?

Yes. Version 1.0.0 has no device presets, so set width to 390 and height to 844 for a typical phone screen, and turn on full_page for the whole page at that width.

Is my API key visible to users of my app?

You paste the key once in the plugin settings in the editor, and the plugin sends it with each call. Signed screenshot links carry a signature instead of the key, so they are safe to put in an Image element that visitors see. To revoke access, delete or rotate the key in your dashboard.

Should I store the screenshot or use a signed link?

Store it with Take Screenshot when you want a fixed record of the page at that moment, or when the same image is shown many times. Use a signed link when you want a current preview: it renders fresh each time it is opened, and each open uses one capture.

Can it capture pages behind a login?

It captures public pages. If your own site shows a security check instead of the page, one firewall rule lets SnapRender through: see allow SnapRender on your site.

Can I call the API without the plugin?

Yes. The plugin is a shortcut for the REST API, so Bubble's API Connector with your key in an X-API-Key header reaches every endpoint, including batches and webhooks. The API reference lists them.

Put screenshots in your Bubble app

Install the free plugin, then paste a free API key. 200 captures a month, no card.