Developer API

The NursePal API

Live healthcare market data — pay percentiles, fill-probability scoring, top-billing clients, competitor rate history, demand trends, and rate forecasts for any RN, allied, or therapy specialty in any U.S. market. The same data that powers the NursePal dashboards.

Access is currently limited to NursePal Analytics accounts. Reach out via partners@nursepal.com if you don’t have one yet.

Endpoints (21)

All endpoints accept Authorization: Bearer npk_…. Click an endpoint below for the full parameter reference, a sample request, and a sample JSON response.

API Reference

Returns the distribution of hourly pay, weekly pay, and bill rate for a specialty in a given location. If the city + state combo has fewer than 10 matching postings inside `radius_miles`, the response widens automatically (state, then national). The `location_scope` field tells you which scope was actually used.

Parameters

NameTypeDefaultConstraintsDescription
AuthorizationrequiredheaderBearer token: `Authorization: Bearer npk_...`. Mint one at /dashboard/analytics/developers.
specialtyrequiredstringSpecialty in canonical form, e.g. `RN - ICU`, `CRNA`, `CT Tech`.
statestring`^[A-Za-z]{2}$`2-letter state code, e.g. `NY`.
citystringCity name. Pair with state for a radius search.
radius_milesnumber501–500Search radius around the city centroid.
lookback_weeksnumber121–12Weeks of postings to include.

Example request

GEThttps://nursepal.com/api/v1/public/percentiles?specialty=RN%20-%20ICU&state=NY&city=Buffalo&radius_miles=50
curl -X GET -H "Authorization: Bearer npk_..." \
  "https://nursepal.com/api/v1/public/percentiles?specialty=RN%20-%20ICU&state=NY&city=Buffalo&radius_miles=50"

Example response

{
  "specialty": "RN - ICU",
  "state": "NY",
  "city": "Buffalo",
  "location_scope": "radius",
  "radius_miles": 50,
  "job_count": 47,
  "lookback_weeks": 12,
  "data_confidence": "high",
  "distribution_shape": "normal",
  "hourly": {
    "p10": 58.50, "p25": 64.00, "p50": 72.00, "p65": 76.50,
    "p75": 81.00, "p85": 88.00, "p90": 92.00,
    "min": 52.00, "max": 105.00, "avg": 73.40
  },
  "weekly": {
    "p10": 2106, "p25": 2304, "p50": 2592, "p65": 2754,
    "p75": 2916, "p85": 3168, "p90": 3312,
    "min": 1872, "max": 3780, "avg": 2642
  },
  "bill_rate": {
    "p10": 92, "p25": 98, "p50": 110, "p65": 115,
    "p75": 122, "p85": 130, "p90": 136,
    "min": 84, "max": 152, "avg": 112
  }
}

Operational reference

Base URL
https://nursepal.com/api/v1/public
Authentication
Authorization: Bearer npk_<token>. Keys are scope-restricted and revocable.
Versioning
Field additions are additive and non-breaking. Removals and renames ship under a new prefix.
Rate limit
30 requests per minute per key. Exceeded requests return 429 with Retry-After, X-RateLimit-Limit, and X-RateLimit-Remaining. Custom limits available on request: partners@nursepal.com.
Request timeout
20 seconds. Exceeded requests return 504 with Retry-After: 5.
Errors
Standard HTTP status codes. Body is { "detail": "<message>" }. Common: 400 validation, 401 auth, 403 scope, 404 not found, 422 body shape, 429 rate limit, 504 timeout.
Access
Restricted to NursePal Analytics and Agency-admin accounts. Mint a key at /dashboard/analytics/developers or /dashboard/agency/developers.