Scientific Computing

Capture screenshots in Julia

Add screenshot and scrolling GIF capabilities to your Julia workflows with HTTP.jl. Fast like C, expressive like Python, no headless browsers to manage.

Installation

  1. 1Add HTTP.jl: using Pkg; Pkg.add("HTTP")
  2. 2Get your API key from the dashboard
  3. 3Set the X-KEY header in your requests

Authentication

Include your API key in the X-KEY header with every request:

using HTTP

response = HTTP.get(url,
    ["X-KEY" => "your-api-key"]
)

Julia Screenshot Example

Capture a screenshot or create a scrolling GIF animation with a simple GET request:

Screenshot
using HTTP

response = HTTP.get(
    "https://api.scrnpix.com/screenshot?url=https%3A%2F%2Fexample.com&width=1280&height=720&format=png",
    ["X-KEY" => "your-api-key"]
)

write("screenshot.png", response.body)
Animation
using HTTP

response = HTTP.get(
    "https://api.scrnpix.com/animate?url=https%3A%2F%2Fexample.com&scroll_duration=3000&scroll_easing=ease-in-out",
    ["X-KEY" => "your-api-key"]
)

write("animation.gif", response.body)

Response Format

On success, the API returns the image binary data directly in the response body.

Status Code200 OK
Content-Typeimage/png, image/jpeg, or image/gif
BodyBinary image data (Vector{UInt8})
Error ResponseError message with 4xx/5xx status

Key Features

Zero Setup

No need to install WebDriver or browser bindings. Just use HTTP.jl for simple HTTP calls.

Production Ready

Built on Cloudflare Workers with global edge network. Handles concurrency and browser lifecycle automatically.

Julia Integration

Multiple dispatch and macros. Integrates seamlessly with Pluto, Genie, or any Julia workflow.

Rich Features

Custom viewport sizes, full page capture, PNG/JPEG formats, scrolling GIFs with 15 easing functions.

Frequently Asked Questions

Do I need to install any browser dependencies for Julia?

No. Scrnpix runs browsers on our infrastructure. You only need HTTP.jl to make HTTP calls.

Can I use this with Pluto notebooks?

Yes. Scrnpix works with any Julia environment — Pluto notebooks, Genie web apps, or plain Julia scripts.

How do I handle errors in Julia?

Check the response status with HTTP.status(). A 200 status means success with image bytes in HTTP.body(). Use try-catch for error handling.

What Julia version is required?

Julia 1.6+ with HTTP.jl support. The API is a simple HTTP GET request.

Ready to capture screenshots in Julia?

Get your API key and start rendering screenshots in seconds. Free tier includes 50 screenshots per month.

Start Free