Medora Partner API
For staffing firms. Search 3.39M clinician records from the CMS/NPPES public registry and submit requisitions straight from your ATS. Get a sandbox key below and make your first call in a minute — no sales call needed.
Work email only. Instant, free, and you can start calling immediately.
mpk_test_- · Real CMS/NPPES registry — the same data live keys read.
- · Requisitions are recorded but not worked. No clinician is contacted.
- · 60 requests/minute, up to 25 stored requisitions.
- · Free, instant, self-serve.
mpk_live_- · Requisitions enter the Medora pipeline and get worked.
- · 600 requests/minute.
- · White-label workflows and volume pricing available.
- · We promote your sandbox account — same partner id, new key.
Authentication
Send your key as a bearer token on every request. Keys are per-firm and scoped; a missing scope returns 403 SCOPE_MISSING.
Authorization: Bearer mpk_test_YOUR_KEY
Medora keys start mpk_. If you also use Callora, its keys start sk_ and the two are not interchangeable — Medora and Callora are separate products with separate accounts and credentials. A Callora key sent here returns 401 WRONG_KEY_TYPE.
Endpoints
/api/medora/partner/v1/meanyYour account, tier, scopes and usage. Use it to check a key works.
curl -s /api/medora/partner/v1/me \ -H "Authorization: Bearer mpk_test_YOUR_KEY"
/api/medora/partner/v1/clinicians/searchregistry:readSearch the CMS/NPPES public registry by specialty, state and surname. Cursor-paginated.
curl -s "/api/medora/partner/v1/clinicians/search?state=TX&specialty=Family%20Medicine&limit=5" \ -H "Authorization: Bearer mpk_test_YOUR_KEY"
/api/medora/partner/v1/clinicians/{npi}registry:readOne clinician by NPI. Public registry fields only.
curl -s /api/medora/partner/v1/clinicians/1003022898 \ -H "Authorization: Bearer mpk_test_YOUR_KEY"
/api/medora/partner/v1/jobsjobs:readList the requisitions on your account. Scoped to you.
curl -s /api/medora/partner/v1/jobs \ -H "Authorization: Bearer mpk_test_YOUR_KEY"
/api/medora/partner/v1/jobsjobs:writeSubmit a requisition. In sandbox it is recorded but not worked.
curl -s -X POST /api/medora/partner/v1/jobs \
-H "Authorization: Bearer mpk_test_YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{"title":"Locum Hospitalist","specialty":"Internal Medicine","state":"TX","city":"Austin","weeks":13}'What the API will never return
- · Clinician results are public CMS/NPPES registry fields only.
- · No Medora-generated data: no recruiter notes, rate floors, margins, client identities, credentialing documents or outreach history.
- · No other partner's requisitions, ever. Every job read is scoped to your partner id.
- · No clinician contact details we have gathered privately, and no record of who we have spoken to.
These are enforced in code by a field allowlist, not by convention.