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.
Offline company name search
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.
https://api.asicapi.dev/v1/companies/search/offlinehttps://api.asicapi.dev/v1/companies/search/offline/{id}Request body
Prop
Type
Example 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.
{
"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.
curl "https://api.asicapi.dev/v1/companies/search/offline/ofs_01J8ZM2K9T4R7V?limit=2" \
-H "Authorization: Bearer $ASICAPI_KEY"{
"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
| Field | Type | Description |
|---|---|---|
object | string | Always offlineSearch. |
id | string | Identifier of the offline search, prefixed ofs_. Also appears as an order of type offline_search in GET /v1/orders. |
status | string | pending (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. |
query | object | The normalised search criteria as accepted. |
query.q | string or null | The fuzzy match name, if supplied. |
query.words | string[] or null | The word match values, if supplied. Duplicate words are removed. |
query.scope | string | The scope searched. |
query.minScore | integer | The minimum score applied to fuzzy matches, never below 60. |
query.demoteFormerNames | boolean | Whether exact former name matches were reduced to 99. |
query.maxResults | integer or null | Result cap, or null for no cap. |
query.jurisdiction | code | Jurisdiction searched. |
query.subject | string | Subject used for the delivery email. |
delivery.method | string | email or webhook. |
delivery.email | string or null | Recipient address for email delivery. |
delivery.contactName | string | Contact name given to ASIC. |
delivery.contactPhone | string | Contact phone given to ASIC. |
delivery.deliveredAt | timestamp or null | When the results were emailed or the webhook was acknowledged. |
results | list or null | null 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.hasMore | boolean | Whether more pages of results exist. |
results.nextCursor | string or null | Cursor for the next page. |
results.totalCount | integer | Total number of names in the result file. |
results.waiverToken | string or null | Present 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. |
asicRequestId | string | ASIC's receipt reference for the overnight request. Quote it when raising a delivery problem with ASIC. |
createdAt | timestamp | When the request was accepted. |
estimatedReadyAt | timestamp | Expected completion, normally early the following morning Australian Eastern time. |
readyAt | timestamp or null | When ASIC returned the result file. |
meta.billable | boolean | true on the 202 response: ASIC bills an offline search when it is accepted, like every other order. Fetching results is not billable. |
meta.product | string or null | name_search on the 202 response. |
meta.requestId | string | Request identifier. |
Errors
| Code | HTTP | When it occurs |
|---|---|---|
search_scope_invalid | 400 | scope is not a recognised value. |
validation_error | 422 | Neither 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_invalid | 400 | delivery.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_jurisdiction | 403 | The jurisdiction does not offer offline search. |
order_not_found | 404 | The {id} on the GET request does not exist. |
order_owner_mismatch | 403 | The offline search belongs to a different account. |
idempotency_conflict | 409 | The Idempotency-Key was reused with a different body. |
unauthorized | 401 | Missing or invalid API key. |
rate_limited | 429 | Rate limit exceeded. |
asic_unavailable | 503 | ASIC 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
totalCountis 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 MININGas a phrase, supplyEASTERN MININGas a single word. - Numbers. A word that is a number, or starts with a number, is ignored on its own.
57alone returns nothing;57withVARIETIESworks but only finds57 VARIETIES, notFIFTY 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 inES. - Common words. Requesting a word such as
COMPANYproduces an enormous and useless result file. Repeating the same word has no effect. - Combined criteria. When both
qandwordsare supplied, a name selected by both is given the fuzzy score (or 0 if that score is belowminScore). 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.waiverTokencan be passed toPOST /v1/companies/{id}/extractsto refund the search fee against an extract purchase, in the same way as an online search.
Related
Search companies
Online name search with instant results, capped at 100 names.
How company name search works
Scoring rules, legal elements and why spaces and plurals do not matter.
Webhooks
Receive offline_search.ready events instead of polling.
Orders
Offline searches appear alongside document image and charges extract orders.
Purchasing
Free lookups, purchased extracts and asynchronous orders explained.
Get a company
Fetch the free company record for any result.
Search companies by name, ACN or ABN
Search the ASIC register for Australian companies, business names and name reservations by company name, ACN or ABN and get scored matches.
Get a company by ACN, ABN, ARBN or ARSN
Look up an Australian company record on the ASIC register by ACN, ABN, ARBN or ARSN for free: name, type, class, status, registration and review dates.