FAQ
Is Sahifa a drop-in replacement for PDFShift or ScreenshotOne?
For most integrations, yes: change the base URL and the key. Options that store files (webhooks, S3, store) are not available, because nothing is stored. The full list is in migrating.
Where is my data processed?
On Oracle Cloud in Jeddah, Saudi Arabia. Content is processed in memory and discarded after the response. See security and data handling.
Can I get a file again later?
No. Sahifa does not keep results, so store the file on your side when you receive it.
Does Arabic text come out right?
Yes. Letters are joined correctly, text runs right to left, and Arabic stays selectable text in the PDF, not an image. Our test set includes statements, ZATCA invoices, bilingual contracts and long tables. See Arabic documents for the details, including one known limitation with fully vocalised text.
What counts as one render?
One successful PDF or one successful screenshot, whatever the number of pages or the file size. Failed requests are not counted.
How fast is it?
A one-page PDF from HTML takes about 0.1 to 0.4 seconds on the server. Pages loaded from the web take as long as the page needs to load; see typical render times.
Can I render pages behind a login?
Yes, with auth (Basic authentication), cookies, or http_headers / headers for a session token. The page must be reachable from the internet; internal addresses are blocked.
Can I render a page on my intranet or on localhost?
No. For security, the renderer cannot reach private or local addresses. Send the HTML itself as the source instead.
Why does my screenshot show a cookie pop-up?
The renderer visits the page as a new visitor. Add block_cookie_banners=true, and hide_selectors for anything the lists do not catch.
Why is my PDF blank or missing charts?
The page is built with JavaScript and was not finished when the PDF was made. Use wait_for, or for screenshots wait_until=networkidle or wait_for_selector. See tips.
Can I use my own fonts?
Yes, with @font-face from a public URL or as a data: URI. Several Arabic and Latin fonts are also installed; see the list.
Is there a free way to try it?
Yes: the demo on the home page needs no key. A free sandbox plan with a watermark comes with self-service sign-up.
Can I call the API from a browser or a mobile app?
Not directly: the key would be exposed. Call it from your server; see the example.
Is there a service level agreement?
Service levels beyond the terms are agreed in writing for Compliance and Dedicated customers. Write to support@sahifa.dev.
Do you sign a data processing agreement?
Yes, on the Compliance plan, together with a data residency letter for your auditors.
How do I get support?
Write to support@sahifa.dev in Arabic or English. Replies come within one business day, Gulf Standard Time. For technical questions, include the endpoint, the parameters (without your key) and the error message.