NSW Real Estate Agent Licence Check — Fair Trading Register
Pricing
from $0.01 / 1,000 results
NSW Real Estate Agent Licence Check — Fair Trading Register
Check names and companies against the live NSW Fair Trading public register. Every licence is labelled with its real status — 79 of a 100-record Property sample were expired, only 18 current — and carries the disciplinary actions, prosecutions and public warnings Fair Trading records against it.
Pricing
from $0.01 / 1,000 results
Rating
0.0
(0)
Developer
Malek H
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
NSW Real Estate Agent Licence Check — NSW Fair Trading register
A bulk NSW property agent licence check against the live NSW Fair Trading public register. Feed it a list of people and companies; get back, for every licence record:
- the register's own status — Current, Expired, Surrendered, Cancelled, Suspended, Refused, Lapsed, Cease to trade
- the compliance record Fair Trading holds against that licence — Disciplinary Action, Prosecution, Suspension, Cancellation, Public Warning, Compensation Fund Claim — with the statutory reference, the date, the action taken and the penalty amount
Covers NSW real estate agents, assistant agents, stock and station agents, strata managing agents, auctioneers and their corporations, plus every other NSW public register the same service answers for (trades, motor dealers, conveyancers, security, charities, pharmacies and more).
Background-screening vendors sell this exact lookup as a per-name SKU with a multi-day turnaround. This runs it in seconds, in bulk, from your own system.
The problem it solves
"Is this agent licensed?" is not the same question as "does the register return a record for this name?" On this register those two answers disagree most of the time.
Search the live register for Alison Louise Smith and you get three Property records for that one person: one Current, one Expired, one Surrendered. Across a 100-record sample of Property licences matching "smith", 79 were Expired, 3 Surrendered and only 18 Current.
So this Actor answers the question you actually have — holdsCurrentLicence —
as a field of its own, separate from "we found something", and labels every
individual record with its own status.
Why not just use the spreadsheets?
NSW Fair Trading publishes bulk "Current Licence Extract" spreadsheets at
onegov.nsw.gov.au and links them from its open-data listing. They are the
obvious source and they will quietly give you the wrong answer:
| Cover line inside both Property files | "The information in this report is correct as at … Monday, 04 December 2023" |
HTTP Last-Modified | Sun, 03 Dec 2023 18:01:45 GMT |
| Status column | none |
| Individual rows whose expiry date has already passed | 29,248 of 34,436 — 84% |
| Oldest already-expired row | 2021-11-06 |
A file titled Current Licence Extract that is years stale and carries no way to tell a live licence from a dead one is worse than no data, because it looks authoritative. This Actor never reads those files. It queries the same live service the public register website queries.
What it will not do
Stated plainly, because a screening tool that overstates itself does real harm to the person being screened:
- The register holds no date of birth. A name match is a possible match, never a determination. Confirm identity at https://verify.licence.nsw.gov.au/ before taking adverse action.
- The register's search matches substrings, so it returns other entities.
Searching
AR & A Investments Pty Ltdalso returns. Those rows are still shown to you, but they are counted asTym-Ark Investments Pty LtdnamesakeRecordCountand are excluded from every entity-level answer — a stranger's live licence must never make your subject look licensed. - The register caps a result set at 200. When that happens
resultsTruncatedistrueand the guidance text says so. A truncated search is never presented as a complete one. - NSW only. It does not cover other states, ASIC, or the courts.
Input
{"records": [{ "referenceId": "AGENT-001", "firstName": "Alison", "lastName": "Smith" },{ "referenceId": "AGENCY-002", "organisationName": "AR & A Investments Pty Ltd" },{ "referenceId": "AGENT-003", "fullName": "Jane Example" }],"licenceGroup": "Property","includeCompliance": true,"statusFilter": "all"}
| Field | Meaning |
|---|---|
records | People (firstName/lastName, or fullName) and companies (organisationName). Extra fields such as referenceId are echoed back. |
licenceGroup | Property by default. Any of the 23 NSW register groups. |
includeCompliance | Retrieve the disciplinary / prosecution record per licence. On by default. |
statusFilter | all (default), current, or ended. |
Output
One dataset item per input record:
{"referenceId": "AGENCY-002","searchedName": "AR & A Investments Pty Ltd","holdsCurrentLicence": false,"hasComplianceFinding": true,"complianceFindingCount": 2,"sameEntityRecordCount": 1,"namesakeRecordCount": 8,"resultsTruncated": false,"guidance": "All 1 licence record(s) in this name have ENDED …","matches": [{"licenceNumber": "…","licenceType": "Property - Corporation","licensee": "AR & A Investments Pty Ltd","status": "Expired","isCurrent": false,"isSameEntity": true,"grantedDate": "…","expiryDate": "…","complianceRecordCount": 2,"complianceSummary": { "Disciplinary Action": 2, "Prosecution": 0, "…": 0 },"complianceRecords": [{"type": "Disciplinary Action","issueDate": "2022-09-08","action": "Monetary penalty - licensee","amount": "$5,500.00","reference": "192(1)(d) Property and Stock Agents Act 2002"}]}]}
guidance is a plain-English sentence you can paste into a file note.
It fails loudly, on purpose
The register's search endpoint answers HTTP 200 with an empty result set when it does not understand a request — there is no error. For a screening tool that is the worst possible failure mode, because "no results" reads as "this person is clean".
So before it checks anybody, every run proves the register is answering: it
loads the licence-class catalogue for the group and runs a canary search
whose answer is known to be large. If either comes back empty the run fails
rather than clearing everyone on the list. If an individual name's search
errors, that record is returned with searchSucceeded: false and an explicit
"this is NOT a clean result" — never as a no-match.
Pricing
Pay per event. A run costs one screening-run event plus one name-checked
event per record. The run event is charged only after the register has been
proven reachable, so a run that aborts on an unreachable source costs you
nothing.
Source and attribution
NSW Fair Trading / NSW Department of Customer Service public registers, https://verify.licence.nsw.gov.au/. Public data — no key, no login, no CAPTCHA. Not endorsed by NSW Fair Trading. Licence status and compliance history are as recorded by Fair Trading at the time of the query.