asicapidocs

Offline company name search for large result sets

Run an overnight ASIC offline company name search to retrieve every matching company and business name when an online search exceeds the 100 result limit.

An online company name search is capped by ASIC at 100 names. When a name is common, or when you need every organisation containing particular words (for example every company with "MINING" and "METALS" in its name), submit an offline search instead. ASIC runs offline searches in an overnight batch and produces a complete list of matching names, with no cap. An offline search is an asynchronous order: asicapi accepts the request with HTTP 202 and bills it at that moment, returns an offlineSearch object in status pending, and you either poll it or wait for the offline_search.ready webhook before fetching the results, which are also delivered by email if you ask for that.

POSThttps://api.asicapi.dev/v1/companies/search/offline
GEThttps://api.asicapi.dev/v1/companies/search/offline/{id}

Request body

Prop

Type

Example request

Request
curl https://api.asicapi.dev/v1/companies/search/offline \
  -H "Authorization: Bearer $ASICAPI_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: 4f1c9a3e-offline-eastern-mining" \
  -d '{
    "words": ["EASTERN", "MINING", "METALS"],
    "q": "EASTERN MINING AND METALS",
    "scope": "registered-companies",
    "minScore": 70,
    "delivery": {
      "method": "email",
      "email": "compliance@example.com.au",
      "contactName": "Jane Smith",
      "contactPhone": "03 9000 0000"
    }
  }'

Example response

The request is acknowledged with HTTP 202 and billed at that point. Nothing is searched yet.

Response
{
  "object": "offlineSearch",
  "id": "ofs_01J8ZM2K9T4R7V",
  "status": "pending",
  "query": {
    "q": "EASTERN MINING AND METALS",
    "words": ["EASTERN", "MINING", "METALS"],
    "scope": "registered-companies",
    "minScore": 70,
    "demoteFormerNames": false,
    "maxResults": null,
    "jurisdiction": { "code": "ASIC", "label": "Australian Securities and Investments Commission" },
    "subject": "ofs_01J8ZM2K9T4R7V"
  },
  "delivery": {
    "method": "email",
    "email": "compliance@example.com.au",
    "contactName": "Jane Smith",
    "contactPhone": "03 9000 0000",
    "deliveredAt": null
  },
  "results": null,
  "asicRequestId": "2210874",
  "createdAt": "2026-09-04T03:12:44Z",
  "estimatedReadyAt": "2026-09-05T00:30:00Z",
  "readyAt": null,
  "meta": { "billable": true, "product": "name_search", "requestId": "req_01J8ZM2K9T4R7W" }
}

Fetching the results

Poll GET /v1/companies/search/offline/{id}, or wait for the offline_search.ready webhook. When status is ready or delivered, results contains the full list. Use limit and cursor query parameters to page through it. Fetching results is free and can be repeated; the search is billed once, when it is accepted.

Request
curl "https://api.asicapi.dev/v1/companies/search/offline/ofs_01J8ZM2K9T4R7V?limit=2" \
  -H "Authorization: Bearer $ASICAPI_KEY"
Response
{
  "object": "offlineSearch",
  "id": "ofs_01J8ZM2K9T4R7V",
  "status": "delivered",
  "query": {
    "q": "EASTERN MINING AND METALS",
    "words": ["EASTERN", "MINING", "METALS"],
    "scope": "registered-companies",
    "minScore": 70,
    "demoteFormerNames": false,
    "maxResults": null,
    "jurisdiction": { "code": "ASIC", "label": "Australian Securities and Investments Commission" },
    "subject": "ofs_01J8ZM2K9T4R7V"
  },
  "delivery": {
    "method": "email",
    "email": "compliance@example.com.au",
    "contactName": "Jane Smith",
    "contactPhone": "03 9000 0000",
    "deliveredAt": "2026-09-05T00:41:09Z"
  },
  "results": {
    "object": "list",
    "data": [
      {
        "object": "companyMatch",
        "name": "EASTERN MINING AND METALS COMPANY PTY LTD",
        "isFormerName": false,
        "score": 96,
        "company": {
          "acn": "004249987",
          "formatted": "004 249 987",
          "numberType": { "code": "ACN", "label": "Australian Company Number" },
          "name": "EASTERN MINING AND METALS COMPANY PTY LTD",
          "type": { "code": "APTY", "label": "Australian Proprietary Company" },
          "status": { "code": "REGD", "label": "Registered" },
          "abn": null,
          "registeredCharity": false
        },
        "stateNumber": null,
        "asicIdentifier": null,
        "registrationDate": null,
        "reviewDate": null,
        "state": { "code": "WA", "label": "Western Australia" },
        "controllingJurisdiction": { "code": "ASIC", "label": "Australian Securities and Investments Commission" },
        "partialAddress": null
      },
      {
        "object": "companyMatch",
        "name": "EASTERN SCRAP METALS AND MINING PTY LTD",
        "isFormerName": false,
        "score": 0,
        "company": {
          "acn": "001000004",
          "formatted": "001 000 004",
          "numberType": { "code": "ACN", "label": "Australian Company Number" },
          "name": "EASTERN SCRAP METALS AND MINING PTY LTD",
          "type": { "code": "APTY", "label": "Australian Proprietary Company" },
          "status": { "code": "REGD", "label": "Registered" },
          "abn": null,
          "registeredCharity": false
        },
        "stateNumber": null,
        "asicIdentifier": null,
        "registrationDate": null,
        "reviewDate": null,
        "state": { "code": "NSW", "label": "New South Wales" },
        "controllingJurisdiction": { "code": "ASIC", "label": "Australian Securities and Investments Commission" },
        "partialAddress": null
      }
    ],
    "hasMore": true,
    "nextCursor": "eyJvZmZzZXQiOjJ9",
    "totalCount": 317,
    "waiverToken": null
  },
  "asicRequestId": "2210874",
  "createdAt": "2026-09-04T03:12:44Z",
  "estimatedReadyAt": "2026-09-05T00:30:00Z",
  "readyAt": "2026-09-05T00:38:51Z",
  "meta": { "billable": false, "product": null, "requestId": "req_01J8ZP0C1D5E8F" }
}

