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
| Name | Type | Default | Constraints | Description |
|---|---|---|---|---|
Authorizationrequired | header | — | — | Bearer token: `Authorization: Bearer npk_...`. Mint one at /dashboard/analytics/developers. |
specialtyrequired | string | — | — | Specialty in canonical form, e.g. `RN - ICU`, `CRNA`, `CT Tech`. |
state | string | — | `^[A-Za-z]{2}$` | 2-letter state code, e.g. `NY`. |
city | string | — | — | City name. Pair with state for a radius search. |
radius_miles | number | 50 | 1–500 | Search radius around the city centroid. |
lookback_weeks | number | 12 | 1–12 | Weeks of postings to include. |
Example request
https://nursepal.com/api/v1/public/percentiles?specialty=RN%20-%20ICU&state=NY&city=Buffalo&radius_miles=50curl -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
429withRetry-After,X-RateLimit-Limit, andX-RateLimit-Remaining. Custom limits available on request: partners@nursepal.com. - Request timeout
- 20 seconds. Exceeded requests return
504withRetry-After: 5. - Errors
- Standard HTTP status codes. Body is
{ "detail": "<message>" }. Common:400validation,401auth,403scope,404not found,422body shape,429rate limit,504timeout. - Access
- Restricted to NursePal Analytics and Agency-admin accounts. Mint a key at /dashboard/analytics/developers or /dashboard/agency/developers.