People in the ASIC register
How ASIC identifies a person by name and birth details, the person search rules, and what a person extract of roles, licences and shareholdings contains.
Behind every company in the ASIC register are the people who direct it, own it, audit it or wind it up. ASIC keeps a person index that links one name to every company role, licence, shareholding and lodged document recorded against it, and a person extract (often called a director search or personal name extract) is how you read that index. It is the standard tool for confirming that the director in front of you is the same person who sits on the boards of six other companies, for discovering a shareholder's other interests, or for checking whether a prospective business partner has ever held a role in a company that failed.
How ASIC identifies a person
ASIC identifies a natural person by their name together with their birth details: date of birth, locality of birth and state or country of birth. Each distinct combination gets an internal ASIC person identifier. There is no public director identification number in extracts, so two records with the same name but different birth details are two people, and a record with no birth details might be several people. Where birth details are unknown, ASIC requires this notice to be shown under the name:
Note: This information may relate to more than one person. Where birth details are not recorded for persons with the same name, their information may be displayed under a single name entry.
The API surfaces the condition as birth.date equal to null on the person object. Former names are also indexed: if a person changed their name, a search on either name finds them, and the formerName field tells you which name matched.
Name search rules
A people search is the first step and it must follow ASIC's rules, which the API validates before sending anything to ASIC:
| Rule | API behaviour |
|---|---|
| Family name is required | name_required error if familyName is missing |
| First given name is required | name_required error if givenName is missing |
| No digits, full stops or commas in any name element | name_invalid_characters error |
| Given names cannot contain embedded blanks | Pass second and third given names as givenName2 and givenName3 instead |
| Birth date range needs both ends | birth_date_range_invalid if only one of birthDateFrom and birthDateTo is given, if the start is in the future, or if start is after end |
| Records with unknown birth dates always match | A birth date range filters records with known dates but still returns records that have no birth date |
| Up to 100 names per search | Larger fuzzy result sets are refused with too_many_matches |
When ASIC's matching finds too many candidate names it returns a count rather than the names, and the API raises too_many_matches with the count in the error details. Add a second given name or a birth date range and retry.
The flow: search, purchase, then read
Search
GET /v1/people/search?familyName=SMITH&givenName=JANE&birthDateFrom=1970-01-01&birthDateTo=1980-12-31 returns a searchId and up to 100 personMatch records. Name searches are free against the ASIC jurisdiction.
Purchase
Post the searchId and the personIds you want (1 to 100 of them) to POST /v1/people/extracts, with history and includeShareholdings flags. ASIC produces the extracts in the same call and the response is a list with one extract (ext_...) per person, each billed as person_extract. This is the only step that costs anything; see purchasing.
Read
GET /v1/people/{personId} returns the person object from the extract you hold, and the narrower roles, shareholdings and documents endpoints read the same extract with filters. Reading is free for the 12 months the extract is retained, and every response carries an extract reference. Calling these endpoints before you hold an extract for the person returns extract_required (HTTP 402).
Person ids are tied to the search that produced them and remain valid for purchasing for 30 days, because ASIC retains name search results for one month. After that the purchase returns search_expired and you must search again. Ids from one API key cannot be used by another key (search_owner_mismatch). Once purchased, the extract itself stays readable for 12 months regardless of the search that produced it.
What a person extract contains
| Section | Contents | Controlled by |
|---|---|---|
roles[] | Every office holder role (director, secretary, liquidator and so on) with the company summary, appointment and cessation dates, address and source document | "history": true on the purchase adds ceased roles |
licences[] | Licence and register roles held by the person, coded from the person licence and register roles table below, with licence number and status | "history": true on the purchase adds ceased licences |
shareholdings[] | Shares held in proprietary companies where the person is among the top 20 members of a class, with the issuing company | Only when "includeShareholdings": true on the purchase |
documents[] | ASIC documents lodged in relation to the person, newest first | Always |
notices[] | Notices ASIC requires to be shown with the extract, such as the multiple-person notice above and the ACNC charity notice | Always |
A current extract lists current roles only. A historical extract lists everything ASIC holds, which for a professional director or liquidator can run to hundreds of roles. If a name has more than 999 roles ASIC abandons the extract and the purchase returns person_too_many_roles; such extracts must be arranged with ASIC directly. Because history and includeShareholdings are fixed at purchase, a read endpoint asking for ceased roles (status=former or status=all) or for shareholdings when the extract you hold has neither returns extract_required with the purchase body to use.
Licence and register roles that can appear on a person extract come from the person licence and register roles table:
| Code | Meaning |
|---|---|
BF | Banned Futures Representative |
BS | Banned Securities Representative |
DD | Disqualified Persons |
AF | Auditor of AFS Licensee |
FK | AFS Responsible Person |
FL | Financial Services Licencee |
FR | Financial Services Representative |
FX | Banned Financial Services Representative |
LP | Lodging Party |
OQ | Official Liquidators |
RA | Registered Auditor |
RQ | Registered Liquidator |
12 codes. Source: the "License/Register Roles (Personal Name Extract)" table in ASIC's Datastream specification.
The DD, BS, BF and FX entries are bans and disqualifications, so a person extract is also a quick way to see whether someone has been disqualified from managing corporations. Confirm the details on the banned and disqualified registers.
Example
curl -X POST https://api.asicapi.dev/v1/people/extracts \
-H "Authorization: Bearer $ASICAPI_KEY" \
-H "Content-Type: application/json" \
-d '{ "searchId": "psr_01J9C1N6T3K8W2", "personIds": ["prs_8f3k2m9q"], "history": true, "includeShareholdings": true }'{
"object": "list",
"data": [
{
"object": "extract",
"id": "ext_01J9C1P7R4M2X9",
"kind": "person",
"type": "historical",
"subject": {
"id": "prs_8f3k2m9q",
"name": { "familyName": "SMITH", "givenNames": ["JANE", "LOUISE"], "formatted": "JANE LOUISE SMITH" },
"birth": { "date": "1975-04-03", "locality": "MELBOURNE", "stateOrCountry": "VIC" }
},
"purchasedAt": "2026-09-04T03:12:44Z",
"asOf": "2026-09-04T03:12:41Z",
"expiresAt": "2027-09-04T03:12:44Z",
"disclaimer": "This extract contains information derived from the Australian Securities and Investments Commission's (ASIC) database under section 1274A of the Corporations Act 2001. Please advise ASIC of any error which you may identify.",
"person": {
"object": "person",
"id": "prs_8f3k2m9q",
"asicIdentifier": "012345678",
"name": { "familyName": "SMITH", "givenNames": ["JANE", "LOUISE"], "formatted": "JANE LOUISE SMITH" },
"birth": { "date": "1975-04-03", "locality": "MELBOURNE", "stateOrCountry": "VIC" },
"formerName": { "familyName": "BROWN", "givenNames": ["JANE", "LOUISE"], "formatted": "JANE LOUISE BROWN" }
},
"roles": [
{
"object": "role",
"role": { "code": "DR", "label": "Director" },
"status": { "code": "C", "label": "Current" },
"appointedAt": "2015-02-01",
"ceasedAt": null,
"company": {
"acn": "004085616",
"formatted": "004 085 616",
"numberType": { "code": "ACN", "label": "Australian Company Number" },
"name": "ACME WIDGETS PTY LTD",
"type": { "code": "APTY", "label": "Australian Proprietary Company" },
"status": { "code": "REGD", "label": "Registered" },
"abn": "53004085616",
"registeredCharity": false
},
"address": { "careOf": null, "line1": null, "street": "12 EXAMPLE STREET", "locality": "MELBOURNE", "state": "VIC", "postcode": "3000", "country": "AUSTRALIA" },
"sourceDocument": { "documentNumber": "0E5123456", "qualifier": null }
}
],
"licences": [
{
"object": "licence",
"type": { "code": "RA", "label": "Registered Auditor" },
"status": { "code": "C", "label": "Current" },
"licenceNumber": "334455",
"licenceStatus": { "code": "APPR", "label": "Application approved and licence granted" },
"from": "2012-07-01",
"to": null,
"address": { "careOf": null, "line1": "LEVEL 3", "street": "12 EXAMPLE STREET", "locality": "MELBOURNE", "state": "VIC", "postcode": "3000", "country": "AUSTRALIA" },
"sourceDocument": { "documentNumber": null, "qualifier": null }
}
],
"shareholdings": [
{
"object": "shareholding",
"classCode": "ORD",
"numberHeld": 500,
"beneficiallyOwned": true,
"fullyPaid": true,
"status": { "code": "C", "label": "Current" },
"jointHolding": false,
"company": {
"acn": "004085616",
"formatted": "004 085 616",
"numberType": { "code": "ACN", "label": "Australian Company Number" },
"name": "ACME WIDGETS PTY LTD",
"type": { "code": "APTY", "label": "Australian Proprietary Company" },
"status": { "code": "REGD", "label": "Registered" },
"abn": "53004085616",
"registeredCharity": false
},
"address": { "careOf": null, "line1": null, "street": "12 EXAMPLE STREET", "locality": "MELBOURNE", "state": "VIC", "postcode": "3000", "country": "AUSTRALIA" },
"sourceDocument": { "documentNumber": "0E5123456", "qualifier": "AR 2019" }
}
],
"documents": [
{
"object": "document",
"documentNumber": "0E5123456",
"formCode": "484",
"formDescription": "Change to company details",
"subForms": [{ "code": "484E", "description": "Change to members register" }],
"receivedAt": "2024-05-01",
"processedAt": "2024-05-03",
"effectiveAt": "2024-04-30",
"qualifier": null,
"pageCount": 4,
"imaged": true,
"underRequisition": false,
"xbrlAvailable": false,
"xbrlDocumentNumber": null,
"status": null,
"priced": null
}
],
"notices": [],
"meta": { "billable": true, "product": "person_extract", "requestId": "req_01J9C1P8V2N6Y4" }
}
],
"hasMore": false,
"nextCursor": null,
"totalCount": null,
"meta": { "billable": true, "product": "person_extract", "requestId": "req_01J9C1P8V2N6Y4" }
}From then on the read endpoints serve the same data free of charge. GET /v1/people/prs_8f3k2m9q returns the person object with roles, licences, shareholdings and documents attached, plus a reference to the extract it was read from:
{
"object": "person",
"id": "prs_8f3k2m9q",
"asicIdentifier": "012345678",
"name": { "familyName": "SMITH", "givenNames": ["JANE", "LOUISE"], "formatted": "JANE LOUISE SMITH" },
"birth": { "date": "1975-04-03", "locality": "MELBOURNE", "stateOrCountry": "VIC" },
"formerName": { "familyName": "BROWN", "givenNames": ["JANE", "LOUISE"], "formatted": "JANE LOUISE BROWN" },
"roles": [],
"licences": [],
"shareholdings": [],
"documents": [],
"extract": { "id": "ext_01J9C1P7R4M2X9", "type": "historical", "purchasedAt": "2026-09-04T03:12:44Z", "asOf": "2026-09-04T03:12:41Z" },
"meta": { "billable": false, "product": null, "requestId": "req_01J9C1Q3W8T5Z1" }
}Charities
If the person is a director of a company registered with the Australian Charities and Not-for-profits Commission, the company summary shows registeredCharity: true and ASIC requires you to tell the searcher that current responsible persons are recorded on the ACNC Charities register at www.acnc.gov.au, not with ASIC. The exact wording is on the directors and secretaries page.
Sandbox behaviour
With a test key, ASIC's sample data replaces every real name with a placeholder such as "FAMILY NAME, GIVEN NAME1", so a sandbox person extract shows the structure of the data without any real individual's details. Sandbox purchases succeed with "billable": false.
Privacy and permitted use
Person extracts contain dates of birth and residential addresses of real people. The data is made available under section 1274A of the Corporations Act 2001 for the purposes of the corporate register. Collect only what you need, store it securely, do not republish it, and make sure your use complies with the Privacy Act 1988 and the terms of your asicapi agreement.
People search
Search by family name, given names and birth date range.
Purchase person extracts
POST /v1/people/extracts for up to 100 people from one search.
Get a person
Roles, licences, shareholdings and documents read from the extract you hold.
Directors and secretaries
What ASIC records about directors and how to verify one.
Banned and disqualified persons
Cross-check a person against the DD, BS and BF registers.
External administration roles explained
Plain-English guide to Australian insolvency processes, the ASIC role codes for liquidators, administrators and receivers, and the EXAD company status.
ASIC documents, document numbers and form codes
What an ASIC lodged document is, how document numbers and form codes such as Form 484 work, and how to look up or order a document image by number.