screenshotrun vs CaptureKit: Screenshot API Comparison for Developers
CaptureKit and screenshotrun solve a similar problem but build the product in different directions. CaptureKit is screenshots plus content extraction plus AI-powered page analysis: three APIs in one for $7 a month. screenshotrun is screenshots only, but with deeper control: CSS/JS injection, dark mode, authenticated captures, HTML/Markdown input, and six output formats.
Below is a detailed comparison on features, pricing, and security, with honest admissions where CaptureKit does it better. I built screenshotrun, so read with that context — every claim here is checkable against both APIs' public docs.
screenshotrun vs CaptureKit: feature overview
| Category | screenshotrun | CaptureKit |
|---|---|---|
| Free tier | 200/mo, no credit card | 100/mo, no credit card |
| Starting paid plan | $9/mo for 3,000 | $7/mo for 1,000 |
| Output formats | PNG, JPEG, WebP, AVIF, TIFF, PDF | PNG, JPEG, WebP, PDF |
| Full-page capture | Yes | Yes, with auto-scroll for lazy loading |
| HTML/Markdown to image | Yes | No (URL-only) |
| Dark mode | Yes | No |
| Wait-for-selector | Yes | Yes |
| CSS/JS injection | Yes | No |
| Custom headers/cookies | Yes | No |
| Cookie/ad/chat blocking | Separate toggles per type | Cookie banner removal only |
| Click before capture | Yes | No |
| Webhook delivery | Yes | Not documented in API |
| MCP server | Yes, first-party | No |
| Content extraction API | No | Yes (HTML, metadata, links, Markdown) |
| AI webpage analysis | No | Yes (summarization, categorization) |
| Authentication | Bearer token (header) | API key (query parameter or header) |
Similar products on the surface, different priorities underneath. CaptureKit bundles screenshots with page data extraction and AI analysis. screenshotrun focuses on the screenshot itself — more parameters, more formats, more control over what the final image looks like.
Where the screenshot parameter gap shows up
CaptureKit covers the basics well: viewport sizing, full-page mode, element selection, wait-for-selector, device emulation with 17+ presets, retina, and caching. Their full_page_scroll parameter is a smart touch — it scrolls the page automatically before taking the screenshot, so images that only load when you scroll down (lazy-loaded images) actually show up in full-page captures. I respect the engineering behind that one. Most screenshot APIs miss this, and developers end up writing their own scroll scripts to work around it.
Past the basics, options thin out. CaptureKit doesn't let you inject custom CSS or JavaScript. Say you need to hide a sticky header before the screenshot, change a font size, or swap a background color — you'd have to modify the page itself or build a browser extension. With screenshotrun, you just pass a css or js parameter in the API call and the changes apply before capture.
Custom headers and cookies aren't supported either. That's a problem if you need to screenshot pages behind a login. Most teams capture internal dashboards, test environments, or gated content by passing a session cookie or an authorization header with the request. Without that option, CaptureKit can only capture publicly accessible pages.
The gaps keep adding up. There's no dark mode toggle to force dark color schemes, no way to click a button before the screenshot (useful for closing popups or expanding sections), and ads plus live chat widgets stay in the image. CaptureKit removes cookie banners, but that's where blocking stops. screenshotrun has separate toggles for ads, chat widgets, and cookie banners.
There's also an input limitation. CaptureKit only works with URLs. If you want to generate an OG image from an HTML template or turn a Markdown file into a PNG, you'd need to host that markup at a public URL first. screenshotrun accepts raw HTML and Markdown directly — no hosting step needed.
API authentication: a security detail worth noticing
By default, CaptureKit puts your API key right in the URL: ?access_key=YOUR_KEY. The problem is that URLs get saved in server logs, browser history, CDN caches, and referrer headers. I've seen API keys show up in Cloudflare logs weeks after they were rotated because old cached URLs still carried the key. Anyone with access to those logs sees your key in plain text.
CaptureKit does support passing the key via an x-access-key header instead, which is safer. But the docs show the URL approach first, and most developers just copy the first example they see.
screenshotrun uses Authorization: Bearer headers only. Your key never appears in URLs. Seems like a small thing, but when API keys are tied to billing, keeping them out of URLs is just good practice.
CaptureKit pricing vs screenshotrun: more tiers, different math
| Volume | screenshotrun | CaptureKit | Difference |
|---|---|---|---|
| Free | 200/mo | 100/mo | screenshotrun: 2x more free screenshots |
| ~1,000/mo | $9/mo (3,000 included) | $7/mo (1,000 included) | CaptureKit: $2/mo cheaper entry, but 3x fewer screenshots |
| ~3,000/mo | $9/mo | $29/mo (Pro plan, 10K included) | screenshotrun: 3.2x cheaper for this volume |
| 10,000/mo | $29/mo | $29/mo | Same price, same volume |
| 50,000/mo | $99/mo | $89/mo | CaptureKit: $10/mo cheaper at high volume |
CaptureKit's $7 starting price looks great until you count what you get for it: 1,000 screenshots per month. screenshotrun's $9 plan includes 3,000. Per screenshot, that's $0.003 versus $0.007 — less than half the cost per capture.
At 10,000 screenshots per month, both cost $29. Identical. Above that, CaptureKit pulls ahead: $89 versus $99 for 50K. The $10 difference adds up over a year, but what's included in each plan matters too.
One thing worth knowing: CaptureKit locks stealth mode, S3 upload, and GPU rendering behind the Pro plan. screenshotrun includes every feature on every plan, free tier included. Check which features you'd actually use before picking a tier.
Content extraction and AI: what CaptureKit offers that screenshotrun doesn't
This is where CaptureKit really stands apart. Beyond screenshots, it can pull structured data from any URL: the page title, description, outbound links, OpenGraph tags, even a clean Markdown version of the content. On top of that, their AI API can summarize a page, sort it into a category, or detect things like purchase intent and contact information.
screenshotrun doesn't do any of this. It takes screenshots and generates PDFs. That's the whole product.
If you need both screenshots and page data from the same URLs, CaptureKit's all-in-one approach makes life easier. One account, one bill, one API key. Teams building lead generation tools or content analysis workflows will get real value from the extraction and AI layers — a pure screenshot API simply can't do that part.
The real question is whether you actually need the bundle. If screenshots are the only job, you're paying for extraction and AI capacity that sits unused. If you need both, it's worth checking whether CaptureKit's screenshot parameters are enough for your use case, or whether the gaps in capture control justify using two separate services.
CaptureKit wins when the job goes beyond screenshots
CaptureKit makes more sense for teams that need:
- Page data alongside screenshots: pull titles, descriptions, links, and clean HTML from the same pages you're capturing. One API call, two jobs done.
- AI page analysis: automatically summarize pages, sort them into categories, or detect purchase intent. Handy for lead gen and competitive research.
- Smart lazy-loading handling: the
full_page_scrollparameter scrolls the page before capturing, so images that load on scroll actually show up. Most competitors miss this. - Cheaper at high volume: at 50,000+ screenshots per month, CaptureKit saves $10/mo compared to screenshotrun. Over a year, that's $120.
- Direct S3 upload: screenshots go straight to your cloud storage without a download-then-upload step (Pro plan and above).
Where screenshotrun pulls ahead on capture control
If the main job is "take a screenshot and make it look right," screenshotrun covers things CaptureKit doesn't:
- More capture controls: dark mode, CSS/JS injection, click a button before capture, transparent backgrounds, block ads, block chat widgets, full-page capture. For teams that take a lot of screenshots, these aren't nice-to-haves. They're the checklist.
- Screenshots behind login: pass session cookies and auth headers directly in the API call. Internal dashboards, test environments, paywalled content — CaptureKit can't reach any of these.
- HTML and Markdown as input: send raw HTML or Markdown, get an image back. Great for OG images, invoices, documentation. No need to host anything at a public URL first.
- Six output formats: PNG, JPEG, WebP, AVIF, TIFF, and PDF. AVIF takes a bit longer to encode, but the file size savings add up fast when you're generating thousands of thumbnails a day.
- Cheaper at low and mid volume: 200 free captures per month (CaptureKit gives 100), and $9/mo gets you 3,000 screenshots versus 1,000 for $7/mo. The per-screenshot math favors screenshotrun until you cross 50K/mo.
- API keys stay out of URLs: Bearer token only. Your credentials don't end up in server logs, CDN caches, or referrer headers.
- Built-in MCP server for AI tools. Claude, Cursor, and GPT-based agents can request screenshots directly without writing HTTP wrapper code.
Every feature on every plan. 200 free screenshots.
Try screenshotrun freeThe short version
CaptureKit is a wider platform: screenshots, page data extraction, AI analysis, S3 uploads. If your workflow needs all of that, one vendor keeps things simple. The $7 entry price is hard to beat for light usage.
screenshotrun is a more focused tool that goes deeper on the screenshot itself. Dark mode, CSS injection, captures behind login, HTML/Markdown input, six formats, and every feature on every plan. If screenshots are the main job, the extra controls matter more than the extras CaptureKit bundles in.
Both have free tiers, no credit card needed. Get an API key from each, run the same five URLs through both, and compare the results side by side. Fifteen minutes of testing tells you more than any comparison page — this one included.
For a wider look at the market, see the best screenshot API 2026 roundup. If you're also considering metadata-focused APIs, the Microlink comparison covers that angle. And if you're weighing managed APIs against running your own browser, the Playwright vs screenshot API guide breaks it down.