asicapidocs

Banned and disqualified persons register API

Search ASIC's registers of disqualified directors and banned securities and futures representatives for free, then purchase and read the ban details.

ASIC publishes the names of people it has disqualified from managing corporations and people it has banned from providing financial services. The disqualified directors register (DD) lists individuals who are disqualified under Part 2D.6 of the Corporations Act 2001, whether by court order, by ASIC's own decision or automatically following a conviction or bankruptcy. The banned securities representatives (BS) and banned futures representatives (BF) registers list people banned from acting as dealers, advisers or brokers under the pre-2002 licensing regime. A quick browse by family name is the standard due diligence step before appointing a director, and it is free. When a browse hit needs confirming, purchase the register extract, which is the only billed step, and read it free for 12 months: it gives you the ban period, whether it is permanent, whether it is under appeal, any exceptions ASIC allowed and the ASIC documents behind a disqualification. The purchasing guide explains the model.

Browse a register

Browse returns entries whose family name starts with the browse key. It is free and never billed.

GEThttps://api.asicapi.dev/v1/registers/{register}/entries

Path parameters

Prop

Type

Query parameters

Prop

Type

These registers cannot be browsed by number. Take the number (ASIC identifier) from a browse result and pass it to the purchase and read endpoints.

Example request

Request
curl "https://api.asicapi.dev/v1/registers/DD/entries?name=PATTERSON" \
  -H "Authorization: Bearer $ASICAPI_KEY"

Example response

Response
{
  "object": "list",
  "data": [
    {
      "object": "registerEntry",
      "register": { "code": "DD", "label": "Disqualified directors" },
      "number": "023456789",
      "asicIdentifier": "023456789",
      "documentNumber": "0E7654321",
      "party": {
        "type": "person",
        "person": { "familyName": "PATTERSON", "givenNames": ["GREGORY", "ALAN"], "formatted": "GREGORY ALAN PATTERSON" },
        "birth": null,
        "organisation": null
      },
      "from": "2023-09-18",
      "to": "2028-09-17",
      "isFormerName": false,
      "suspended": null,
      "address": {
        "careOf": null,
        "line1": null,
        "street": "7 EXAMPLE CLOSE",
        "locality": "HOBART",
        "state": "TAS",
        "postcode": "7000",
        "country": "AUSTRALIA"
      },
      "underAppeal": false,
      "authorities": null
    },
    {
      "object": "registerEntry",
      "register": { "code": "DD", "label": "Disqualified directors" },
      "number": "034567890",
      "asicIdentifier": "034567890",
      "documentNumber": "0E7001122",
      "party": {
        "type": "person",
        "person": { "familyName": "PATTERSON", "givenNames": ["LEANNE"], "formatted": "LEANNE PATTERSON" },
        "birth": null,
        "organisation": null
      },
      "from": "2024-02-05",
      "to": null,
      "isFormerName": false,
      "suspended": null,
      "address": {
        "careOf": null,
        "line1": "UNIT 3",
        "street": "18 SAMPLE AVENUE",
        "locality": "PERTH",
        "state": "WA",
        "postcode": "6000",
        "country": "AUSTRALIA"
      },
      "underAppeal": true,
      "authorities": null
    }
  ],
  "hasMore": false,
  "nextCursor": null,
  "totalCount": null,
  "meta": {
    "billable": false,
    "product": null,
    "requestId": "req_01J8ZK3V7Q0M2X"
  }
}

Response fields

