ScreenshotNeo

BlogComparisons

PDFShift vs Browserless for Website Screenshots and PDFs

Compare PDFShift’s conversion focus with Browserless’s browser automation tools, output controls, costs, and tradeoffs for screenshots and PDFs.

By the ScreenshotNeo team4 October 202611 min read

Short answer: Choose PDFShift when your main task is converting HTML or a webpage into a PDF, with screenshots and Open Graph images also among its listed uses. Choose Browserless when rendering is one step in a broader browser workflow that may need screenshots, PDFs, scraping, sessions, or browser control. For a screenshot-focused API with consent cleanup and clear billing outcomes, ScreenshotNeo is the alternative to try first: ScreenshotNeo removes known consent banners, popups, and chat widgets before capture, and does not bill bot checks, blank pages, or failed loads.

This comparison uses vendor documentation and pricing pages, not hands-on tests. There is no substantiated head-to-head speed, visual-quality, reliability, or total-cost winner in the evidence reviewed. Check current plans and run your own representative pages before committing.

1. The core difference: conversion service or browser platform?

Question PDFShift Browserless
Primary scope Focused HTML-to-PDF conversion. Its documentation also lists screenshots and Open Graph image generation. Screenshot and PDF endpoints within a wider browser automation platform that also documents scraping, downloads, custom functions, sessions, and other browser tasks.
Typical request Submit a URL or HTML and receive a converted document. Use a stateless REST endpoint for a single action, or choose session, function, or WebSocket options for broader browser workflows.
Best fit Invoices, reports, web-page exports, and similar document rendering jobs. Jobs where rendering is combined with interaction, state, scraping, or browser automation.
Cost basis established here Published credits based on generated output size, with free-tier limits. No comparable current price facts were verified in this research pass.

PDFShift says it handles HTML documents, web pages, Canvas output, and frameworks or libraries including React, Vue, ChartJS, and D3.js. Its FAQ says raw HTML can be submitted without making the page public. Browserless accepts a URL or raw HTML for its screenshot and PDF REST endpoints.

Browserless REST is stateless and single-action: the service launches a browser, runs the requested task, and closes the session. Cookies and page state do not carry over to the next REST request. If a workflow needs to log in, click through multiple pages, or retain state, investigate Browserless sessions or its function and WebSocket options.

2. Screenshot output and PDF output are different

A screenshot is an image of rendered pixels. A print-rendered PDF is a paginated document that can contain selectable text. They solve different problems: use an image when you need a visual snapshot, and a PDF when readers need a document they can search, select, print, or annotate.

Browserless screenshot controls

Browserless documents viewport and full-page screenshots, element selection, clipping, output type, quality, and transparent backgrounds. It also documents waits for images and fonts, which can help avoid captures taken before those resources finish loading.

Browserless PDF controls

Browserless PDFs use Chrome’s print pipeline, including print stylesheets. Documented settings include page format, orientation, margins, printed backgrounds, page ranges, and headers and footers. The source page’s CSS, fonts, images, print rules, and loading behavior all affect the result.

The REST /pdf endpoint produces selectable text, but it does not create a single continuous page spanning the entire webpage. Browserless points to its function API for that customized output. Its documentation also says tagged output is not certified PDF/UA; accessibility depends on the source markup.

PDFShift rendering considerations

PDFShift is aimed at conversion and describes support for web pages, HTML, Canvas, and common rendering libraries. Its published feature descriptions include CSS and JavaScript injection and header/footer options. As with any renderer, check the output for pages with delayed content, custom fonts, large images, or print-specific styles.

3. What each service request looks like

Use the exact endpoint, authentication method, and request options in the vendor documentation for your account and use case. These minimal examples illustrate the documented URL-to-output workflows; they intentionally avoid guessing authentication details or optional parameter names that can change.

PDFShift: submit a URL for PDF conversion

PDFShift’s official homepage demonstrates posting a source URL to its conversion endpoint. Consult its current API documentation for the endpoint and authentication values associated with your account before running a request.

curl -X POST \
  -u "YOUR_API_KEY:" \
  -d "source=https://example.com" \
  https://api.pdfshift.io/v3/convert/pdf \
  -o output.pdf

For a private page, PDFShift says raw HTML can be submitted without publishing that page. Use the documented raw-HTML request format for your API version rather than assuming a URL is publicly accessible to the service.

Browserless: request a PDF

Browserless documents its REST API and PDF endpoint. The example below shows the endpoint pattern and output destination; confirm your account token and supported request fields in the current PDF API documentation.

curl -X POST \
  "https://production-sfo.browserless.io/pdf?token=YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"url":"https://example.com"}' \
  -o output.pdf

