# Medicalcouncil — 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.

> Search for registered doctors in New Zealand by name, location, specialty, and professional status, then access their detailed profiles including qualifications and scope of practice. Use this to verify practitioner credentials and find healthcare professionals that match your needs.

**Category:** Healthcare | **Website:** [medicalcouncil.org.nz/](https://medicalcouncil.org.nz/) | **Docs:** [parse.bot/marketplace/71816920-703f-4d3a-8e82-6ec21fa4d617/medicalcouncil-org-nz-api](https://parse.bot/marketplace/71816920-703f-4d3a-8e82-6ec21fa4d617/medicalcouncil-org-nz-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-medicalcouncil-org-nz-api-71816920/`
**Auth:** `Authorization: Bearer <LOCUS_API_KEY>`

## Endpoints

### get_doctor_details

Get full profile details for a specific doctor by their URL slug. Returns qualifications, scope of practice, conditions on registration, and registration dates. The slug is obtained from search_doctors results.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `slug` | string | Yes | Doctor's URL slug from search_doctors results (e.g. 'smith-abigail-mary'). |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-medicalcouncil-org-nz-api-71816920/get_doctor_details \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"slug":"<string>"}'
```

### get_register_metadata

Retrieve lists of valid filter values for locations, areas of medicine, and registration statuses. Use these values as inputs to the search_doctors endpoint. Also returns the date the register was last updated.

**Estimated cost:** Metered

_No parameters required._

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-medicalcouncil-org-nz-api-71816920/get_register_metadata \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{}'
```

### search_doctors

Search the MCNZ public register of doctors. Supports filtering by keyword (name), location, area of medicine, and registration status. Returns up to 20 results per page. Pagination advances via the start parameter in multiples of 20. At least one filter should be provided to get meaningful results; calling with no filters returns all registered doctors.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `area` | string | No | Area of medicine slug from get_register_metadata areas_of_medicine (e.g. 'general-practice', 'emergency-medicine', 'anaesthesia'). |
| `keyword` | string | No | Search by doctor name or keyword. |
| `location` | string | No | Location slug from get_register_metadata locations (e.g. 'auckland', 'christchurch', 'wellington'). |
| `start` | integer | No | Pagination offset in multiples of 20. |
| `status` | string | No | Registration status slug: 'practising', 'not-practising', 'inactive', 'suspended'. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-medicalcouncil-org-nz-api-71816920/search_doctors \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"area":"<string>","keyword":"<string>","location":"<string>","start":"<integer>","status":"<string>"}'
```
