List company members and shareholders
List the shareholders of an Australian proprietary company by ACN, with share class, number held, beneficial ownership, joint holders and addresses.
Company members
Members are the shareholders of a company. For proprietary companies ASIC records, for each class of shares, the top twenty members ranked by the number of shares held, with each member's name, address, the number of shares, whether they are held beneficially and whether they are fully paid. Members can be people or organisations, and a single holding can be held jointly by several members. This endpoint returns those shareholdings as structured records, the primary source for identifying who owns an Australian private company. The data comes from a company extract you have already purchased with POST /v1/companies/{id}/extracts and is read back for free, as described in the purchasing guide.
https://api.asicapi.dev/v1/companies/{id}/membersPath parameters
Prop
Type
Query parameters
Prop
Type
Example request
curl "https://api.asicapi.dev/v1/companies/004085616/members?classCode=ORD" \
-H "Authorization: Bearer $ASICAPI_KEY"Example response
{
"object": "list",
"data": [
{
"object": "shareholding",
"classCode": "ORD",
"numberHeld": 500,
"beneficiallyOwned": true,
"fullyPaid": true,
"status": { "code": "C", "label": "Current" },
"jointHolding": false,
"holders": [
{
"party": {
"type": "organisation",
"person": null,
"birth": null,
"organisation": {
"number": "001000004",
"numberType": { "code": "ACN", "label": "Australian Company Number" },
"name": "ACME HOLDINGS LIMITED",
"abn": "51001000004"
}
},
"address": {
"careOf": null,
"line1": "LEVEL 20",
"street": "1 EXAMPLE PLACE",
"locality": "SYDNEY",
"state": "NSW",
"postcode": "2000",
"country": "AUSTRALIA"
}
}
],
"sourceDocument": { "documentNumber": "0E5123456", "qualifier": null }
},
{
"object": "shareholding",
"classCode": "ORD",
"numberHeld": 300,
"beneficiallyOwned": false,
"fullyPaid": true,
"status": { "code": "C", "label": "Current" },
"jointHolding": false,
"holders": [
{
"party": {
"type": "person",
"person": { "familyName": "SMITH", "givenNames": ["JANE", "LOUISE"], "formatted": "JANE LOUISE SMITH" },
"birth": null,
"organisation": null
},
"address": {
"careOf": null,
"line1": null,
"street": "8 ORCHARD AVENUE",
"locality": "KEW",
"state": "VIC",
"postcode": "3101",
"country": "AUSTRALIA"
}
}
],
"sourceDocument": { "documentNumber": "0E5123456", "qualifier": null }
},
{
"object": "shareholding",
"classCode": "ORD",
"numberHeld": 200,
"beneficiallyOwned": true,
"fullyPaid": true,
"status": { "code": "C", "label": "Current" },
"jointHolding": true,
"holders": [
{
"party": {
"type": "person",
"person": { "familyName": "PATEL", "givenNames": ["PRIYA"], "formatted": "PRIYA PATEL" },
"birth": null,
"organisation": null
},
"address": {
"careOf": null,
"line1": null,
"street": "14 RIVER ROAD",
"locality": "RICHMOND",
"state": "VIC",
"postcode": "3121",
"country": "AUSTRALIA"
}
},
{
"party": {
"type": "person",
"person": { "familyName": "PATEL", "givenNames": ["ROHAN"], "formatted": "ROHAN PATEL" },
"birth": null,
"organisation": null
},
"address": {
"careOf": null,
"line1": null,
"street": "14 RIVER ROAD",
"locality": "RICHMOND",
"state": "VIC",
"postcode": "3121",
"country": "AUSTRALIA"
}
}
],
"sourceDocument": { "documentNumber": "2E2233445", "qualifier": null }
}
],
"hasMore": false,
"nextCursor": null,
"totalCount": null,
"extract": {
"id": "ext_01J9AB3K7Q2XM4",
"type": "current",
"purchasedAt": "2026-09-04T03:12:44Z",
"asOf": "2026-09-04T03:12:41Z"
},
"meta": { "billable": false, "product": null, "requestId": "req_01J8ZK9V8W9X0Y" }
}Response fields
| Field | Type | Description |
|---|---|---|
object | string | Always list. |
data[] | shareholding[] | One record per holding. A joint holding is one record with several holders. |
data[].object | string | Always shareholding. |
data[].classCode | string | Share class code, matching classCode in share capital. |
data[].numberHeld | integer | Number of shares (or scheme interests) in the holding. |
data[].beneficiallyOwned | boolean or null | true when the member holds the shares beneficially, false when held on trust or as nominee for someone else. null when ASIC has no record. |
data[].fullyPaid | boolean or null | Whether the shares in the holding are fully paid. |
data[].status | code | C current or E ceased. |
data[].jointHolding | boolean | true when two or more members hold the shares jointly; holders then has more than one entry. |
data[].holders[] | object[] | The member or joint members. Up to 999 holders per holding. |
data[].holders[].party | party | type person with person name details, or organisation with number, numberType, name and abn. ASIC does not record birth details for members, so birth is always null. |
data[].holders[].address | address or null | The member's address as notified. Joint holders often share one address. |
data[].sourceDocument | object or null | Document that last changed the holding, typically a Form 484 (sub-form 484E, change to members register) or an annual return with an AR qualifier. |
hasMore | boolean | Always false. |
nextCursor | string or null | Always null. |
totalCount | integer or null | null. |
extract | object | The extract the data was read from: id, type (current or historical), purchasedAt and asOf. Share transfers lodged after asOf 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. |
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. |
validation_error | 422 | Unknown status value. |
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 members list reflects the register at
extract.asOf. A transfer notified after that date appears only in a newly purchased extract. - Only the top 20 members per class. ASIC's own note reads: For each class of shares issued by a proprietary company, ASIC records the details of the twenty members of the class (based on shareholdings). The details of any other members holding the same number of shares as the twentieth ranked member will also be recorded by ASIC on the database. Where available, historical records show that a member has ceased to be ranked amongst the twenty members. This may, but does not necessarily mean, that they have ceased to be a member of the company. A ceased holding in a historical extract can therefore mean the member simply dropped out of the top twenty.
- Public companies. Public companies have not been required to notify ASIC of their members since 1 July 1998, so the list is usually empty for
APUBcompanies and listed companies. Their registers are held by the company or its share registry. - Beneficial ownership.
beneficiallyOwned: falseindicates the recorded member holds the shares for someone else, such as a trustee or nominee. ASIC does not record who the beneficial owner is. - Joint holdings. Joint holders are listed together in one holding with
jointHolding: true. Each holder has their own name and address. - Corporate members. For a corporate member
party.organisation.numberis the ACN where the member is an Australian company; for foreign or unregistered entitiesnumberTypemay beNUMBER(a plain registration number) or the number may benull. - No birth details. ASIC records names and addresses for members but not dates of birth, so two members with the same name cannot be distinguished from this data alone.
- Unknown flags. Records migrated from state registers before 1991 may have
beneficiallyOwnedorfullyPaidset tonull.
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.
Share capital and members
How ASIC records shareholders and why only twenty per class appear.
Share capital
The share classes these holdings belong to.
Company relationships
Shares this company holds in other companies.
Search people
Find a person's shareholdings across companies.
Get company share capital and share classes
Retrieve the issued share capital of an Australian company by ACN from the ASIC register, with each share class, shares issued, amount paid and amount unpaid.
List documents lodged by a company
List every form a company has lodged with ASIC by ACN, newest first, with document numbers, form codes, page counts and XBRL availability.