Browserless: request a screenshot

Use the screenshot endpoint when the deliverable is an image. Set screenshot options according to the current endpoint documentation, especially when you need full-page output, a selector, clipping, a specific image format, or a transparent background.

curl -X POST \
  "https://production-sfo.browserless.io/screenshot?token=YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"url":"https://example.com"}' \
  -o screenshot.png

Browserless also accepts raw HTML for screenshot and PDF requests. Use the vendor’s current request schema to submit HTML and any associated options.

4. Pricing and how to compare total cost

PDFShift publishes up to 50 free credits per month. Its pricing page says one credit covers up to 5 MB of generated data, the free tier has a 15 MB maximum file size, and free-tier requests have a 30-second timeout. The FAQ gives a 14 MB PDF as an example that uses three credits. A document is therefore not necessarily one credit.

PDFShift’s FAQ describes a Boost plan at $24 per month for 2,500 credits and $0.03 per overage credit. Treat those as vendor-published figures that should be checked against the live pricing page and calculator before purchase. The FAQ also says the average customer uses 1,250 credits per month; that is a vendor statement, not an independent usage statistic.

No comparable Browserless price was verified for this comparison, so a price winner cannot be named. Compare equivalent workloads using the current plan terms for both services:

  1. Estimate monthly requests, typical page count, and the share of large outputs.
  2. For PDFShift, estimate credits from generated file size, including oversized documents that use multiple credits.
  3. For Browserless, check current plan limits and the costs of any concurrency, session, deployment, or other capabilities your workflow requires.
  4. Render the same representative pages with the same output requirements, then compare resulting bills and operational effort.

Do not compare a PDFShift credit directly with a Browserless request unless the current plans define those units and limits on an equivalent basis.

5. Which one should you choose?

Choose PDFShift when

  • Your main deliverable is a PDF converted from a URL or HTML.
  • You want a conversion-focused service and its documented output-size credit model fits your file sizes and volume.
  • You need to render HTML that is not publicly hosted and can submit it in the supported raw-HTML format.

Choose Browserless when

  • A screenshot or PDF is one step in a larger browser automation or scraping task.
  • Your workflow needs browser sessions, persistent state, functions, or other documented browser controls.
  • You need its documented screenshot or print-PDF controls and can work within the current plan and request model.

Try ScreenshotNeo first for screenshot API work

ScreenshotNeo is a website screenshot API and MCP server. Its request model is one GET call with a URL, and it can return PNG, JPEG, WebP, or PDF. It is the first alternative to try for screenshot jobs because known consent platforms, newsletter popups, and chat widgets can be removed before capture, and only clean shots are billed. Its responses identify page outcomes with X-Page-Verdict and X-Billed headers.

ScreenshotNeo includes full-page capture with lazy images loaded, CSS selector capture, dark mode, 12 device presets and custom viewports, retina scale, PDF settings, custom CSS and JavaScript, click-before-capture, hide selectors, selector or network-idle waits, request blocking, headers, cookies, user agent and Authorization, timezone and geolocation, transparent backgrounds, resizing, configurable cache TTL, signed public image links, asynchronous jobs with signed webhooks, batches of up to 100 URLs, a usage API, and an OpenAPI spec. Each cleanup step can be turned off. Its MCP server exposes take_screenshot, get_page_info, and capture_pdf for Claude, Cursor, and other MCP clients.

All features are on every plan: Free includes 1,000 shots per month with no card; Starter is $5 for 3,000, Growth $15 for 15,000, Pro $39 for 60,000, Scale $99 for 250,000, and Business $249 for 1,000,000. Yearly billing gives two months free.

Or skip the browser setup

Make one request to capture a URL. See the ScreenshotNeo API documentation for the full parameter list and options.

curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://stripe.com -o shot.webp
import requests
r = requests.get("https://api.screenshotneo.com/v1/shot", params={"access_key": "YOUR_API_KEY", "url": "https://stripe.com"}, timeout=90)
open("shot.webp", "wb").write(r.content)
const q = new URLSearchParams({ access_key: 'YOUR_API_KEY', url: 'https://stripe.com' });
const res = await fetch(`https://api.screenshotneo.com/v1/shot?${q}`);
  • Cookie banners, popups, and chat widgets are removed before the shot.
  • Bot checks, blank pages, and failed loads are never billed.
  • An MCP server lets AI agents take screenshots.
  • 1,000 screenshots a month are free with no card; paid plans start at $5 for 3,000.

Create a free ScreenshotNeo account for 1,000 screenshots a month with no card.

6. Reliability, privacy, and performance