FieldTypeDescription
objectstringAlways list.
data[].objectstringAlways registerEntry. This is the summary form; the read endpoint below returns the full form.
data[].registerobjectThe register browsed, { code, label } from the register types table.
data[].numberstringThe ASIC identifier of the person. Pass it to the purchase and read endpoints. Identical to asicIdentifier.
data[].asicIdentifierstringASIC's unique identifier for the person, up to nine digits.
data[].documentNumberstring or nullASIC document number of the notice that placed the person on the register, where recorded. Fetch it with the documents endpoint.
data[].partyobjectThe banned or disqualified party. Normally type: "person"; ASIC's register format allows an organisation name, in which case type is organisation. birth is null on browse results.
data[].fromstring (date)Start date of the disqualification or banning order.
data[].tostring (date) or nullEnd date, or null for a permanent order or one with no recorded end.
data[].isFormerNamebooleanAlways false; ASIC does not flag former names on these registers.
data[].suspendednullNot applicable to banned and disqualified registers.
data[].addressobject or nullAddress recorded for the person, where ASIC holds one.
data[].underAppealbooleantrue when the banning order or disqualification is under appeal.
data[].authoritiesnullNot applicable to banned and disqualified registers.
hasMorebooleanWhether another page is available.
nextCursorstring or nullCursor for the next page. See pagination.
totalCountnullASIC does not report a total for register browses.
metaobjectBrowsing is free: billable is false and product is null.

Purchase a banned or disqualified person extract

Buying the extract is the one billed step. ASIC returns the data in the same call, so the response is 201 Created with the complete extract, stored under your account for 12 months.

POSThttps://api.asicapi.dev/v1/registers/{register}/entries/{number}/extracts

Path parameters

Prop

Type

Request body

Prop

Type

Send Content-Type: application/json; an empty object {} is accepted. An Idempotency-Key header is honoured for 24 hours so a retried request returns the extract already purchased instead of buying it again.

Example request

Request
curl -X POST https://api.asicapi.dev/v1/registers/DD/entries/023456789/extracts \
  -H "Authorization: Bearer $ASICAPI_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: 7b3d9e5f-dd-023456789-2026-09-04" \
  -d '{ "history": false }'

Example response

Response
{
  "object": "extract",
  "id": "ext_01J9AS6V9W2X5Y8Z",
  "kind": "register",
  "type": "current",
  "subject": {
    "object": "registerEntry",
    "register": { "code": "DD", "label": "Disqualified directors" },
    "number": "023456789",
    "party": {
      "type": "person",
      "person": { "familyName": "PATTERSON", "givenNames": ["GREGORY", "ALAN"], "formatted": "GREGORY ALAN PATTERSON" },
      "birth": null,
      "organisation": null
    }
  },
  "purchasedAt": "2026-09-04T04:05:31Z",
  "asOf": "2026-09-04T04:05:29Z",
  "expiresAt": "2027-09-04T04:05:31Z",
  "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.",
  "register": { "code": "DD", "label": "Disqualified directors" },
  "number": "023456789",
  "person": {
    "asicIdentifier": "023456789",
    "name": { "familyName": "PATTERSON", "givenNames": ["GREGORY", "ALAN"], "formatted": "GREGORY ALAN PATTERSON" },
    "disclaimer": false
  },
  "address": {
    "careOf": null,
    "line1": null,
    "street": "7 EXAMPLE CLOSE",
    "locality": "HOBART",
    "state": "TAS",
    "postcode": "7000",
    "country": "AUSTRALIA"
  },
  "bans": [
    {
      "object": "ban",
      "type": null,
      "from": "2023-09-18",
      "to": "2028-09-17",
      "permanent": false,
      "underAppeal": false,
      "exceptions": [
        "THE PERSON MAY CONTINUE TO ACT AS A DIRECTOR OF PATTERSON FAMILY HOLDINGS PTY LTD ACN 001 000 004 FOR THE SOLE PURPOSE OF WINDING UP ITS AFFAIRS.",
        "THE PERSON MUST NOT TAKE PART IN THE MANAGEMENT OF ANY OTHER CORPORATION DURING THE PERIOD OF DISQUALIFICATION."
      ]
    }
  ],
  "documents": [
    {
      "object": "document",
      "documentNumber": "0E7654321",
      "formCode": "5602",
      "formDescription": "Notice of disqualification from managing corporations",
      "subForms": [],
      "receivedAt": "2023-09-18",
      "processedAt": "2023-09-19",
      "effectiveAt": "2023-09-18",
      "qualifier": null,
      "pageCount": 6,
      "imaged": true,
      "underRequisition": false,
      "xbrlAvailable": false,
      "xbrlDocumentNumber": null,
      "status": null,
      "priced": true
    },
    {
      "object": "document",
      "documentNumber": "0E7600987",
      "formCode": "5601",
      "formDescription": "Notice of intention to disqualify from managing corporations",
      "subForms": [],
      "receivedAt": "2023-06-02",
      "processedAt": "2023-06-05",
      "effectiveAt": "2023-06-02",
      "qualifier": null,
      "pageCount": 0,
      "imaged": false,
      "underRequisition": false,
      "xbrlAvailable": false,
      "xbrlDocumentNumber": null,
      "status": null,
      "priced": true
    }
  ],
  "disclaimerText": null,
  "meta": {
    "billable": true,
    "product": "register_extract",
    "requestId": "req_01J9AS6V9W2X5Y8Z"
  }
}

