· 12 min read
NZ Doctor Register Scraper: Up to 1,000 Free Results a Month (2026)
Each record carries 9 output fields extracted directly from the official Medical Council of New Zealand public register. A thousand results costs $5.00 on the free plan, returning practitioner names, registration statuses, practising-certificate expiry dates, and vocational specialties. The output excludes direct contact points like private phone numbers and personal email addresses, which the public register search does not publish. This makes it suitable for healthcare credentialing teams, compliance researchers, and directory builders, but not for anyone who needs practitioner contact details.
Try it: open NZ Doctor Register Scraper on Apify, sign in on the free plan and run the prefilled example.
Can you try NZ Doctor Register Scraper before paying?
Yes. Apify's free plan includes $5.00 of prepaid usage every month and asks for no credit card. At $0.005 per result, that covers up to 1,000 results of NZ Doctor Register Scraper a month, before run-start charges and platform usage.
The example request further down caps maxItems at 20, so a first run returns at most 20 results and costs at most $0.10 in result charges. That is enough to see the real shape of the data before deciding anything.
NZ Doctor Register Scraper was last updated on 2026-08-10. It is one of 1,725 Actors CrawlerBros publishes on Apify, which together have 686,269 lifetime public runs and an average rating of 4.63 out of 5 across 416 reviews.
What does it cost to run NZ Doctor Register Scraper?
Each result costs $0.005 on Apify's free plan, which is $5.00 per 1,000 results. Starting a run is charged separately at $0.005 per GB of Actor memory. Apify also bills the platform usage each run consumes, at the rates of your Apify plan, on top of these charges.
| Apify plan | Per result | Per 1,000 results |
|---|---|---|
| FREE | $0.005 | $5.00 |
| BRONZE | $0.00433 | $4.33 |
| SILVER | $0.00367 | $3.67 |
| GOLD | $0.003 | $3.00 |
| PLATINUM | $0.003 | $3.00 |
| DIAMOND | $0.003 | $3.00 |
The primary control affecting your run cost is maxItems, which caps the number of records written to the dataset. To inspect output fields before spending, run an exploratory batch capped at 20 items to keep result charges at $0.10. Remember that run-start fees apply to every started run alongside Apify platform usage.
How do you run NZ Doctor Register Scraper from the API?
None of its 5 controls is strictly required, so the defaults below produce a valid run on their own. Every value in the payload below comes from the published schema's own prefills, which means you can paste it, swap the token, and get a real result.
Call the synchronous endpoint to start a run and receive dataset items in one request:
curl -X POST "https://api.apify.com/v2/acts/crawlerbros~nz-doctor-register-scraper/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"keyword":"smith","location":"auckland","specialty":"","status":"practising","maxItems":20}'
The same run from Python, using the official client:
from apify_client import ApifyClient
client = ApifyClient("<YOUR_APIFY_TOKEN>")
run_input = {
"keyword": "smith",
"location": "auckland",
"specialty": "",
"status": "practising",
"maxItems": 20
}
run = client.actor("crawlerbros~nz-doctor-register-scraper").call(run_input=run_input)
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item)
And from Node.js:
import { ApifyClient } from 'apify-client'
const client = new ApifyClient({ token: '<YOUR_APIFY_TOKEN>' })
const input = {
"keyword": "smith",
"location": "auckland",
"specialty": "",
"status": "practising",
"maxItems": 20
}
const run = await client.actor('crawlerbros~nz-doctor-register-scraper').call(input)
const { items } = await client.dataset(run.defaultDatasetId).listItems()
console.log(items)
That endpoint blocks until the run completes. Fine while you are testing a handful of records, risky once a run takes minutes: a dropped connection loses the response even though the run itself finished. Switch to an asynchronous start with polling or a webhook before you schedule anything.
Which NZ Doctor Register Scraper inputs matter, and which can you skip?
The input schema exposes 5 controls, none of which are required. For broad register segmentation, keep keyword empty and filter strictly using the location, specialty, and status dropdown enums. Leave maxItems at default levels until you confirm your filter narrows the upstream search beneath 1000 matches.
keyword(string): Free-text search across doctor names (first, last, previous names). Leave blank to browse using only the filters below.location(string): Restrict results to doctors whose recorded practice location matches this New Zealand town or city. Default:"".specialty(string): Restrict results to doctors registered in this vocational scope / specialty area. Default:"".status(string): Restrict results to doctors with this current registration status. Default:"".maxItems(integer): Hard cap on the number of doctor records emitted in this run. MCNZ's own register never serves more than 1000 results for a single query, regardless of how many total matches it reports - narrow the location/specialty/status filters to reach doctors beyond the first 1000 matches. Default:50.
Fixed-choice controls: location accepts 182 values (default ""), including auckland, "" (All of New Zealand), akaroa, alexandra; specialty accepts 37 values (default ""), including "" (All types of medicine), anaesthesia, cardiothoracic-surgery (Cardiothoracic Surgery), clinical-genetics (Clinical Genetics); status accepts "" (all statuses), inactive, not-practising (Not Practising), practising, suspended.
What does NZ Doctor Register Scraper return?
Output items provide formal registration status, specialty vocational scopes, and certificate expiry dates linked directly to the canonical MCNZ profile URL. They conspicuously do not include personal phone numbers, physical clinic street addresses, or direct email addresses. This fits credential verification and workforce tracking while ruling out direct outbound messaging.
fullName: Doctor's current registered name (e.g.Smith, David)previouslyKnownAs: Previous registered name, if MCNZ records onelocation: Recorded practice town/city, if publishedspecialty: Recorded vocational scope / specialty area, if anyregistrationStatus:Practising,Not Practising,Inactive, orSuspendedcertificateExpiryDate: Practising-certificate expiry date (ISOYYYY-MM-DD), if shownprofileUrl: Canonical MCNZ register URL for this doctorrecordType: Always"doctor"scrapedAt: UTC timestamp the record was collected
These are the documented fields. Optional ones can be empty on a given record, so measure how often each field your deliverable depends on is populated across a real sample before automating the handoff.
How do you build the workflow end to end?
Open NZ Doctor Register Scraper and work through these in order. Each step ends with something to check, so a bad configuration surfaces on a small run rather than a scheduled one.
- Run a single test run using keyword set to smith and maxItems set to 20 to check the emitted record structure.
- Examine the returned dataset items to verify that core fields like fullName, registrationStatus, and profileUrl are populated.
- Select your target segment using the dropdown enum options for location, specialty, or status according to your project requirements.
- Leave keyword empty if you intend to browse an entire segment, such as all practising practitioners in a specified city.
- Set maxItems to 1000 or below to operate within the upstream Medical Council of New Zealand search query ceiling.
- Inspect the emitted records for missing optional attributes like location or certificateExpiryDate to ensure your ingestion pipeline gracefully handles omitted keys.
- Schedule regular runs to pull updated register listings and monitor registration changes over time.
How do you apply it? Three worked playbooks
These are NZ Doctor Register Scraper's own documented use cases, each worked through as an operating pattern rather than a description.
Use case 1: Employer due diligence
Outcome: Verify a doctor's current registration status before hiring or credentialing
Configure: Set keyword to the applicant surname, status to practising, and maxItems to 10.
Working method: Execute a targeted lookup using the candidate name, inspect the returned registrationStatus and certificateExpiryDate values, and record the profileUrl link.
Deliverable: A structured compliance record containing the verified registration status, certificate expiry date, and official register link.
Stop condition: Stop if the query returns 0 matches or multiple conflicting practitioners requiring identity disambiguation.
Use case 2: Healthcare directories
Outcome: Build location- or specialty-based doctor directories for patients
Configure: Set location to auckland, specialty to general-practice, status to practising, and maxItems to 500.
Working method: Run sequential batch extractions iterating across major metropolitan areas from the 182 available locations, capturing active practitioners for each specialty scope.
Deliverable: A regional directory dataset indexed by specialty, practice city, and provider name.
Stop condition: Stop and narrow queries by specific location or specialty if emitted items hit 1000 items.
Use case 3: Compliance & research
Outcome: Monitor suspended/inactive practitioners or track specialty distribution by region
Configure: Set status to suspended, leave keyword, location, and specialty blank, and set maxItems to 200.
Working method: Schedule periodic executions filtering for suspended or inactive practitioners, then run a diff against the previous dataset to flag status transitions.
Deliverable: An audit trail recording practitioner sanction status changes over time.
Stop condition: Stop pipeline ingestion if upstream changes prevent parsing of registrationStatus attributes.
What breaks, and how do you design around it?
MCNZ enforces an upstream limit of 1000 records per search query, truncating larger search pools regardless of total matches. To capture comprehensive national segments without truncation, split extractions across specific town combinations using the 182 location options. Because profile detail pages are disallowed by robots.txt, rely on the listing data and open profileUrl directly when manual case inspection is required.
When should you not use NZ Doctor Register Scraper?
Do not use this scraper if your workflow requires direct commercial contact details like personal email addresses or clinic phone numbers, as MCNZ public listings omit them. If you need US healthcare provider profiles complete with consumer patient reviews, use ZocDoc + Healthgrades Doctors & Reviews Scraper instead. For practitioners registered in the United Kingdom across dental, pharmacy, or Allied Health disciplines, look into dedicated scrapers such as UK Health Professional Register Scraper (HCPC) or UK Dentist & Dental Professional Register Scraper. Furthermore, if your goal is verifying New Zealand healthcare facilities or hospital administrative licenses rather than individual medical practitioners, this register does not contain institutional licensing entities.
What should you check before trusting the output?
- Verify that registrationStatus matches one of Practising, Not Practising, Inactive, or Suspended, halting ingestion if an unrecognised value appears.
- Confirm that certificateExpiryDate conforms to the ISO YYYY-MM-DD pattern whenever present in the output record.
- Check that profileUrl contains mcnz.org.nz.
- Validate that fullName contains a non-empty string.
- Ensure total emitted records do not reach 1000 items in a single query when attempting complete regional coverage.
None of this proves a record is correct. It gives a scheduled NZ Doctor Register Scraper run defined points where it should stop instead of quietly passing bad data downstream.
Frequently asked questions
What does scraping the NZ Doctor Register cost?
Results cost $0.005 per result, which is $5.00 per 1,000 results on the free tier. Paid Apify plans pay less per result. Every run also incurs a run-start fee every time a run starts, plus standard Apify platform usage charges.
Why does a broad search stop at 1000 results?
The Medical Council of New Zealand public register never serves more than 1000 results for a single query, regardless of total reported matches. To reach practitioners beyond the first 1000 matches, narrow your run with location, specialty, or status filters.
Can I search by registration number?
The keyword field searches MCNZ's name index, which includes phonetic matching for current and previous names. It is optimized for names rather than numeric registration identifiers.
Why are location fields missing from some output records?
Not every doctor has a published practice location on the public register. The scraper omits the location field entirely rather than writing a null placeholder whenever MCNZ does not publish one.
Does this scraper visit individual doctor profile pages?
No. MCNZ's robots.txt explicitly disallows crawling individual doctor profile pages. The scraper only reads the public search and browse listings, providing the profileUrl field for reference.
Where to go next
When you are ready to run it, open NZ Doctor Register Scraper on Apify; the free plan covers up to 1,000 results a month.
Start with the NZ Doctor Register Scraper Actor page for the current input schema, pricing tier, and run history.
Other Actors we maintain for related data:
- UK Dentist & Dental Professional Register Scraper: Verify UK dental professionals against the General Dental Council's official register (olr.gdc-uk.org).
- UK Osteopath Register Scraper: Search the General Osteopathic Council's public register (osteopathy.org.uk) by postcode/town, surname, or practice features, or look up exact registration numbers.
- UK Health Professional Register Scraper (HCPC): Verify UK health and care professionals against the Health and Care Professions Council's official public register (hcpc-uk.org).
- UK Pharmacist Register Scraper: Search the General Pharmaceutical Council (GPhC) public register for pharmacists, pharmacy technicians, pharmacies, and training sites in Great Britain.
- UK Architect Register Scraper: Scrape the official UK Architects Register (ARB) - search 30,000+ registered architects by name, practice, address, country, website or email, or look up specific architects by registration number.
- ZocDoc + Healthgrades Doctors & Reviews Scraper: Scrape physicians, specialists, ratings, reviews, accepted insurance, locations, and bio data from ZocDoc.com and Healthgrades.com.
- Estonia e-Business Register Scraper: Search Estonia's e-Business Register (ariregister.rik.ee / e-äriregister) by company name, registry code, or VAT number.
- Ontario Dentist Register Scraper (RCDSO): Scrape RCDSO's public register of Ontario dentists (rcdso.org).
Related guides:
- UK Osteopath Register Scraper: 16 Data Fields per Record (2026)
- UK Chiropractor Register Scraper: 12 Data Fields per Record (2026)
- Australia ABN Business Register Scraper: 3 Practical Use Cases
- SRA Solicitors Register Scraper: 3 Practical Use Cases
Resources
Actor documentation, input schema, and pricing: verified against the published Actor on 2026-09-28.
Actor last updated by its maintainers on 2026-08-10.
Run outcome figures cover the 30 day public window ending 2026-09-28.
Featured actors
NZ Doctor Register Scraper
Search and browse the Medical Council of New Zealand (MCNZ) public Register of Doctors - filter by name, town/city, specialty, and registration status.
Run on Apify ↗