There are no independently substantiated head-to-head speed, quality, or reliability figures in the reviewed material. PDFShift’s homepage publishes company figures including a 1.5-second average conversion time and 99.99% uptime, without a methodology or year on the page reviewed. Its FAQ separately states 99.9% customer-experienced uptime. Those are vendor claims, and the uptime figures differ; they do not establish comparative reliability.

PDFShift’s FAQ says it does not store requests or generated documents. It also says use of its filename option stores output in Amazon S3, and describes the option to send documents to a customer’s own S3 storage. Treat these as PDFShift’s statements, not an independent privacy audit. Check current terms and the exact storage behavior for the feature you use.

Browserless’s REST model starts a browser for one task and closes it afterward, with state discarded. That is convenient for isolated captures but means each action that needs shared cookies or page state requires an appropriate session or stateful workflow. Check current Browserless deployment and plan documentation for the reliability and operational terms that apply to your account.

For either service, performance depends on the page: scripts, network latency, font and image loading, page length, and print layout all affect completion and output size. Wait for the resources your result depends on, avoid unnecessary full-page or oversized output, and use a representative workload when estimating latency and cost. No single timing from a vendor homepage predicts your own pages.

7. Troubleshooting common problems

Symptom Likely cause What to do
PDF is missing images or uses fallback fonts Images or web fonts had not loaded when capture began, or the resources were inaccessible. Check that the rendering service can reach each resource. Use the documented image/font waits where available, and inspect the page in its print layout.
PDF layout differs from the browser view Chrome’s print stylesheet or page-size rules change layout; screen CSS may not be the print CSS. Review print-specific CSS, paper format, orientation, margins, backgrounds, and page breaks. Compare the result with the intended print layout.
PDF is split across pages when one long page was expected Browserless REST /pdf produces paginated output, not one continuous page. Use the Browserless function API for the documented custom long-page case, or choose a format designed for the required output.
A later Browserless request is logged out or has no prior state REST requests are independent and discard cookies and page state. Use Browserless sessions or persisted state for a multi-step workflow.
PDFShift uses more credits than the document count Credits are based on generated output size; each credit covers up to 5 MB, and large outputs consume multiple credits. Measure actual output sizes, reduce unnecessary assets where acceptable, and recalculate usage against the current credit terms.
Free PDFShift conversion times out or rejects a large output The published free tier has a 30-second timeout and 15 MB maximum file size. Check the live plan limits, reduce output size or complexity where possible, and confirm whether another plan supports the job.
Screenshot captures only the visible viewport A viewport screenshot was requested rather than full-page output, or the page has not finished expanding lazy content. Enable the documented full-page option and wait for relevant content. Check whether the target page needs scrolling to trigger lazy loading.
Capture fails on a protected or dynamic page The page may require authentication, interaction, or state that a single stateless request does not provide. Use the appropriate documented session/function workflow and supply authorized state or credentials securely. Do not assume a public URL request reproduces a signed-in browser.

8. A practical evaluation checklist

  • List the required outputs separately: viewport screenshot, full-page image, paginated PDF, or continuous long-page PDF.
  • Pick representative pages with the fonts, images, dynamic content, and access requirements found in production.
  • Set the same viewport, paper size, margins, wait conditions, and output expectations for each candidate.
  • Check text selection, page breaks, missing assets, screenshot clipping, and whether interactions or persisted state are required.
  • Record file sizes, completion behavior, and current billed units at your expected volume.
  • Recheck vendor pricing, limits, privacy terms, and status information before launch.

9. Frequently asked questions

Can PDFShift take website screenshots?

PDFShift lists screenshots and Open Graph image generation among its uses. Check its current API documentation for the output and request options needed by your workflow.

Does Browserless make a screenshot when it creates a PDF?

No. Its /pdf endpoint uses Chrome’s print pipeline and returns a PDF with selectable text. Use its screenshot endpoint when the required output is an image.

Can Browserless preserve a login between REST calls?

Not through independent stateless REST calls. Its documentation directs multi-step stateful work to session or persisted-state options.

Which service is faster?

The reviewed material does not establish a comparable speed winner. Test the same pages, resource waits, output settings, and region under your expected workload.

Is Browserless PDF output automatically accessible?

No automatic PDF/UA certification is documented. Browserless notes that tagged output is not certified PDF/UA and that accessibility depends on source markup.

Did this comparison verify referral or partner offers?

No. It uses official product, documentation, and pricing sources; it does not claim a referral arrangement or commission.

Sources and evidence limits

Vendor pages and service terms can change; recheck pricing and limits before publication. No hands-on comparison, independently verified uptime review, or controlled rendering benchmark was conducted.