List company office holders
List the current and former directors, secretaries, liquidators, administrators and other office holders of an Australian company by ACN from the ASIC register.
Company office holders
An office holder is anyone appointed to a role in a company that ASIC records: directors, alternate directors, secretaries, auditors, ultimate holding companies, local agents of foreign companies, and the external administrators (liquidators, administrators, receivers and controllers) appointed when a company is in financial difficulty. This endpoint lists a company's office holders with their role, appointment and cessation dates, name and birth details (for people) or ACN (for organisations), residential or registered address, and the ASIC document that recorded the appointment. The data comes from a company extract you have already purchased with POST /v1/companies/{id}/extracts; this call reads it back for free, as described in the purchasing guide.
https://api.asicapi.dev/v1/companies/{id}/officeholdersPath parameters
Prop
Type
Query parameters
Prop
Type
Example request
curl -g "https://api.asicapi.dev/v1/companies/004085616/officeholders?status=all" \
-H "Authorization: Bearer $ASICAPI_KEY"Example response
{
"object": "list",
"data": [
{
"object": "officeholder",
"role": { "code": "DR", "label": "Director" },
"status": { "code": "C", "label": "Current" },
"appointedAt": "2015-02-01",
"ceasedAt": null,
"party": {
"type": "person",
"person": { "familyName": "SMITH", "givenNames": ["JANE", "LOUISE"], "formatted": "JANE LOUISE SMITH" },
"birth": { "date": "1975-04-03", "locality": "MELBOURNE", "stateOrCountry": "VIC" },
"organisation": null
},
"address": {
"careOf": null,
"line1": null,
"street": "8 ORCHARD AVENUE",
"locality": "KEW",
"state": "VIC",
"postcode": "3101",
"country": "AUSTRALIA"
},
"sourceDocument": { "documentNumber": "0E5123456", "qualifier": null },
"cessationDocuments": [],
"court": null
},
{
"object": "officeholder",
"role": { "code": "DR", "label": "Director" },
"status": { "code": "E", "label": "Ceased/Former" },
"appointedAt": "2004-03-12",
"ceasedAt": "2023-11-20",
"party": {
"type": "person",
"person": { "familyName": "NGUYEN", "givenNames": ["DAVID"], "formatted": "DAVID NGUYEN" },
"birth": { "date": "1961-09-17", "locality": "SAIGON", "stateOrCountry": "VIETNAM" },
"organisation": null
},
"address": {
"careOf": null,
"line1": "APARTMENT 12",
"street": "300 COLLINS STREET",
"locality": "MELBOURNE",
"state": "VIC",
"postcode": "3000",
"country": "AUSTRALIA"
},
"sourceDocument": { "documentNumber": "1E9876543", "qualifier": null },
"cessationDocuments": [
{
"documentNumber": "1E9876543",
"receivedAt": "2023-11-24",
"formCode": "484",
"pageCount": 3,
"description": "CHANGE TO COMPANY DETAILS - CEASE OFFICEHOLDER"
},
{
"documentNumber": "1E9876601",
"receivedAt": "2023-11-20",
"formCode": "5057",
"pageCount": 6,
"description": "ORDER OF THE SUPREME COURT OF VICTORIA REMOVING DIRECTOR"
}
],
"court": {
"type": { "code": "S", "label": "Supreme" },
"state": { "code": "VIC", "label": "Victoria" },
"applicationNumber": "S ECI 2023 01234",
"year": "2023"
}
},
{
"object": "officeholder",
"role": { "code": "SR", "label": "Secretary" },
"status": { "code": "C", "label": "Current" },
"appointedAt": "2019-08-19",
"ceasedAt": null,
"party": {
"type": "person",
"person": { "familyName": "TAN", "givenNames": ["WEI", "MING"], "formatted": "WEI MING TAN" },
"birth": { "date": "1982-11-30", "locality": "SINGAPORE", "stateOrCountry": "SINGAPORE" },
"organisation": null
},
"address": {
"careOf": null,
"line1": "UNIT 4",
"street": "21 STATION STREET",
"locality": "BOX HILL",
"state": "VIC",
"postcode": "3128",
"country": "AUSTRALIA"
},
"sourceDocument": { "documentNumber": "0E7788990", "qualifier": null },
"cessationDocuments": [],
"court": null
},
{
"object": "officeholder",
"role": { "code": "UH", "label": "Ultimate Holding Company" },
"status": { "code": "C", "label": "Current" },
"appointedAt": "2010-07-01",
"ceasedAt": null,
"party": {
"type": "organisation",
"person": null,
"birth": null,
"organisation": {
"number": "001000004",
"numberType": { "code": "ACN", "label": "Australian Company Number" },
"name": "ACME HOLDINGS LIMITED",
"abn": "51001000004"
}
},
"address": null,
"sourceDocument": { "documentNumber": "7E1234567", "qualifier": "AR 2010" },
"cessationDocuments": [],
"court": null
}
],
"hasMore": false,
"nextCursor": null,
"totalCount": null,
"extract": {
"id": "ext_01J9AC5D8R3YN7",
"type": "historical",
"purchasedAt": "2026-09-04T03:13:30Z",
"asOf": "2026-09-04T03:13:27Z"
},
"meta": { "billable": false, "product": null, "requestId": "req_01J8ZK6H9J0K1L" }
}Response fields
| Field | Type | Description |
|---|---|---|
object | string | Always list. |
data[] | officeholder[] | Office holder records in ASIC order (see notes). |
data[].object | string | Always officeholder. |
data[].role | code | The role held. DR director, LD alternate director, SR secretary, AA appointed auditor, UH ultimate holding company, AG local agent, AQ appointed liquidator, AC administrator, RC receiver and 28 others. See office holder roles. |
data[].status | code | C current or E ceased. |
data[].appointedAt | date or null | Appointment date. null when ASIC holds no date, common for records migrated from state registers. |
data[].ceasedAt | date or null | Cessation date. null while the appointment is current. |
data[].party | party | Who holds the office. type is person or organisation. |
data[].party.person | name or null | familyName, givenNames[] and formatted for a natural person. |
data[].party.birth | birth or null | date, locality and stateOrCountry of birth for a natural person. date may be null. |
data[].party.organisation | object or null | For a corporate office holder such as an ultimate holding company or corporate local agent: number, numberType, name and abn. For a compliance plan auditor (CA) that is a firm, number is ASIC's person reference number rather than an ACN. |
data[].address | address or null | Residential address of a person, or registered office of an organisation. null where ASIC holds no address for the role. |
data[].sourceDocument | object or null | The document that last changed this record. qualifier is set for annual returns (AR 2010) and financial reports (FR 2010). |
data[].cessationDocuments[] | object[] | Up to 9 documents affecting a director's cessation, each with documentNumber, receivedAt, formCode, pageCount (0 when not imaged) and description, which for court documents describes the order. Empty for current appointments and for roles other than director. |
data[].court | object or null | Set when a court order affects the role: type (F Federal, M Family, S Supreme), state, applicationNumber and year. |
hasMore | boolean | Always false; an extract holds the complete office holder list. |
nextCursor | string or null | Always null. |
totalCount | integer or null | null; ASIC does not report a total for extract sections. |
extract | object | The extract the data was read from. |
extract.id | string | Extract identifier. Pass it as extract to read the same snapshot again. |
extract.type | string | current or historical. |
extract.purchasedAt | timestamp | When the extract was purchased. |
extract.asOf | timestamp | When ASIC produced the data. Appointments and cessations lodged after this are not reflected. |
meta.billable | boolean | Always false. Reading an extract you hold is free. |
meta.product | string or null | Always null. |
meta.requestId | string | Request identifier. |
Errors
| Code | HTTP | When it occurs |
|---|---|---|
extract_required | 402 | You hold no unexpired extract for this company, or you asked for status=former or status=all and only hold a current extract. error.details.purchase gives the request to make: { "type": "current" } or { "type": "historical" }. |
extract_not_found | 404 | The extract id does not exist on your account. |
extract_expired | 410 | The extract id refers to an extract older than 12 months. |
extract_owner_mismatch | 403 | The extract id belongs to a different account, or is not an extract of this company. |
acn_invalid | 400 | The number fails the ASIC check digit test. |
company_not_found | 404 | No organisation with this identifier. |
abn_invalid | 400 | The ABN fails its check digit test. |
abn_not_acn_based | 400 | The ABN does not embed an ACN. |
abn_not_found | 404 | No company matches the ACN embedded in the ABN. |
extract_unavailable_for_type | 422 | ASIC does not issue extracts for this organisation type (only APTY, APUB, RACN, FNOS, MISM), so there is nothing to purchase or read. |
validation_error | 422 | Unknown status value or role[] code. |
unauthorized | 401 | Missing or invalid API key. |
rate_limited | 429 | Rate limit exceeded. |
asic_unavailable | 503 | The ASIC register is offline. |
Notes from the ASIC register
- Snapshot. The list reflects the register at
extract.asOf. To see appointments or cessations lodged since, purchase a new extract; this endpoint never refreshes on its own. - Ordering. Records are grouped by role in ASIC's fixed sequence:
RG,RP,PA,RO,RN,CA,EO,DR,SR,LD,AA,AG,UH,RC,RM,PT,PQ,MQ,VQ,CQ,SM,CM,DM,OM,AQ,RF,RS,FE,CR,MC,AC,AD,BI,BM,BP. Within each role, current records come first, then ceased records in reverse chronological order of cessation. Therole[]filter preserves this order. - Directors and secretaries. Since the Corporate Law Economic Reform Program Act 1999, appointing a secretary is optional for proprietary companies. Where a company has no secretary ASIC prints: Appointment of secretary is optional. In the event no secretary is appointed the director(s) assume the responsibilities under the Law. An empty result for
role[]=SRon a proprietary company is therefore normal. See directors and secretaries. - Corporate office holders. Ultimate holding companies, local agents and some auditors are organisations. For those records
party.typeisorganisation, andparty.organisation.numberis the ACN, ARBN or plain number identified bynumberType. When the role is compliance plan auditor (CA), the number is ASIC's person reference number for the auditor rather than a company number. - Cessation documents and court orders. For ceased directors ASIC may list up to nine documents that affected the cessation, including court orders. Where a court order applies,
courtidentifies the court type, state, application number and year. - External administrators. Liquidators, administrators, receivers, controllers and restructuring practitioners appear as office holders with the corresponding role codes. For a summary of the current administration and the related documents use external administration.
- Birth details. Dates of birth are recorded by ASIC and returned in extracts. Handle them as personal information. In the sandbox all names are replaced with placeholders.
- Unknown codes. ASIC adds role codes without notice. When a code is unknown the
labelequals the code.
Related
Purchase a company extract
Buy the current or historical extract this endpoint reads from.
Purchasing
How free lookups, purchased extracts and orders fit together.
Office holders
Who counts as an office holder and how ASIC records appointments and cessations.
Directors and secretaries
Obligations, optional secretaries and how to identify a director across companies.
Office holder roles
All 37 role codes grouped by management, external administration and scheme roles.
External administration
Current appointees and documents for companies in administration or liquidation.
Search people
Find every company a director holds office in.
Purchase a company extract
Buy a current, historical or relational ASIC company extract by ACN with one POST, then read office holders, members and more for free for 12 months.
List company addresses
Get the registered office, principal place of business and other ASIC-recorded addresses of an Australian company by ACN, with former addresses and dates.