API directory
Website Screenshot APIs: Compare Capture, Output & Limits
Compare website screenshot APIs by image response, Base64 or download URL, full-page controls, waits and documented billing qualifications.
Choose a screenshot request and an image-handling workflow.
- Choose the output your application can consume: direct image bytes, Base64 inside JSON, or a separate image-download URL. These require different response handlers.
- Decide whether the viewport, a full page or one element is required, then set a readiness condition for the expected content. A captured image can still show a loading or error page.
- Check rendering, image-loading and download restrictions before estimating cost. This comparison covers the reviewed scraping API catalog; dedicated screenshot services are outside its scope.
This collection covers our reviewed proxy and web-data catalog. It is not an exhaustive market survey or a performance ranking.
Category reviewed . Review due .
Choose the request and check the result
Use these documented differences to shortlist a setup. The full records and billing qualifications follow below. Go to filters and full records.
Swipe or scroll horizontally to compare request choices, checks and constraints.
| API / task | Request choice | What to check | Cost or constraint |
|---|---|---|---|
| Firecrawl API Image URL returned with the selected page formats. | Include a formats object with type: screenshot; set fullPage when the viewport alone is insufficient. Actions can wait or interact before capture. | Read data.screenshot in the HTTP response and download the image. The documented screenshot link expires after 24 hours; retain your own copy when needed. | Screenshots are incompatible with zeroDataRetention: true. Base credits and enabled options apply; a returned target error page can still be billable, so inspect target status and captured content. |
| Nimble Extract API Full-page PNG alongside other requested formats. | Request formats: ["screenshot"]. Other formats can be requested in the same extraction. | Decode the Base64 PNG. The documentation alternates between data.screenshots and data.screenshot; validate the actual response shape for your API or SDK version before writing a decoder. | Screenshot output automatically enables JavaScript rendering and may change driver pricing. Do not assume the generic extraction starting rate covers every screenshot request. |
| Oxylabs Web Scraper API PNG capture through the scraping request interface. | Set render: png on a Web Scraper API request. render: html selects rendered markup instead of a screenshot. | The documented screenshot is Base64-encoded PNG. Decode the returned content and verify the required page region; browser instructions can run before the result. | This is a returned scrape result. A separate Headless Browser product serves persistent browser control. A universal screenshot price or viewport/full-page contract was not verified here. |
| ScrapeOps Proxy API Aggregator Base64 capture inside a JSON response. | Supply screenshot=true, render_js=true and json_response=true together. wait_for and wait can delay capture for the target content. | Decode the returned Base64 screenshot and verify its content. The reviewed feature list does not establish a full-page or element-crop contract. | Rendering and proxy/bypass options affect credits. The billing policy counts HTTP 404 as billable, so check the target result rather than accepting HTTP success alone. |
| Scrapfly Scrape API Named full-page or element captures with authenticated downloads. | Use a GET scrape with render_js=true and named captures such as screenshots[all]=fullpage or a CSS selector. Set screenshot_flags=load_images when page images matter. | Require the requested result.screenshots.<name>.url before downloading with the documented authentication. Screenshots are ignored on a cache HIT; reject a missing image and inspect cache and selector outcomes. | This feature supports GET requests only. Images are not loaded by default; rendering, downloaded images and selected request options affect credits. Save downloaded bytes rather than treating the authenticated URL as a public asset. |
| ScrapingBee HTML API Choose an image response or HTML and image together. | Set screenshot=true with render_js=true. Use screenshot_full_page=true for the whole page or screenshot_selector for a CSS region. | The ordinary screenshot response is image data. json_response=true returns HTML and a Base64 screenshot together. Set wait_for, wait or wait_browser for the content you need. | Screenshot capture unblocks images and CSS. Rendering and proxy choices determine credits; an image of a loading or error page is not a successful capture for your task. |
| Thordata Universal Scraping API PNG output selected on the form-encoded request. | POST the URL with type=png and js_render=True, as in the documented PNG example. HTML is the default output. | Use the documented wait or wait_for control when needed. Validate the response encoding in your client; this parameter reference does not establish a binary-versus-Base64 envelope. | Screenshot-specific pricing and capture dimensions were not verified. wait_for can time out and still return content, so inspect the captured page before accepting it. |
| Zyte API Base64 screenshot with explicit format and capture scope. | Send screenshot: true. Choose screenshotOptions.format (jpeg or png); fullPage defaults to false. | Decode the screenshot field from Base64. Full-page capture requires JPEG and is clipped at 5,000 × 10,000 pixels; inspect action outcomes as well as the image. | Screenshots add a charge to the target/browser request price. Capture occurs after actions complete or time out, so a returned image can still show an unfinished task. |
Compare documented requirements
8 of 8 listingsSwipe or scroll horizontally to compare requirements. Scroll back to the first column to see listing names.
| API / service | Interface & output | Documented behavior | Billing & restrictions | Evidence |
|---|---|---|---|---|
| Firecrawl APIFirecrawl · official publisher Compare Firecrawl Markdown, HTML and JSON extraction, cache settings and credit charges. Choose a request format and check target status before accepting data. Details & setup →Sourced JSON record | HTTP API markdown, HTML, JSON, screenshot Scraping API |
| Credits per returned page, with option charges. An ordinary scrape is 1 credit; schema-guided JSON adds 4. Account plans and anonymous limits are separate. Check detailed billing before enabling extra options. Requirements & limitations
| Documentation checkedReview due 8 source references
|
| Nimble Extract APINimble · official publisher Fetch HTML, Markdown and screenshots with configurable rendering, CSS parsing, browser actions and asynchronous batches. Details & setup →Provider discussionSourced JSON record | HTTP API HTML, JSON, markdown, PNG Scraping API |
| Successful URL extractions; public API pricing lists USD 1 per 1,000 URLs for Extraction Tools. Requirements & limitations
| Documentation checkedReview due 4 source references
|
| Oxylabs Web Scraper APIOxylabs · official publisher Fetch public pages or use dedicated target parsers, with rendered HTML and asynchronous batch delivery. Details & setup →Provider discussionSourced JSON record | HTTP API HTML, JSON, PNG Scraping API |
| Product-specific plan and target rates; exact costs and failed-request rules were not verified in this pilot. Requirements & limitations
| Documentation checkedReview due 4 source references
|
| ScrapeOps Proxy API AggregatorScrapeOps · official publisher Route scraping requests across upstream services, with rendering, proxy-pool and extraction options. Details & setup →Provider discussionSourced JSON record | HTTP API HTML, JSON, markdown, screenshot Scraping API |
| Monthly API credits determined by target and options; HTTP 200 and 404 responses consume credits. Requirements & limitations
| Documentation checkedReview due 4 source references
|
| Scrapfly Scrape APIScrapfly · official publisher A scraping API with managed rendering, JavaScript scenarios and configurable anti-blocking options. Details & setup →Provider discussionSourced JSON record | HTTP API HTML, JSON, screenshot Scraping API |
| API credits per scrape; proxy network, rendering and protection settings affect consumption. Requirements & limitations
| Documentation checkedReview due 4 source references
|
| ScrapingBee HTML APIScrapingBee · official publisher Fetch rendered pages, apply CSS extraction rules or run browser scenarios through an HTTP API. Details & setup →Provider discussionSourced JSON record | HTTP API HTML, JSON, markdown, text, screenshot Scraping API |
| Monthly API credits; rendering and proxy tier determine base credits, with AI extraction add-ons. Requirements & limitations
| Documentation checkedReview due 1 source references
|
| Thordata Universal Scraping APIThordata · official publisher An HTTP endpoint for HTML or PNG results with optional JavaScript rendering and resource controls. Details & setup →Provider discussionSourced JSON record | HTTP API HTML, PNG Scraping API |
| Not verified; request multipliers, failed-request billing and plan pricing require further evidence. Requirements & limitations
| Documentation checkedReview due 1 source references
|
| Zyte APIZyte · official publisher Choose HTTP response bodies, rendered HTML, screenshots or supported structured extraction in one API. Details & setup →Provider discussionSourced JSON record | HTTP API HTML, JSON, screenshot Scraping API |
| Successful responses, priced by target and HTTP/browser tier, with feature add-ons. Requirements & limitations
| Documentation checkedReview due 4 source references
|
How to use this comparison
Prepared by WPS directory editorial from the linked primary documentation.
Compare the documented request interface, output and account product before checking price. A JSON response can contain raw HTML; it does not by itself establish structured extraction. A browser action in one request does not by itself establish a reusable browser session.
Each row keeps the publisher’s billing basis and restrictions alongside its sources. Unknown prices or limits remain unknown. These are documentation reviews; no live connection, purchase or comparative performance test is claimed.
Review dates show when the documentation was checked. Overdue records remain visible with a label; recheck those sources before choosing a service.
The collection JSON link covers the whole category before filters.
Suggest a correction · Affiliate disclosure · Collection JSON records