ClinicalRate
Developer · GAOpenAPI 3.1 · OAuth 2.0

API & Integrations.

REST, webhook, and warehouse share — three integration paths, one canonical taxonomy. Live in production inside three business days, measured across 22 partners.

Book a data demo →Read the endpoints
Spec
OpenAPI 3.1
Median latency
88ms p50 · 140ms p95
Uptime SLA
99.9% (Ent)
SDKs
Py · TS · Go · Java
By the numbers

Production-grade integration surface.

88ms
p50 read latency

140 ms p95. Inline in placement-creation flows.

22
Live partner integrations

ATS, VMS, MSP platforms, and warehouses.

99.9%
Uptime SLA

Enterprise tier · multi-region active-active.

3
Business days to production

Median across 22 partners. Sandbox key day one.

Endpoint surface

Six endpoints. That's the whole API.

EndpointPurposeTier
GET /v1/rates/{role}/{geo}Live percentile distribution for a canonical role × geography.Pulse +
GET /v1/rates/bulkBatch lookup of up to 100 role × geo pairs in a single call.Operator +
POST /v1/normalizeResolve any raw title to a canonical role with confidence.Operator +
GET /v1/trends/{role}/{geo}30-day, 90-day, or 1-year trend series for a role × geography.Operator +
POST /v1/subscriptionsCreate, update, or delete alert subscriptions with thresholds.Operator +
POST /v1/webhooks/replayReplay any event in the configured retention window.Enterprise
Integration paths

Three shapes. Pick by your latency budget.

A · Sync REST

Inline lookups

88ms median. Drop into a placement-creation flow or rate-card validator. OAuth 2.0 client-credentials, scoped tokens per environment.

B · Webhook

Push event stream

HMAC-signed, idempotency-keyed, at-least-once delivery. Replay window up to 5 years. Fan-out to your bus from one endpoint.

C · Warehouse

Bulk share

Snowflake Secure Data Share, Databricks Delta Share, or BigQuery transfer. Daily refresh at 03:00 UTC. Joinable to your own workforce data without exporting either side.

+ Sandbox

Frozen 90-day fixture

Every contract includes a sandbox environment with 90 days of frozen historical rates — predictable test fixtures for CI without burning production rate-limit quota.

Sample request

A bulk read in nine lines of curl.

OAuth 2.0 client credentials. Bulk endpoint hands you up to 100 role × geo pairs in a single response — joinable on canonical role ID.

$ curl "https://api.clinicalrate.com/v1/rates/bulk" \
-H "Authorization: Bearer $CR_TOKEN" \
-H "Content-Type: application/json" \
--data '{ "pairs": [
{"role_id": "CR-0142", "state": "CA"},
{"role_id": "CR-0207", "state": "TX"}
] }'
 
# 200 OK · 92ms · X-CR-As-Of: 2026-05-11T03:00Z
{
"results": [
{ "role_id": "CR-0142", "state": "CA", "p50": 92.00, "sample_size": 2418 },
{ "role_id": "CR-0207", "state": "TX", "p50": 218.40, "sample_size": 312 }
]
}

Same envelope across REST, webhook, and warehouse share — every record carries role_id, sample_size, and as_of.

In production at

22 integrations live today.

Operator tier · Bullhorn integration
We were live in three days. The bulk endpoint cut a four-step ETL down to one call, and the webhook replaced two cron jobs we used to babysit on Mondays.
MW
Marcus Williams
Staff Engineer · National staffing platform
Where it shows up

Three shapes of integration, three audiences.

What's included

Integration access by tier.

ClinicalRate · Operator
From $4,000/ month

Sync REST and webhook on Operator. Warehouse share, replay endpoint, and 99.9% uptime SLA on Enterprise.

Book a data demo →See full pricing
Included on this feature
  • OpenAPI 3.1 spec · OAuth 2.0 client credentials
  • Read API · /rates · /rates/bulk · /trends
  • POST /normalize · POST /subscriptions
  • Sandbox environment with 90-day frozen fixture
  • Python · TypeScript · Go · Java SDKs
  • Signed webhooks (GA on Enterprise)
  • Snowflake · Databricks · BigQuery secure data share
  • 99.9% uptime SLA (Enterprise)
FAQ

Questions engineers ask before they integrate.

Default is 10 req/sec per token, burst to 50, with per-tier monthly quotas. Sandbox tokens have separate quota so CI runs never affect production. We surface remaining quota on every response in X-RateLimit-* headers.
URL-versioned (v1). Backwards-compatible changes ship without notice. Breaking changes require a six-month deprecation window and a written migration note. We have not retired a v1 endpoint since GA.
Yes. Configure per-subscription endpoints in the dashboard or via POST /v1/subscriptions. Each endpoint gets its own signing key and replay history.
OAuth 2.0 client credentials with scoped tokens per environment (sandbox / production) and per integration partner. SCIM 2.0 for user provisioning on Enterprise.
Other features

The rest of the surface.

Get a sandbox key today.

Book a 30-minute scoping call. You'll leave with a sandbox token and an integration brief tailored to your stack.

Book a data demo →