Get a person's roles, licences and shareholdings
Read a person's ASIC personal name extract as JSON: every directorship, secretary and liquidator role, registered licence, shareholding and lodged document.
A personal name extract is ASIC's record of everything one person does on the companies register: the companies where they are or were a director, secretary, alternate director or external administrator, any registered liquidator or auditor registration they hold, the shareholdings ASIC records for them in proprietary companies, and the documents lodged that name them. This endpoint returns that extract as a single person object and is the fastest way to answer "what companies is this person a director of" for KYC, credit and conflict-of-interest checks. It reads from the most recent person extract you hold for the person and is free; the extract itself is purchased once with POST /v1/people/extracts, as explained in the purchasing guide.
https://api.asicapi.dev/v1/people/{personId}Path parameters
Prop
Type
Query parameters
Prop
Type
Whether ceased records and shareholdings are present is decided when the extract is purchased (history and includeShareholdings on the POST), not here.
Example request
curl "https://api.asicapi.dev/v1/people/prs_8f3k2m9q" \
-H "Authorization: Bearer $ASICAPI_KEY"Example response
{
"object": "person",
"id": "prs_8f3k2m9q",
"searchId": "psr_01J9AB3CD4EFG5HJ6KM7NP8QR",
"asicIdentifier": "012345678",
"name": {
"familyName": "SMITH",
"givenNames": ["JANE", "LOUISE"],
"formatted": "JANE LOUISE SMITH"
},
"birth": {
"date": "1975-04-03",
"locality": "MELBOURNE",
"stateOrCountry": "VIC"
},
"formerName": null,
"extract": {
"id": "ext_01J9AG8K1L4M7N2P",
"type": "historical",
"purchasedAt": "2026-09-04T03:12:44Z",
"asOf": "2026-09-04T03:12:41Z"
},
"includeShareholdings": true,
"notices": [
{
"type": "acnc_charity",
"acn": "009136109",
"text": "This company is registered as a charity with the Australian Charities and Not-for-Profits Commission (ACNC). To find out if the person is a current director of this company, search the company on the Charities register at www.acnc.gov.au."
}
],
"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": "UNIT 7",
"street": "45 STATION STREET",
"locality": "HAWTHORN",
"state": "VIC",
"postcode": "3122",
"country": "AUSTRALIA"
},
"sourceDocument": { "documentNumber": "0E5123456", "qualifier": null }
},
{
"object": "role",
"role": { "code": "DR", "label": "Director" },
"status": { "code": "C", "label": "Current" },
"appointedAt": "2021-09-14",
"ceasedAt": null,
"company": {
"acn": "009136109",
"formatted": "009 136 109",
"numberType": { "code": "ACN", "label": "Australian Company Number" },
"name": "NORTHERN RIVERS COMMUNITY FOUNDATION LTD",
"type": { "code": "APUB", "label": "Australian Public Company" },
"status": { "code": "REGD", "label": "Registered" },
"abn": "27009136109",
"registeredCharity": true
},
"address": {
"careOf": null,
"line1": "UNIT 7",
"street": "45 STATION STREET",
"locality": "HAWTHORN",
"state": "VIC",
"postcode": "3122",
"country": "AUSTRALIA"
},
"sourceDocument": { "documentNumber": "3E4455667", "qualifier": null }
},
{
"object": "role",
"role": { "code": "SR", "label": "Secretary" },
"status": { "code": "E", "label": "Ceased/Former" },
"appointedAt": "2009-06-15",
"ceasedAt": "2014-11-30",
"company": {
"acn": "001000004",
"formatted": "001 000 004",
"numberType": { "code": "ACN", "label": "Australian Company Number" },
"name": "BLUE HARBOUR HOLDINGS PTY LTD",
"type": { "code": "APTY", "label": "Australian Proprietary Company" },
"status": { "code": "REGD", "label": "Registered" },
"abn": "71001000004",
"registeredCharity": false
},
"address": {
"careOf": null,
"line1": null,
"street": "18 BEACH ROAD",
"locality": "MANLY",
"state": "NSW",
"postcode": "2095",
"country": "AUSTRALIA"
},
"sourceDocument": { "documentNumber": "7E1234567", "qualifier": null }
},
{
"object": "role",
"role": { "code": "VQ", "label": "Appointed Liquidator (Creditors Voluntary Winding Up)" },
"status": { "code": "C", "label": "Current" },
"appointedAt": "2023-03-20",
"ceasedAt": null,
"company": {
"acn": "004249987",
"formatted": "004 249 987",
"numberType": { "code": "ACN", "label": "Australian Company Number" },
"name": "SOUTHERN CROSS LOGISTICS PTY LTD",
"type": { "code": "APTY", "label": "Australian Proprietary Company" },
"status": { "code": "EXAD", "label": "** Under External Administration And/Or Controller Appointed **" },
"abn": "38004249987",
"registeredCharity": false
},
"address": {
"careOf": "C/- HARBOUR INSOLVENCY",
"line1": "LEVEL 12",
"street": "200 QUEEN STREET",
"locality": "MELBOURNE",
"state": "VIC",
"postcode": "3000",
"country": "AUSTRALIA"
},
"sourceDocument": { "documentNumber": "1E9876543", "qualifier": null }
},
{
"object": "role",
"role": { "code": "SH", "label": "Member" },
"status": { "code": "C", "label": "Current" },
"appointedAt": null,
"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": "UNIT 7",
"street": "45 STATION STREET",
"locality": "HAWTHORN",
"state": "VIC",
"postcode": "3122",
"country": "AUSTRALIA"
},
"sourceDocument": { "documentNumber": "0E5123456", "qualifier": null }
}
],
"licences": [
{
"object": "licence",
"type": { "code": "RQ", "label": "Registered Liquidator" },
"status": { "code": "C", "label": "Current" },
"licenceNumber": "12345",
"licenceStatus": { "code": "APPR", "label": "Application approved and licence granted" },
"from": "2010-01-01",
"to": null,
"address": {
"careOf": null,
"line1": "LEVEL 12",
"street": "200 QUEEN STREET",
"locality": "MELBOURNE",
"state": "VIC",
"postcode": "3000",
"country": "AUSTRALIA"
},
"sourceDocument": { "documentNumber": "5E0011223", "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": "UNIT 7",
"street": "45 STATION STREET",
"locality": "HAWTHORN",
"state": "VIC",
"postcode": "3122",
"country": "AUSTRALIA"
},
"sourceDocument": { "documentNumber": "0E5123456", "qualifier": null }
}
],
"documents": [
{
"object": "document",
"documentNumber": "1E9876543",
"formCode": "505",
"formDescription": "Notification of appointment or cessation of an external administrator",
"subForms": [],
"receivedAt": "2023-03-22",
"processedAt": "2023-03-23",
"effectiveAt": "2023-03-20",
"qualifier": null,
"pageCount": 3,
"imaged": true,
"underRequisition": false,
"xbrlAvailable": false,
"xbrlDocumentNumber": null,
"status": null,
"priced": null
},
{
"object": "document",
"documentNumber": "0E5123456",
"formCode": "484",
"formDescription": "Change to company details",
"subForms": [
{ "code": "484A", "description": "Change officeholder name or address" },
{ "code": "484E", "description": "Change to members register" }
],
"receivedAt": "2015-02-09",
"processedAt": "2015-02-10",
"effectiveAt": "2015-02-01",
"qualifier": null,
"pageCount": 4,
"imaged": true,
"underRequisition": false,
"xbrlAvailable": false,
"xbrlDocumentNumber": null,
"status": null,
"priced": null
},
{
"object": "document",
"documentNumber": "7E1234567",
"formCode": "370",
"formDescription": "Notification by officeholder of resignation or retirement",
"subForms": [],
"receivedAt": "2014-12-02",
"processedAt": "2014-12-04",
"effectiveAt": "2014-11-30",
"qualifier": null,
"pageCount": 0,
"imaged": false,
"underRequisition": false,
"xbrlAvailable": false,
"xbrlDocumentNumber": null,
"status": null,
"priced": null
}
],
"meta": {
"billable": false,
"product": null,
"requestId": "req_01J9AC7T2W9X4Y6Z"
}
}Response fields
| Field | Type | Description |
|---|---|---|
object | string | Always person. |
id | string | The person id you requested. |
searchId | string | The people search that produced this person id. |
asicIdentifier | string | ASIC's internal identifier for the personal name record, up to 9 digits. Stable across searches. |
name | object | Current name: familyName, givenNames[], formatted. |
birth | object | date (ISO 8601 or null), locality, stateOrCountry. All null when ASIC has no birth record. |
formerName | object or null | Former name that matched the search, in the same shape as name. null when the current name matched. |
extract | object | The extract this response was read from: id, type (current or historical), purchasedAt, asOf. Ceased records are present only when type is historical. |
includeShareholdings | boolean | Whether the extract was purchased with shareholdings and Member roles. |
notices[] | array | Text ASIC requires to be shown with the extract. Empty when none applies. |
notices[].type | string | acnc_charity when the person is a director of a company registered with the ACNC, or same_name when birth details are unknown and the record may cover more than one person. |
notices[].acn | string or null | The company the notice relates to, for acnc_charity. null for same_name. |
notices[].text | string | The notice text, verbatim as ASIC requires it to be displayed. |
roles[] | array | Company roles held by the person. See list a person's roles for the paginated, filterable form. |
roles[].object | string | Always role. |
roles[].role | code | Office holder role from the office holder roles table (for example DR Director, SR Secretary, VQ Appointed Liquidator), or SH Member when the extract includes shareholdings. |
roles[].status | code | C current, E ceased. Ceased roles appear only in a historical extract. |
roles[].appointedAt | date or null | Appointment date. null for Member roles and where ASIC has no date. |
roles[].ceasedAt | date or null | Cessation date for ceased roles. |
roles[].company | object | Company summary: acn, formatted, numberType, name, type, status, abn, registeredCharity. numberType is the heading ASIC gives the number (ACN, ARBN, ARSN or plain Number). |
roles[].address | object or null | The address recorded for the person in that role. |
roles[].sourceDocument | object or null | Document that last changed the role record: documentNumber and qualifier (for example AR 2019 for an annual return year). |
licences[] | array | Registrations and licences held by the person as a natural person. |
licences[].object | string | Always licence. |
licences[].type | code | Licence or register role from the person licence and register roles table, for example RQ Registered Liquidator, RA Registered Auditor, FR Financial Services Representative, DD Disqualified Persons. |
licences[].status | code | C current, E ceased. |
licences[].licenceNumber | string or null | Registration or licence number, when the register uses one. |
licences[].licenceStatus | code or null | Licence status from the licence statuses table, for example APPR, SUSP, NOAC. |
licences[].from | date | Start of the registration or licence. |
licences[].to | date or null | End of the registration or licence. |
licences[].address | object or null | Address recorded on the licence or register. |
licences[].sourceDocument | object or null | Document that last changed the licence record. |
shareholdings[] | array | Shareholdings ASIC records for the person. Empty when includeShareholdings is false. See list a person's shareholdings. |
shareholdings[].object | string | Always shareholding. |
shareholdings[].classCode | string | Share class code as the company uses it, for example ORD. |
shareholdings[].numberHeld | integer | Number of shares held in that class. |
shareholdings[].beneficiallyOwned | boolean or null | Whether the shares are held beneficially. |
shareholdings[].fullyPaid | boolean or null | Whether the shares are fully paid. |
shareholdings[].status | code | C current, E ceased. |
shareholdings[].jointHolding | boolean | Whether the holding is joint. |
shareholdings[].company | object | Summary of the issuing company, same shape as roles[].company. |
shareholdings[].address | object or null | Member address recorded by the company. |
shareholdings[].sourceDocument | object or null | Document that last changed the holding. |
documents[] | array | Documents lodged in relation to the person, newest first. See list a person's documents. |
documents[].object | string | Always document. |
documents[].documentNumber | string | 9-character ASIC document number. |
documents[].formCode | string | ASIC form code, for example 484. See ASIC form codes. |
documents[].formDescription | string | Form title. |
documents[].subForms[] | array | Sub-form codes and descriptions where the form has schedules, for example 484E. |
documents[].receivedAt | date | Date ASIC received the document. |
documents[].processedAt | date or null | Date ASIC processed it. |
documents[].effectiveAt | date or null | Effective date of the change reported. |
documents[].qualifier | string or null | Annual return or financial report year, for example AR 2019. |
documents[].pageCount | integer | Number of imaged pages. 0 means the image is not currently retrievable. |
documents[].imaged | boolean | false when pageCount is 0. |
documents[].underRequisition | boolean | Whether ASIC has requisitioned the document for correction. |
documents[].xbrlAvailable | boolean | Whether XBRL financial data accompanies the document. |
documents[].xbrlDocumentNumber | string or null | Document number of the XBRL file when xbrlAvailable is true. |
documents[].status | null | Form status is only supplied on company document lists; always null here. |
documents[].priced | null | Pricing indicator is only supplied on company document lists; always null here. |
meta | object | Reads are free: billable is false, product is null, requestId echoes X-Request-Id. The billing record is on the purchase response. |
Errors
| Code | HTTP status | When |
|---|---|---|
extract_required | 402 | You hold no person extract for this person. details.purchase tells you exactly what to POST; see the example below. |
extract_not_found | 404 | The extract query parameter names an extract that does not exist, belongs to another person or is not a person extract. |
extract_expired | 410 | The extract named by extract, or the only extract you hold for the person, is more than 12 months old. Purchase again. |
extract_owner_mismatch | 403 | The extract named by extract was purchased under a different account. |
person_not_found | 404 | The person id is malformed or was never returned by a search under your account. |
validation_error | 422 | extract is not a well-formed extract id. |
The 402 response names the purchase that would satisfy the request:
{
"error": {
"type": "extract_required_error",
"code": "extract_required",
"message": "A person's roles, licences and shareholdings are part of a person extract. Purchase one with POST /v1/people/extracts.",
"param": null,
"asicCode": null,
"requestId": "req_01J9AC7T2W9X4Y6Z",
"docUrl": "https://asicapi.dev/docs/errors#extract_required",
"details": {
"purchase": {
"method": "POST",
"path": "/v1/people/extracts",
"body": {
"searchId": "psr_01J9AB3CD4EFG5HJ6KM7NP8QR",
"personIds": ["prs_8f3k2m9q"],
"history": false,
"includeShareholdings": false
},
"product": "person_extract"
}
}
}
}Notes from the ASIC register
- Reads are free; purchases are not. This endpoint never contacts ASIC. It returns the most recent person extract you hold, bought with
POST /v1/people/extracts, and each read is free for the 12 months the extract is stored. To see lodgements made sinceextract.asOf, purchase again. See the purchasing guide. - Person ids and search expiry. ASIC retains name search results for one month, so a person id can only be used to purchase for 30 days after its search. Reading an extract you already hold with that id keeps working for the life of the extract. If the search has expired and you need fresh data, search again by name;
asicIdentifieris the durable reference for matching the new id to the old one. - Nine hundred and ninety-nine roles. ASIC abandons an extract with more than 999 roles. This affects professional directors and registered liquidators with long careers, and surfaces as
person_too_many_roleson the purchase, never here. - Charity directors. When the person is a director of a company registered with the Australian Charities and Not-for-profits Commission, ASIC sets
registeredCharitytotrueon that company and requires this text to be displayed: "This company is registered as a charity with the Australian Charities and Not-for-Profits Commission (ACNC). To find out if the person is a current director of this company, search the company on the Charities register at www.acnc.gov.au." asicapi returns it innotices[]with typeacnc_charity. The flag is only returned when the subject of the extract is a director of a charity; ASIC's own record of a charity's directors may be out of date because charities report to the ACNC instead. - Same-name notice. Where birth details are not recorded, ASIC requires this note 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." asicapi returns it in
notices[]with typesame_namewheneverbirth.dateisnull. - Role ordering. Roles follow ASIC's role sequence (management roles, then external administration, scheme and other roles), with current before ceased and ceased roles in reverse chronological order. Member roles are listed last.
- Member roles and shareholdings. When the extract was purchased with
includeShareholdings, ASIC adds aSHMember role for each company in which the person is a recorded member, alongside the detailedshareholdings[]entries. For each share class of a proprietary company ASIC records only the twenty largest members plus any member tied with the twentieth. A ceased shareholding may mean the person dropped out of the top twenty, not that they sold their shares. - ABNs. ASIC receives a feed from the Australian Business Register and adds the ABN to each company where one exists;
abnisnullotherwise. - Source documents.
sourceDocumentidentifies the document that made the latest change to the record. Annual returns are qualified asAR 1998and financial reports asFR 1998. Order the image with image orders. - XBRL. For financial reports lodged with XBRL data,
xbrlAvailableistrueand the XBRL document number is supplied inxbrlDocumentNumber. The XBRL file is not listed as a separate document. - Unknown codes. ASIC adds codes to its tables without notice. When asicapi does not recognise a code,
labelequalscode.
Related
Purchase a person extract
Buy the extract this endpoint reads, for up to 100 people at once.
Purchasing guide
Free lookups, purchased extracts and asynchronous orders explained.
Search people
Find a person by family name, given names and date of birth to obtain a person id.
List a person's roles
Paginated roles with status and role filters.
List a person's shareholdings
Shareholdings ASIC records for the person, with the issuing company.
List a person's documents
Documents lodged in relation to the person.
Office holder roles
All 37 role codes and what they mean.
Company office holders
The same roles seen from the company's side.
Search people by name and date of birth
Search the ASIC register for a director, secretary, liquidator or shareholder by family name, given names and date of birth range with the asicapi REST API.
List a person's company roles and directorships
List every company where a person is or was a director, secretary, liquidator or other office holder on the ASIC register, filtered by role and status.