Official SDKs
RenderScreenshot provides official SDKs to make integration easy in your preferred language.
Step by step: Use an SDK or the CLI walks through this task with screenshots of every step.
Available SDKs
| Language | Package | Status |
|---|---|---|
| Node.js / TypeScript | renderscreenshot |
Available |
| Python | Render-Screenshot/rs-python |
pip install renderscreenshot |
| PHP | renderscreenshot/renderscreenshot |
Available |
| Java | com.github.Render-Screenshot:rs-java |
Available |
| Ruby | renderscreenshot |
Available |
| Go | github.com/Render-Screenshot/rs-go |
Available |
Why Use an SDK?
- Type safety - Full TypeScript/type hints support
- Fluent API - Chainable option builder for clean code
- Built-in helpers - Webhook verification, signed URL generation
- Error handling - Structured errors with retry information
- Less boilerplate - Focus on your app, not HTTP requests
Quick Example
Java
import com.renderscreenshot.sdk.Client; import com.renderscreenshot.sdk.TakeOptions; Client client = new Client("rs_live_xxxxx"); // Take a screenshot with chained options byte[] image = client.take( TakeOptions.url("https://example.com") .preset("og_card") .blockAds() .darkMode() );
Node.js
import { Client, TakeOptions } from 'renderscreenshot'; const client = new Client('rs_live_xxxxx'); // Take a screenshot with chained options const image = await client.take( TakeOptions.url('https://example.com') .preset('og_card') .blockAds() .darkMode() );
PHP
use RenderScreenshot\Client; use RenderScreenshot\TakeOptions; $client = new Client('rs_live_xxxxx'); // Take a screenshot with chained options $image = $client->take( TakeOptions::url('https://example.com') ->preset('og_card') ->blockAds() ->darkMode() );
Python
from renderscreenshot import Client, TakeOptions client = Client('rs_live_xxxxx') # Take a screenshot with chained options image = client.take( TakeOptions.url('https://example.com') .preset('og_card') .block_ads() .dark_mode() )
Ruby
require 'renderscreenshot' client = RenderScreenshot.client('rs_live_xxxxx') # Take a screenshot with chained options image = client.take( RenderScreenshot::TakeOptions .url('https://example.com') .preset('og_card') .block_ads .dark_mode )
Go
import rs "github.com/Render-Screenshot/rs-go" client, _ := rs.New("rs_live_xxxxx") // Take a screenshot with chained options image, _ := client.Take(context.Background(), rs.URL("https://example.com").Preset("og_card").BlockAds().DarkMode(), )
SDK Documentation
- Node.js SDK Reference - Full documentation for the Node.js/TypeScript SDK
- Python SDK Reference - Full documentation for the Python SDK
- PHP SDK Reference - Full documentation for the PHP SDK
- Java SDK Reference - Full documentation for the Java SDK
- Ruby SDK Reference - Full documentation for the Ruby SDK
- Go SDK Reference - Full documentation for the Go SDK
Open Source
All SDKs are open source and available on GitHub:
- rs-node - Node.js/TypeScript
- rs-python - Python
- rs-php - PHP
- rs-java - Java
- rs-ruby - Ruby
- rs-go - Go
REST API
Don't see your language? You can always use the REST API directly with any HTTP client.
To test code that uses an SDK without spending credits, see testing SDK code.