A banned representative extract (BS or BF) has the same shape, with address set to null, documents an empty array and each ban carrying a type from the licence ban types table:

Ban on the BS register
{
  "object": "ban",
  "type": { "code": "BSC", "label": "Securities Dealer And Investment Adviser" },
  "from": "2001-04-12",
  "to": null,
  "permanent": true,
  "underAppeal": false,
  "exceptions": []
}

Response fields

FieldTypeDescription
objectstringAlways extract.
idstringExtract id, prefixed ext_. Pass it as the extract query parameter on the read endpoint, or to GET /v1/extracts/{id}.
kindstringAlways register.
typestringAlways current for the banned and disqualified registers.
subjectobjectSummary of what was purchased: object (registerEntry), register, number and party.
purchasedAttimestampWhen the extract was bought from ASIC, RFC 3339 UTC.
asOftimestampThe moment ASIC produced the data. The extract is a snapshot at this time and never refreshes.
expiresAttimestampWhen the extract stops being readable, 12 months after purchasedAt.
disclaimerstringASIC's section 1274A disclaimer, to be displayed with the extract.
registerobjectThe register requested, { code, label } from the register types table.
numberstringThe ASIC identifier requested.
personobjectThe banned or disqualified person.
person.asicIdentifierstringASIC's unique identifier for the person.
person.nameobjectPerson name object (familyName, givenNames[], formatted).
person.disclaimerbooleantrue when ASIC had received documents about this person that were unprocessed when the extract was produced. Display disclaimerText when set.
addressobject or nullThe person's address. Provided for the disqualified directors register (DD) only; null for BS and BF.
bans[]arrayOne record per disqualification or banning order.
bans[].objectstringAlways ban.
bans[].typeobject or nullLicence ban type from the licence ban types table (securities dealer, investment adviser, futures broker, futures adviser or combinations). null on the DD register, where the disqualification is from managing corporations rather than from a licence category.
bans[].fromstring (date)Start date of the order.
bans[].tostring (date) or nullEnd date. null when the order is permanent.
bans[].permanentbooleantrue when the person is banned or disqualified permanently.
bans[].underAppealbooleantrue when an appeal against the order has been lodged.
bans[].exceptions[]array of stringsUp to five lines of text describing exceptions to the order, for example companies the person may continue to manage. Empty when there are none.
documents[]arrayASIC documents relating to the disqualification, newest first by date received, as standard document objects. Provided for the DD register only; empty for BS and BF.
disclaimerTextstring or nullThe unprocessed-documents notice to display when person.disclaimer is true; otherwise null.
metaobjectbillable is true in production and false in the sandbox; product is register_extract.

Read a banned or disqualified person entry

Reads the most recent register extract you hold for the ASIC identifier. It is free and never contacts ASIC; the data is the snapshot taken when the extract was purchased.

