Comparison  ·  June 2026

Open Source Screenshot API: All Options Compared (2026)

Short answer: In 2026, Openkova is the only actively maintained, OSI-approved open source screenshot API. Browserless is source-available but requires a commercial licence for production use. Screeenly and Screenia are MIT-licensed but effectively abandoned. Puppeteer and Playwright are open source libraries — not ready-made APIs.

What “open source” means for a screenshot API

The term “open source” is applied loosely in the developer tools space. Before comparing options, it is worth being precise about what each licence actually permits:

The distinction matters: a source-available tool with a commercial licence is not open source in the meaningful sense — you cannot scale it freely without paying.

The complete list of options

1. Openkova — MIT, actively maintained

Openkova is a Next.js-based screenshot API built on Puppeteer and headless Chromium. It is MIT-licensed, Docker-deployable, and accepts HTML snippets, file uploads, URLs, and depth-based crawl jobs.

Openkova is the only option on this list that is both OSI-approved open source and actively maintained with modern features. See the screenshot API overview for full documentation.

2. Browserless — source-available, commercial licence required

Browserless provides a Docker image and API for running headless Chrome remotely. The source is published on GitHub, but the licence is commercial — unrestricted self-hosting requires a paid plan.

Browserless is well-suited for full CDP browser automation — running arbitrary Puppeteer/Playwright scripts remotely. It is not a good fit if you need HTML snippet input, want zero licensing costs at scale, or are evaluating under OSI open source criteria. See the Browserless comparison.

3. Screeenly — MIT, unmaintained since 2020

Screeenly was a popular Laravel PHP screenshot API that ran well for several years. It wrapped wkhtmltopdf (and earlier PhantomJS) with a simple REST interface and Docker support.

Screeenly was a reasonable choice in 2018. It is not recommended for new projects in 2026. The wkhtmltopdf rendering engine produces visually incorrect output for any page using modern CSS, and the project is unmaintained.

4. Screenia — MIT, minimal, unmaintained

Screenia is a lightweight PHP screenshot API built on similar principles to Screeenly. It has minimal documentation, a small user base, and no recent activity on GitHub.

Not recommended. No active maintenance, no Docker support, outdated rendering engine.

5. Puppeteer — open source library, not an API

Puppeteer is Google's MIT-licensed Node.js library for controlling headless Chromium. It is the underlying engine that Openkova and Browserless use.

Puppeteer is excellent for scripting browser automation tasks. Using it as a screenshot API requires significant engineering — Openkova is the ready-made solution built on top of Puppeteer.

6. Playwright — open source library, not an API

Playwright is Microsoft's MIT-licensed cross-browser automation library (Chromium, Firefox, WebKit). Like Puppeteer, it is a library rather than a ready-made HTTP API.

Playwright is the better choice over Puppeteer for cross-browser testing. For a self-hosted screenshot API, Openkova (built on Puppeteer/Chromium) is the more appropriate starting point.

Side-by-side comparison

ToolTrue open source?Rendering engineHTML snippet inputPDF outputMaintained 2026Ready-made API
Openkova✓ MITChromium (Puppeteer)✓ Active
Browserless✗ BSL / commercialChromium (CDP)Via scriptVia script✓ Active
Screeenly✓ MITwkhtmltopdf (old WebKit)✗ 2020
Screenia✓ MITPhantomJS / wkhtmltopdf✗ Abandoned
Puppeteer✓ MITChromiumBuild itBuild it✓ Active✗ Library only
Playwright✓ MITChromium / Firefox / WebKitBuild itBuild it✓ Active✗ Library only

Rendering engine quality: why it matters

The rendering engine is the most important factor for screenshot quality. Modern web pages use CSS features that only work correctly in Chromium-based renderers:

CSS featureChromium (Openkova)wkhtmltopdf (Screeenly)PhantomJS (Screenia)
CSS Grid
CSS Custom Properties (variables)
CSS Flexbox (full spec)PartialPartial
Container Queries
Web fonts (Google Fonts, variable fonts)Limited
JavaScript execution
WebP output

For any page built in the last five years, only Chromium-based rendering will produce accurate screenshots. wkhtmltopdf and PhantomJS were deprecated for good reason.

Recommendation

If you are choosing an open source screenshot API for a new project in 2026:

Getting started

# Deploy Openkova with Docker Compose
docker compose up -d

# Take a screenshot from the terminal
npx @openkova/cli screenshot https://example.com

See the API documentation for full endpoint reference, or the Docker deployment guide for production configuration.

Frequently asked questions

What is an open source screenshot API?

An open source screenshot API is an HTTP service whose source code is published under an OSI-approved licence (MIT, Apache 2.0) that permits unrestricted self-hosting, modification, and commercial use without licence fees. It accepts URLs, HTML, or files and returns rendered images or PDFs.

Which open source screenshot APIs are actively maintained in 2026?

Openkova is the only actively maintained MIT-licensed screenshot API with full feature coverage. Screeenly and Screenia are MIT-licensed but abandoned. Browserless is maintained but source-available with a commercial licence, not OSI open source.

Is Browserless open source?

No — not under the OSI definition. Browserless publishes its source code but uses a commercial licence that requires payment for production use above a low free tier. Openkova (MIT) has no such restriction.

What rendering engine do open source screenshot APIs use?

Openkova and Browserless use headless Chromium via Puppeteer — the same engine as Chrome, with full modern CSS and JavaScript support. Screeenly uses wkhtmltopdf (outdated WebKit, no CSS Grid, no custom properties), making it unsuitable for modern pages.

Can I use Puppeteer as a screenshot API?

Puppeteer is a library, not an API. Building a production-ready screenshot API on top of Puppeteer requires an HTTP server, concurrency management, Docker packaging, and ongoing maintenance. Openkova is MIT-licensed and does this already — fork it instead of building from scratch.

The only actively maintained open source screenshot API

MIT-licensed. Docker-deployable. No licence fees at any scale.

View on GitHub