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

Open Source

All SDKs are open source and available on GitHub:

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.

Was this page helpful?