Official Go SDK, stdlib only

Screenshot API
for Go

Capture any website as PNG, JPEG, WebP, or PDF from Go. Zero external dependencies, full context support, and no Chrome binary anywhere near your Docker image.

200 free screenshots/month. No credit card required.

Go quickstart: screenshot with one client call

go get the official SDK, paste your API key, and capture. Standard library only.

Install
go get github.com/User0856/snaprender-go
main.go
package main

import (
    "context"
    "log"
    "os"

    snaprender "github.com/User0856/snaprender-go"
)

func main() {
    client := snaprender.NewClient("sk_live_your_key_here")

    img, err := client.Capture(context.Background(), "https://example.com", nil)
    if err != nil {
        log.Fatal(err)
    }
    os.WriteFile("screenshot.png", img, 0644)
}
Full page, dark mode, mobile device, cached
img, err := client.Capture(ctx, "https://example.com", &snaprender.CaptureOptions{
    Format:   "jpeg",
    FullPage: snaprender.Bool(true),
    DarkMode: snaprender.Bool(true),
    Device:   "iphone_15_pro",
    Cache:    snaprender.Bool(true),
})

Ads and cookie banners are blocked by default. The same client also handles signed URLs, content extraction, batch jobs, and webhooks.

Take a website screenshot in Go without chromedp

chromedp is the standard answer for browser automation in Go, but it controls a Chrome that has to exist on the machine. That single requirement undoes most of what makes Go deployments pleasant: your single static binary now ships inside an image with a full browser, system fonts, and shared libraries. A 10MB scratch image becomes an 800MB Debian image, and you maintain Chrome versions on every host that takes screenshots.

The SnapRender Go SDK keeps your binary self-contained. It is a stdlib-only HTTPS client: client.Capture(ctx, url, opts) sends one request, real Chrome renders the page on our servers with ads and cookie banners removed, and you get the image bytes back. Context cancellation and timeouts work exactly like the rest of your Go code, and the client is safe to share across goroutines, so fan-out captures are a simple errgroup away.

SnapRender SDK chromedp / rod
Chrome on the host Not needed Required, plus fonts and libs
Docker image size Scratch / distroless OK Hundreds of MB for the browser
go.sum footprint Zero dependencies CDP protocol packages
Cookie banners and ads Blocked by default Custom code per site
Browser crash recovery Handled for you Yours to build

Want to check the rendering quality first? Try the free website screenshot tool: same engine, no account needed.

Go screenshot API FAQ

How do I take a screenshot of a website in Go without chromedp?+

Install the official SDK with go get github.com/User0856/snaprender-go, create a client with your API key, and call client.Capture(ctx, url, nil). The page renders in real Chrome on SnapRender's servers and you receive the image bytes. Your Go binary stays a single static executable: no Chrome on the host, no DevTools protocol session management.

Does the Go SDK have external dependencies?+

No. The SDK uses only the Go standard library (net/http). Your go.sum does not grow, and your Docker image does not need a Chrome or Chromium layer, so scratch and distroless images keep working.

Does the Go screenshot SDK support context cancellation and timeouts?+

Yes. Every call takes a context.Context as its first argument, so you can apply timeouts, deadlines, and cancellation exactly the way you do with any other Go HTTP work. It is safe to call from multiple goroutines.

Can I capture full-page screenshots and PDFs in Go?+

Yes. Pass CaptureOptions with FullPage: snaprender.Bool(true) for the entire scrollable page, Format: "pdf" to save the page as a PDF, DarkMode for dark theme captures, and Device: "iphone_15_pro" for mobile emulation. Ads and cookie banners are blocked by default.

Is there a free tier for the Go screenshot API?+

Yes. The free plan includes 200 screenshots per month with every feature: all formats, full-page capture, device emulation, dark mode, and caching. No credit card is required to sign up.

Not writing Go today?

The same API has official quickstarts for other languages.

Keep your binary static, get your screenshots

go get, paste your key, capture. 200 free screenshots per month, no credit card.