Response fields

FieldTypeDescription
objectstringAlways offlineSearch.
idstringIdentifier of the offline search, prefixed ofs_. Also appears as an order of type offline_search in GET /v1/orders.
statusstringpending (accepted and billed, waiting for ASIC's overnight run), processing (ASIC is running it), ready (results available from this endpoint), delivered (results also emailed or posted to your webhook) or failed.
queryobjectThe normalised search criteria as accepted.
query.qstring or nullThe fuzzy match name, if supplied.
query.wordsstring[] or nullThe word match values, if supplied. Duplicate words are removed.
query.scopestringThe scope searched.
query.minScoreintegerThe minimum score applied to fuzzy matches, never below 60.
query.demoteFormerNamesbooleanWhether exact former name matches were reduced to 99.
query.maxResultsinteger or nullResult cap, or null for no cap.
query.jurisdictioncodeJurisdiction searched.
query.subjectstringSubject used for the delivery email.
delivery.methodstringemail or webhook.
delivery.emailstring or nullRecipient address for email delivery.
delivery.contactNamestringContact name given to ASIC.
delivery.contactPhonestringContact phone given to ASIC.
delivery.deliveredAttimestamp or nullWhen the results were emailed or the webhook was acknowledged.
resultslist or nullnull until status is ready or delivered. Then a standard list of companyMatch items in score then name order.
results.data[]companyMatch[]Same shape as online search results. For word-only matches score is 0. For former names and name reservations ASIC does not supply company.status, state, stateNumber or controllingJurisdiction; fetch the current values with an online search. registrationDate, reviewDate, abn and partialAddress are not part of the offline result file and are always null.
results.hasMorebooleanWhether more pages of results exist.
results.nextCursorstring or nullCursor for the next page.
results.totalCountintegerTotal number of names in the result file.
results.waiverTokenstring or nullPresent when the search was billable by a state or territory jurisdiction. Pass it as waiverToken in the body of POST /v1/companies/{id}/extracts when purchasing an extract for one of the results. Single use, valid for 30 days from readyAt. null for ASIC jurisdiction searches.
asicRequestIdstringASIC's receipt reference for the overnight request. Quote it when raising a delivery problem with ASIC.
createdAttimestampWhen the request was accepted.
estimatedReadyAttimestampExpected completion, normally early the following morning Australian Eastern time.
readyAttimestamp or nullWhen ASIC returned the result file.
meta.billablebooleantrue on the 202 response: ASIC bills an offline search when it is accepted, like every other order. Fetching results is not billable.
meta.productstring or nullname_search on the 202 response.
meta.requestIdstringRequest identifier.

Errors

CodeHTTPWhen it occurs
search_scope_invalid400scope is not a recognised value.
validation_error422Neither q nor words supplied, more than 3 words, a word longer than 30 characters, or no qualifying word (every word is a single character, THE, AND, or a number).
delivery_invalid400delivery.method is not email or webhook, an email delivery has no valid delivery.email, or the email address breaks ASIC's format rules. Also returned when method is webhook and no webhook endpoint is configured in the dashboard.
product_unavailable_in_jurisdiction403The jurisdiction does not offer offline search.
order_not_found404The {id} on the GET request does not exist.
order_owner_mismatch403The offline search belongs to a different account.
idempotency_conflict409The Idempotency-Key was reused with a different body.
unauthorized401Missing or invalid API key.
rate_limited429Rate limit exceeded.
asic_unavailable503ASIC could not accept the request.

Notes from the ASIC register

  • Overnight processing. The 202 response is only an acknowledgement. ASIC processes offline searches in a single overnight batch, so results submitted during the day are normally available the next morning.
  • Different engine, different counts. The offline search works completely differently to the online search, so results may differ. The online totalCount is a potential count that may include former names of deregistered companies, multiple former name records or duplicates; the offline search lists each organisation once.
  • Word matching. All supplied words must appear somewhere in the name, in any order. Because spaces have no meaning under the Corporations Act, words are also compared against adjacent pairs of words joined together and against the whole name with spaces removed. To find only names containing EASTERN MINING as a phrase, supply EASTERN MINING as a single word.
  • Numbers. A word that is a number, or starts with a number, is ignored on its own. 57 alone returns nothing; 57 with VARIETIES works but only finds 57 VARIETIES, not FIFTY SEVEN VARIETIES. Search both spellings if you need both.
  • Plurals. Singular and plural forms are legally the same name. Supply the plural form (for example KNIVES) if you want both singular and plural matches, especially where the plural ends in ES.
  • Common words. Requesting a word such as COMPANY produces an enormous and useless result file. Repeating the same word has no effect.
  • Combined criteria. When both q and words are supplied, a name selected by both is given the fuzzy score (or 0 if that score is below minScore). Results are sorted by score then name, so fuzzy matches (scored 60 or more) appear before word-only matches (scored 0).
  • Delivery limits. Contact details are passed to ASIC so it can reach you if the result file exceeds physical email limits. In that case the results remain available from the GET endpoint.
  • Billing. ASIC bills the offline search when the request is accepted, not when the results arrive or when you fetch them. For state jurisdictions that charge for name searches, results.waiverToken can be passed to POST /v1/companies/{id}/extracts to refund the search fee against an extract purchase, in the same way as an online search.

On this page