GEThttps://api.asicapi.dev/v1/registers/{register}/entries/{number}

Path parameters

Prop

Type

Query parameters

Prop

Type

Example request

Request
curl https://api.asicapi.dev/v1/registers/DD/entries/023456789 \
  -H "Authorization: Bearer $ASICAPI_KEY"

Example response

Response
{
  "object": "registerEntry",
  "register": { "code": "DD", "label": "Disqualified directors" },
  "number": "023456789",
  "extract": {
    "id": "ext_01J9AS6V9W2X5Y8Z",
    "type": "current",
    "purchasedAt": "2026-09-04T04:05:31Z",
    "asOf": "2026-09-04T04:05:29Z"
  },
  "person": {
    "asicIdentifier": "023456789",
    "name": { "familyName": "PATTERSON", "givenNames": ["GREGORY", "ALAN"], "formatted": "GREGORY ALAN PATTERSON" },
    "disclaimer": false
  },
  "address": {
    "careOf": null,
    "line1": null,
    "street": "7 EXAMPLE CLOSE",
    "locality": "HOBART",
    "state": "TAS",
    "postcode": "7000",
    "country": "AUSTRALIA"
  },
  "bans": [
    {
      "object": "ban",
      "type": null,
      "from": "2023-09-18",
      "to": "2028-09-17",
      "permanent": false,
      "underAppeal": false,
      "exceptions": [
        "THE PERSON MAY CONTINUE TO ACT AS A DIRECTOR OF PATTERSON FAMILY HOLDINGS PTY LTD ACN 001 000 004 FOR THE SOLE PURPOSE OF WINDING UP ITS AFFAIRS.",
        "THE PERSON MUST NOT TAKE PART IN THE MANAGEMENT OF ANY OTHER CORPORATION DURING THE PERIOD OF DISQUALIFICATION."
      ]
    }
  ],
  "documents": [
    {
      "object": "document",
      "documentNumber": "0E7654321",
      "formCode": "5602",
      "formDescription": "Notice of disqualification from managing corporations",
      "subForms": [],
      "receivedAt": "2023-09-18",
      "processedAt": "2023-09-19",
      "effectiveAt": "2023-09-18",
      "qualifier": null,
      "pageCount": 6,
      "imaged": true,
      "underRequisition": false,
      "xbrlAvailable": false,
      "xbrlDocumentNumber": null,
      "status": null,
      "priced": true
    },
    {
      "object": "document",
      "documentNumber": "0E7600987",
      "formCode": "5601",
      "formDescription": "Notice of intention to disqualify from managing corporations",
      "subForms": [],
      "receivedAt": "2023-06-02",
      "processedAt": "2023-06-05",
      "effectiveAt": "2023-06-02",
      "qualifier": null,
      "pageCount": 0,
      "imaged": false,
      "underRequisition": false,
      "xbrlAvailable": false,
      "xbrlDocumentNumber": null,
      "status": null,
      "priced": true
    }
  ],
  "disclaimerText": null,
  "meta": {
    "billable": false,
    "product": null,
    "requestId": "req_01J9AS9B2C5D8E1F"
  }
}

Response fields

FieldTypeDescription
objectstringAlways registerEntry. The browse endpoint returns the summary form of the same object; this endpoint returns the full form read from your extract.
registerobjectThe register requested, { code, label }.
numberstringThe ASIC identifier requested.
extractobjectThe extract this response was read from: id, type (current), purchasedAt, asOf.
person, address, bans[], documents[], disclaimerTextsectionsIdentical to the sections of the purchase response above.
metaobjectReads are free: billable is false and product is null.

Errors

