- Home
- Integrations
- 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
When Button Save is clicked
Event
Step 1: Take Screenshot
SnapRender plugin
url: Input URL's value · format: png
Step 2: Make changes to Site
Data
screenshot = Result of step 1
Image element shows the file
Design tab
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.
- 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. - Install the plugin
In the Bubble editor, open the Plugins tab, select Add plugins, search SnapRender and install SnapRender Screenshot API.
- Paste the key
Still in Plugins, select the SnapRender plugin and paste your key into the
X-API-Keyfield. - 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.
| Call | Fields | Returns | Captures |
|---|---|---|---|
| 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
|
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
|
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
|
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.
-
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.
- Event When Button Save is clicked
- SnapRender Take Screenshoturl = Input URL's value, format =
png - 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.
-
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.
- Repeating group Type of content SiteData source = Do a search for Sites
- Image element Placed in the cellits Dynamic image comes from the data source below
- 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.
-
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.
- Event When Button Analyze is clicked
- SnapRender Extract Contenturl = Input URL's value, type =
markdown - API Connector Your OpenAI or Claude callthe prompt includes Result of step 1's
content - 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=articlekeeps only the main text for a shorter prompt, andwordCounttells you how long it is. -
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.
- Event When Button Download PDF is clicked
- SnapRender Take Screenshoturl = the page, format =
pdf, full_page = yes - 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.
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
Setwidthto 390 andheightto 844. Addfull_pagefor 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, leavefull_pageoff and keep the default 1280 x 800.Slow pages
If a page fills in after it loads, add adelayof 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_limitandscreenshots_remainingfor 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.
| Plan | Price a month | Captures a month |
|---|---|---|
| Free | $0 | 200 |
| Starter | $9 | 2,000 |
| Growth | $29 | 10,000 |
| Business | $79 | 50,000 |
| Scale | $199 | 200,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.