Qudra Partner API
The neutral intelligence layer for the Saudi labor market. Post jobs, receive matched seekers, and integrate Qudra into your ATS, job board, or HR platform — all via a clean, well-typed REST API with first-class SDKs for JavaScript, Python, and PHP.
Stable — v1
The current production API version is v1. We follow URI versioning (/v1/…); breaking changes will land on /v2/… with a 12-month sunset for /v1/….
Why integrate
- Saudi-first matching. Embeddings, salary ranges, and Nitaqat-aware filtering are baked into the platform — you don't need to model the local context.
- Webhooks that don't lie. Every event is HMAC-signed (
X-Qudra-Signature), timestamped, and replay-safe viatimingSafeEqual. - Bilingual, by design. Every error returns both
message(English) andmessageAr(Arabic) so your UI can show the right copy without translation. - Predictable plans. Sandbox tier covers POC volumes. Partner pricing is under revision — contact [email protected] for current terms.
Get started in 60 seconds
# 1. Get your API key from https://qudrah.io/partner/api-keys
export QUDRA_API_KEY="qk_live_…"
# 2. Post your first job
curl -X POST https://api.qudrah.io/v1/partner/jobs \
-H "Authorization: Bearer $QUDRA_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"title": "Senior Backend Engineer",
"description": "Build the Qudra matching pipeline…",
"city": "Riyadh",
"employment_type": "full_time",
"salary_min": 18000,
"salary_max": 30000,
"currency": "SAR"
}'You'll get back a job_… id, a public qudra_url, and embedding_status: "processing" — the embedding pipeline runs asynchronously and the job becomes match_ready within ~30 seconds.
Read next
- Authentication — API keys, Bearer auth, key rotation.
- Errors — bilingual error format and error codes.
- Rate limiting —
X-RateLimit-*headers and per-plan limits. - Plans — pricing, limits, and what each tier unlocks.
- Jobs API — the main resource: create, list, update, delete, bulk-create.
- Webhooks — events, payloads, and HMAC verification.
- SDKs — first-class JS, Python, and PHP clients.
Need help?
Email [email protected] with your partner id and we'll triage within one business day. For production incidents on the Scale plan, the on-call rota responds within 30 minutes.