asicapidocs

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:

RuleAPI behaviour
Family name is requiredname_required error if familyName is missing
First given name is requiredname_required error if givenName is missing
No digits, full stops or commas in any name elementname_invalid_characters error
Given names cannot contain embedded blanksPass second and third given names as givenName2 and givenName3 instead
Birth date range needs both endsbirth_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 matchA birth date range filters records with known dates but still returns records that have no birth date
Up to 100 names per searchLarger 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

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

SectionContentsControlled 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 companyOnly when "includeShareholdings": true on the purchase
documents[]ASIC documents lodged in relation to the person, newest firstAlways
notices[]Notices ASIC requires to be shown with the extract, such as the multiple-person notice above and the ACNC charity noticeAlways

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:

CodeMeaning
BFBanned Futures Representative
BSBanned Securities Representative
DDDisqualified Persons
AFAuditor of AFS Licensee
FKAFS Responsible Person
FLFinancial Services Licencee
FRFinancial Services Representative
FXBanned Financial Services Representative
LPLodging Party
OQOfficial Liquidators
RARegistered Auditor
RQRegistered 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

Request
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 }'
Response (201 Created)
{
  "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:

Response (abridged)
{
  "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.

On this page