# Salarydr — Wrapped API

> **You are on:** `https://api.paywithlocus.com/api` | [llms.txt](https://paywithlocus.com/llms.txt) | [docs](https://docs.paywithlocus.com)
>
> Locus runs on multiple environments -- make sure every URL you call matches your expected environment.
> | Environment | Landing | API | Docs |
> |---|---|---|---|
> | Production | paywithlocus.com | api.paywithlocus.com | docs.paywithlocus.com |
> | Beta | beta.paywithlocus.com | api.beta.paywithlocus.com | docs.paywithlocus.com |
> | Stage | stage.paywithlocus.com | api.stage.paywithlocus.com | docs.paywithlocus.com |
>
> If the API URL above doesn't match your expected environment, re-fetch this file from the correct domain.

> Compare physician and dentist salaries across specialties and states using real submission data and aggregated benchmarks. Search salary ranges by location, specialty, and recent market data to inform compensation decisions.

**Category:** Healthcare | **Website:** [salarydr.com/](https://salarydr.com/) | **Docs:** [parse.bot/marketplace/c18a919a-38b5-4cc4-8095-95ad18c65999/salarydr-com-api](https://parse.bot/marketplace/c18a919a-38b5-4cc4-8095-95ad18c65999/salarydr-com-api)

Pay-per-use API proxy. Each call is automatically billed to your wallet in USDC.

## Access

**Base URL:** `https://api.paywithlocus.com/api/wrapped/parse-salarydr-com-api-c18a919a/`
**Auth:** `Authorization: Bearer <LOCUS_API_KEY>`

## Endpoints

### get_all_salary_submissions

Search paginated physician salary submissions. Supports filtering by role, specialty, state, practice type, and compensation range. Returns 20 submissions per page. Paginates via integer page counter.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `page` | integer | No | Page number for pagination |
| `practice_type` | string | No | Filter by practice setting type (e.g. 'Academic', 'Hospital Employed', 'Private Practice') |
| `role` | string | No | Filter by role: 'physician', 'resident', or 'fellow'. Omitting returns all roles. |
| `salary_max` | string | No | Maximum total compensation filter in dollars (e.g. '600000') |
| `salary_min` | string | No | Minimum total compensation filter in dollars (e.g. '400000') |
| `specialty` | string | No | Filter by medical specialty (e.g. 'Cardiology', 'Internal Medicine') |
| `state` | string | No | Filter by US state name (e.g. 'California', 'New York') |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-salarydr-com-api-c18a919a/get_all_salary_submissions \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"page":"<integer>","practice_type":"<string>","role":"<string>","salary_max":"<string>","salary_min":"<string>","specialty":"<string>","state":"<string>"}'
```

### get_all_specialties_list

Enumerate all available physician specialties that have salary submissions. Returns a sorted array of specialty name strings.

**Estimated cost:** Metered

_No parameters required._

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-salarydr-com-api-c18a919a/get_all_specialties_list \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{}'
```

### get_benchmark_specialty_detail

Get detailed salary metrics and distribution for a specific medical specialty. Returns submission count, averages, medians, percentile salary distribution, hourly distribution, employment type breakdown, and satisfaction metrics.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `specialty` | string | Yes | Specialty to get detailed benchmark metrics for (e.g. 'Cardiology', 'Internal Medicine', 'Anesthesiology') |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-salarydr-com-api-c18a919a/get_benchmark_specialty_detail \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"specialty":"<string>"}'
```

### get_dentist_salaries

Scrape paginated dentist salary submissions. Returns 20 submissions per page. Same submission shape as physician salaries but filtered to dental professionals.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `page` | integer | No | Page number for pagination |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-salarydr-com-api-c18a919a/get_dentist_salaries \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"page":"<integer>"}'
```

### get_recent_salary_submissions

Retrieve the most recent physician salary submissions ordered by submission date descending. Returns up to the specified limit from the first page of results.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `limit` | integer | No | Number of recent submissions to return (max 20) |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-salarydr-com-api-c18a919a/get_recent_salary_submissions \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"limit":"<integer>"}'
```

### get_salary_benchmarks_table

Get aggregated physician salary benchmarks including median, average, percentiles (10th/25th/50th/75th/90th), and breakdowns by employment type. Optionally filter by specialty to get specialty-specific benchmarks.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `specialty` | string | No | Filter benchmarks by specific specialty (e.g. 'Cardiology'). Omitting returns overall physician benchmarks. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-salarydr-com-api-c18a919a/get_salary_benchmarks_table \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"specialty":"<string>"}'
```

### get_salary_explorer_overview

Get aggregate physician salary statistics for the explorer overview. Returns median/average compensation, percentile distribution, employment type breakdown, satisfaction, and workload metrics across all physician submissions.

**Estimated cost:** Metered

_No parameters required._

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-salarydr-com-api-c18a919a/get_salary_explorer_overview \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{}'
```

### get_salary_submission_detail

Retrieve full metadata for an individual salary submission by its numeric ID. Searches the most recent page of physician and dentist results; older submissions may not resolve.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `submission_id` | string | Yes | Numeric ID of the salary submission to retrieve (e.g. '4483') |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-salarydr-com-api-c18a919a/get_salary_submission_detail \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"submission_id":"<string>"}'
```

### get_specialty_salary_by_state

Fetch state-specific salary data for a specialty. Returns individual submissions matching the specialty+state combination and aggregate statistics for that pair.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `specialty` | string | Yes | Medical specialty (e.g. 'Cardiology', 'Internal Medicine') |
| `state` | string | Yes | US state name (e.g. 'California', 'New York', 'Texas') |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-salarydr-com-api-c18a919a/get_specialty_salary_by_state \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"specialty":"<string>","state":"<string>"}'
```
