Sahifa provides a PDF and screenshot API hosted in Saudi Arabia, converting HTML to PDF and web pages to images. It runs on Oracle Cloud in Jeddah, ensuring data never leaves the Kingdom. The service offers a free sandbox tier and paid plans for businesses needing secure, localized document rendering.
Sahifa publishes 3 API contracts indexed on the APIs.io network: PDF API, Screenshots API, and Status API. Tagged areas include Company, PDF, Screenshots, Saudi Arabia, and Cloud.
The Sahifa catalog on APIs.io includes 1 JSON-LD context and 1 Spectral governance ruleset.
Sahifa’s developer surface includes changelog, authentication, documentation, API reference, getting-started guide, support, pricing, and 23 more developer resources.
Regulatory Posture applies to this provider. Its tags matched the
Horizontal (data, software, accessibility, platform) regime, so
Regulatory Posture carries 15 points of the composite.
If this regime is wrong for your business, say so on your
provider repo — the
applicability map is public and we will correct it.
Create-or-Update Ergonomics applies to this provider. This API accepts writes, so it
carries 10 points of the composite. It is scored from the published contracts
themselves: whether a caller can create-or-update in one call, whether the write accepts a key the caller already
holds, and whether the response says which branch ran. Without that, every write needs a search-and-branch in
front of it, and the first time that check is skipped a duplicate record is created.
Scored against the observed mean rather than raw — a provider at the catalog average is unchanged by this facet,
not penalised by it.
The six quality facets above are damped to 75 points between them,
because the conditional facet above carries the other
25. That is why each facet's contribution is shown against a damped
maximum: raising a quality facet moves the composite by 75% of its nominal
weight, not 100%. The full arithmetic is at apis.io/rating/.
Show this score on your site.
It updates itself when the score changes. Paste this where you link to your API docs:
<a href="https://apis.io/providers/sahifa/"><img src="https://apis.io/badge/sahifa/card.svg" alt="Sahifa on APIs.io — Kin Score by API Evangelist"></a>
Other styles, a README pill and a shields.io endpoint are on the badge page.
Raise your score.
Agent readiness — checks not met, largest first (exact, from this profile):
MCP Server+12 pts — deployment.mode + probe verdict on the mcp/ manifest, not the pointer; an unprobed slug falls back to authorship Ask about this →
Idempotency+9 pts — OpenAPI mutating operations declare an idempotency key — a header, a request-body property, or a named de-duplication token whose own description says so (verified); else common[].type matches /idempoten/i (documented) Ask about this →
Rate-Limit Signaling+7 pts — OpenAPI responses document X-RateLimit-* / RateLimit headers (verified), else a rate_limits artifact or RateLimits link (documented) Ask about this →
Delegated User Identity+6 pts — a served discovery document listing authorization_code in grant_types_supported (served), else an oauth2 authorizationCode flow or openIdConnect declared in an OpenAPI (documented) Ask about this →
7 more unmet checks in the Agent Readiness table above.
Kin Score — facets with the most composite points still available (weight × headroom):
Each check links to what satisfies it. Publish the artifact, or tell us where it already lives, and the score moves on the next scoring run.
Not sure how this applies to your stack? Ask about any one item. Kin Lane reads every question, looks at your profile and your situation, and replies with what a fix would take — scoped to that one area, priced up front, yours whether you ship it or not. Ask a question →
The Kin Score Market layer reads a provider inside its market:
its position, and how deep its integrations go. Depth is only comparable within a position. Provisional and unweighted:
not part of the Kin Score or agent readiness.
Registered MCP server and declares compatibility are report only — not weighted.
Undeclared means we found nothing we can read, so there is no number: we never infer integrations.
Standards this provider implements or carries. De facto ones are profiled and measured by the API Commons; formal ones come from the standards directory and are linked by the provider's own tags. The evidence column says how each claim was established — not that it was made.
aid: sahifa
name: Sahifa
description: Sahifa provides a PDF and screenshot API hosted in Saudi Arabia, converting HTML to PDF and web pages to images.
It runs on Oracle Cloud in Jeddah, ensuring data never leaves the Kingdom. The service offers a free sandbox tier and paid
plans for businesses needing secure, localized document rendering.
url: https://raw.githubusercontent.com/api-evangelist/sahifa/refs/heads/main/apis.yml
x-type: company
x-source: harvest:new-submission
x-tier: profiled
x-tier-reason: enrichment pass 2026-09-28 (modular-v1; was harvest)
accessModel:
pricing: freemium
onboarding: self-serve
trial: false
try_now: true
public: false
gated: none
gated_source:
- onboarding
label: Freemium · Self-serve signup
confidence: medium
source:
- plans
- authentication
- security
generated: '2026-11-13'
method: derived
specificationVersion: '0.20'
created: '2026-09-28'
modified: '2026-10-08'
tags:
- Company
- PDF
- Screenshots
- Saudi Arabia
- Cloud
tags_raw:
- Company
- PDF
- Screenshot
- API
- SaudiArabia
- Cloud
maintainers:
- FN: Kin Lane
email: kin@apievangelist.com
- FN: APIs.json
email: info@apis.io
common:
- type: Plans
url: plans/sahifa-plans-pricing.yml
- type: AgenticAccess
url: agentic-access/sahifa-agentic-access.yml
- type: Spectral
url: rules/sahifa-rules.yml
- type: JSONLD
url: json-ld/sahifa-context.jsonld
- type: Vocabulary
url: vocabulary/sahifa-vocabulary.yml
- type: DataModel
url: data-model/sahifa-data-model.yml
- type: ChangeLog
url: changelog/sahifa-changelog.yml
- type: Authentication
url: authentication/sahifa-authentication.yml
- type: ErrorCatalog
url: errors/sahifa-problem-types.yml
- type: Conformance
url: conformance/sahifa-conformance.yml
- type: Hosts
url: hosts/sahifa-hosts.yml
- type: SDKs
url: packages/sahifa-packages.yml
- type: Packages
url: packages/sahifa-packages.yml
- type: TermsOfService
url: https://sahifa.dev/en/terms
- type: PrivacyPolicy
url: https://sahifa.dev/en/privacy
- type: ChangeLog
url: https://sahifa.dev/en/docs/changelog
- type: DomainSecurity
url: security/sahifa-domain-security.yml
- type: Website
url: https://sahifa.dev/en/
- type: Documentation
url: https://sahifa.dev/en/docs
- type: APIReference
url: https://sahifa.dev/en/docs/openapi
- type: GettingStarted
url: https://sahifa.dev/en/docs/quickstart
- type: Support
url: https://sahifa.dev/en/contact
- type: LLMsTxt
url: llms/sahifa-llms.txt
- type: Pricing
url: https://sahifa.dev/en/pricing
- type: StatusPage
url: https://stats.uptimerobot.com/5fFpK4UvT9
- type: Compliance
url: https://sahifa.dev/en/docs/compliance
- type: DataResidency
url: https://sahifa.dev/en/data-residency
- type: UsageTerms
url: terms/sahifa-terms-of-service.yml
- type: DataProcessing
url: privacy/sahifa-privacy-policy.yml
- type: Eligibility
url: eligibility/sahifa-eligibility.yml
apis:
- aid: sahifa:sahifa-pdf-api
name: Sahifa PDF API
description: HTML or a URL to PDF, PDFShift v3 compatible
humanURL: https://sahifa.dev/en/docs
baseURL: https://api.sahifa.dev
tags:
- PDF
properties:
- type: OpenAPI
url: openapi/sahifa-pdf-api-openapi.yml
- aid: sahifa:sahifa-screenshots-api
name: Sahifa Screenshots API
description: Screenshots of a URL or HTML, ScreenshotOne compatible
humanURL: https://sahifa.dev/en/docs
baseURL: https://api.sahifa.dev
tags:
- Screenshots
properties:
- type: OpenAPI
url: openapi/sahifa-screenshots-api-openapi.yml
- aid: sahifa:sahifa-status-api
name: Sahifa Status API
description: Service health
humanURL: https://sahifa.dev/en/docs
baseURL: https://api.sahifa.dev
tags:
- Status
properties:
- type: OpenAPI
url: openapi/sahifa-status-api-openapi.yml
x-submission-notes: HTML-to-PDF and screenshot API with Arabic/RTL support, hosted in Saudi Arabia; OpenAPI at /docs/openapi.json;
free tier 100 renders/month.
x-submission-probe: '2026-09-28: root 200, invented 404, openapi 200, docs 200'
x-correction-request:
requested: '2026-10-07'
source:
- _messages/2026-10/2026-10-07-apisio-3325-sahifa-on-apisio-profile-updated-please-re-profile.md
request: 'György Gulyás (gyorgy@sahifa.dev), 2026-10-07: the OpenAPI at https://sahifa.dev/docs/openapi.json is now 1.0.0
with examples, X-Quota-* headers, retry/idempotency guidance, tags, terms and licence, and X-API-Key as the primary scheme;
data residency (SAMA, PDPL) is stated in info.description, an x-data-residency block and https://sahifa.dev/en/docs/compliance;
new llms.txt, pricing page, changelog and public status page -- please re-profile.'
applied: '2026-10-08'
applied_note: 'Verified live 2026-10-08 (invented paths 404): openapi.json 200, OpenAPI 3.1.0, info.version 1.0.0, 4 operations
each with examples, tags PDF/Screenshots/Status, X-Quota-Limit/Remaining/Daily documented, license + termsOfService, top-level
security X-API-Key with Basic only on /v3/convert/pdf and access_key only on /take, info.x-data-residency (SA, me-jeddah-1,
SAMA CSF, Saudi PDPL). Replaced openapi/_original/sahifa-openapi.json verbatim (51,417 bytes) and re-split: the Convert/Health/Take
files and API entries became PDF/Screenshots/Status. Added llms/sahifa-llms.txt verbatim, regulatory/sahifa-regulatory-posture.yml
(quotes from the compliance, data-residency and DPA pages), and LLMsTxt, Pricing, StatusPage, Compliance and DataResidency
pointers. Changelog pointer already present.'
x-enrichment:
date: '2026-09-28'
status: enriched
artifacts_added: 17
pass: modular-v1
engine: identity=local,contract=local,surfaces=local,docs=local,regulatory=local
Sahifa API — frequently asked questions
Does Sahifa have an API?
Yes. APIs.io lists 3 APIs from Sahifa, including Sahifa PDF API, Sahifa Screenshots API and Sahifa Status API.
Is there an OpenAPI specification for the Sahifa API?
Yes. APIs.io indexes 3 OpenAPI specifications for Sahifa, each linked for download from this page.
How do I authenticate with the Sahifa API?
Sahifa uses bearer-token authentication (5 schemes). The details are profiled on APIs.io as Sahifa Authentication.
How much does the Sahifa API cost?
Sahifa publishes its prices; its Developer plan is SAR 59 as of 2026-10-28. APIs.io lists 4 pricing plans for Sahifa, with each plan's price, limits and inclusions under Pricing on this page.
Is the Sahifa API ready for AI agents?
Sahifa has a Kin Score of 54.9 out of 100 (strong) and an Agent Readiness score of 32.4 (agent-ready), scored by API Evangelist on 2026-11-13.
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we
store it to create your key and to recognise you if you sign in with another
provider. See our Privacy Policy and
Terms.