CodeHTTP statusApplies toWhen
register_invalid400All{register} is not DD, BS or BF. The banned financial services representatives register (FX) is listed by ASIC but is not browsable or extractable.
browse_key_too_short400Browsename is missing or has fewer than two characters.
validation_error422Purchase, readThe purchase body is not valid JSON or history is not a boolean; or extract is malformed.
extract_type_invalid400Purchasehistory is true for a register that has no historical extract.
no_matches404Browse, purchaseNo entries whose family name starts with the browse key, or no entry with that ASIC identifier on that register.
extract_required402ReadYou hold no register extract for this identifier. details.purchase carries the POST that would satisfy the request; see below.
extract_not_found404ReadThe extract query parameter names an extract that does not exist, is for a different entry or is not a register extract.
extract_expired410ReadThe extract is more than 12 months old. Purchase again.
extract_owner_mismatch403ReadThe extract named by extract was purchased under a different account.
product_unavailable_in_jurisdiction403PurchaseRegister extracts are not enabled for your account's jurisdiction.
idempotency_conflict409PurchaseThe Idempotency-Key was already used with a different request.
asic_unavailable503Browse, purchaseThe ASIC database is offline. Reads of extracts you hold are unaffected.
402 Payment Required
{
  "error": {
    "type": "extract_required_error",
    "code": "extract_required",
    "message": "Ban and disqualification details are part of a register extract. Purchase one with POST /v1/registers/DD/entries/023456789/extracts.",
    "param": null,
    "asicCode": null,
    "requestId": "req_01J9AS9B2C5D8E1F",
    "docUrl": "https://asicapi.dev/docs/errors#extract_required",
    "details": {
      "purchase": {
        "method": "POST",
        "path": "/v1/registers/DD/entries/023456789/extracts",
        "body": { "history": false },
        "product": "register_extract"
      }
    }
  }
}

Notes from the ASIC register

  • Browse, purchase, read. Browsing is free, the POST is the only step ASIC charges for, and every read of the resulting extract is free for 12 months. A read never refreshes the data; a ban lifted or an appeal decided after extract.asOf is only visible after you purchase again. See the purchasing guide.
  • Browse is by family name only. The browse key is matched against the start of the family name, so PAT returns Patterson, Patel and Paton. There is no browse by number; the ASIC identifier is only available from a browse result or from a purchased person extract, where a disqualification appears as a licence record of type DD.
  • A browse hit is not a match. Many people share a family name. Confirm identity with the given names, address and the birth details from a person search before acting on a result, and consider a person extract for the person's full history. The browse already shows the ban period and appeal flag for free; purchase the extract when you need the exceptions, the documents or ASIC's formal record.
  • Permanent orders. When a ban is permanent, permanent is true and to is null. When it is not permanent, permanent is false and to carries the end date.
  • Appeals. underAppeal: true means an appeal has been lodged against the order. The order remains on the register while the appeal is decided; a successful appeal removes it.
  • Exceptions. ASIC may permit a disqualified person to continue managing named corporations, or a banned representative to complete specified activities. These are recorded as free text in exceptions[], up to five lines per order.
  • Address and documents are DD features. ASIC supplies the person's address and the document list only for the disqualified directors register. Documents are listed in reverse chronological order of receipt. A document whose ASIC page count is zero has imaged: false and cannot currently be ordered as an image.
  • Legacy banning registers. The BS and BF registers hold banning orders made under the securities and futures licensing regimes that ended in 2002, categorised by ban type from the licence ban types table. Banning orders under the current AFS regime are not in these registers; they appear on a person extract as licence records of type FX (banned financial services representative).
  • Disclaimer. When person.disclaimer is true, ASIC requires the unprocessed-documents notice to be shown with the extract. The text is provided in disclaimerText so you can render it verbatim.
  • Weekly summaries. New disqualifications are also published week by week through the disqualified directors weekly summary, which includes birth details for matching.
  • Sandbox. Test keys return placeholder names such as "FAMILY NAME, GIVEN NAME1", the purchase succeeds with meta.billable set to false, and the extract is stored and readable as in production. See sandbox.

On this page