Official SDKs

RenderScreenshot provides official SDKs to make integration easy in your preferred language.

Available SDKs

Language Package Status
Node.js / TypeScript renderscreenshot Available
Python renderscreenshot Available
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.

Was this page helpful?