Documentation menu

Getting started

API reference

Guides

Trust and support

Migrating from PDFShift or ScreenshotOne

Sahifa accepts the same requests as PDFShift v3 and ScreenshotOne. For most integrations the move is one line: the base URL. This page lists what else to check.

From PDFShift

- https://api.pdfshift.io/v3/convert/pdf
+ https://api.sahifa.dev/v3/convert/pdf

Differences

OptionSahifa
filename, webhook, s3_destinationRefused with 400. Files are returned in the response only and never stored. Store them yourself after the call.
header.start_at, footer.start_atNot supported.
Header or footer without marginRefused with 400; add a margin that fits the header.
sandboxAccepted and ignored.
timeoutCapped at 30 seconds.

From ScreenshotOne

- https://api.screenshotone.com/take
+ https://api.sahifa.dev/take

Differences

OptionSahifa
store, storage_*, async, webhook_urlRefused with 400; nothing is stored.
block_banners_by_heuristicsRefused with 400; use block_cookie_banners and hide_selectors.
cacheAccepted and ignored: every request is rendered fresh.
viewport_device, video, GIF, AVIFNot supported yet. Set viewport_width, viewport_height and device_scale_factor directly.
timeoutCapped at 30 seconds.

A safe switch-over

  1. Put the base URL and key in configuration, not in code.
  2. Render a sample of your real documents with both services and compare them side by side.
  3. Switch a small share of traffic, watch error rates and times, then switch the rest.
  4. Keep the old configuration for a few weeks in case you need to go back.

Need help comparing results for your documents? Write to support@sahifa.dev.