ASIC Bulk Company Register (Australia)
Pricing
$1.00 / 1,000 company returneds
ASIC Bulk Company Register (Australia)
Australian companies from ASIC's official Company Register open data (data.gov.au): ACN, ABN, status, type, registration date. Not a scrape of paid ASIC Connect
Pricing
$1.00 / 1,000 company returneds
Rating
0.0
(0)
Developer
Jason
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
17 days ago
Last modified
Categories
Share
Every company on Australia's official corporate register, straight from ASIC's (Australian Securities and Investments Commission) own bulk open-data extract on data.gov.au - not a scrape of the paid, CAPTCHA-protected ASIC Connect search. The Actor streams the ~400 MB national file (verified 2026-09-21: 399,800,168 bytes / 4,010,895 companies), resolves each company's current name from ASIC's own former-name/current-name rows, and delivers clean, flat JSON with the ACN, ABN, type, status, registration date and full name history - filtered by registration date, status, company type, previous state of registration and name keywords.
What you get
One record per company (id = ACN):
| Field | Description |
|---|---|
id | ACN (Australian Company Number), also acn |
source | Always data.gov.au/asic |
url | The dataset page (https://data.gov.au/data/dataset/asic-companies) - ASIC does not publish a stable per-company URL in this open file; see "Data source and licence" |
fetchedAt | ISO timestamp of the run |
companyName | Current registered name, resolved from ASIC's name-history rows (see below) |
acn | 9-digit Australian Company Number (an ARBN when type is RACN, per ASIC's own data dictionary) |
type / typeDescription | Raw ASIC code (APTY, APUB, FNOS, RACN, CCIV) and its decoded label |
class / classDescription | Liability class code and label (e.g. LMSH = Limited by shares) |
subClass / subClassDescription | Sub-class code and label (e.g. PROP = Proprietary company, other) |
status / statusDescription | Status code and label (e.g. REGD = Registered, DRGD = Deregistered) |
dateOfRegistration | ISO date |
dateOfDeregistration | ISO date, or null while still registered (published by ASIC since 11 March 2025) |
previousStateOfRegistration | State the company was first registered in before the national scheme, e.g. NSW - populated for ~5% of companies (see "Limits and freshness") |
stateRegistrationNumber | That state's own registration number, where applicable |
modifiedSinceLastReport | true when ASIC's record changed since the previous weekly file |
abn | Australian Business Number, or null when the company has none (ASIC publishes 0; the Actor converts it) |
formerNames | Earlier names on record (array), in ASIC's own row order - not guaranteed chronological. Empty if never renamed |
currentNameStartDate | ISO date the current name took effect, or null if never renamed |
datasetLastModified | Last-modified timestamp of the source file at fetch time |
Input
| Input | Type | Default | Description |
|---|---|---|---|
allDates | boolean | true | The file is not sorted by registration date (verified 2026-09-21), so any date filter forces a full scan of the ~400 MB file. Default true keeps the Store "Try it" run cheap: it reads from the start of the file and stops as soon as maxItems companies match. Set to false, or supply dateFrom/dateTo (either does this automatically), to filter by date. |
daysBack | integer | 7 | Used only when the date filter is active. The file refreshes weekly, so a narrow window can land almost entirely after the newest data - see "Limits and freshness". |
dateFrom | string | - | Earliest Date of Registration, YYYY-MM-DD. Setting this (or dateTo) switches the date filter on. Overrides daysBack. |
dateTo | string | today | Latest Date of Registration, YYYY-MM-DD. |
statuses | array | ["REGD"] | ASIC status codes to keep (see the legend above). Empty list = every status, including deregistered and struck-off companies. |
types | array | [] | ASIC type codes to keep (APTY, APUB, FNOS, RACN, CCIV). Empty = all (99.0% of the register is APTY). |
previousStates | array | [] | Filter on previousStateOfRegistration. Honestly, this only ever matches ~5% of companies - those first registered under a state's own corporate law before the 1990s national scheme; every company registered since then has this field empty, so it does not usefully narrow a "recent companies" search. |
keywords | array | [] | Case-insensitive substrings; a company is kept when its current name contains any of them (OR). |
maxItems | integer | 500 | Stop after this many companies (you are charged per result). Kept at the standard default because the cost is capped by maxItems regardless of file size - the compute time is a separate, documented trade-off (see "Limits and freshness"). |
Default input (cheapest possible run - no date filter, currently-registered companies, first 500 found from the start of the file):
{ "allDates": true, "statuses": ["REGD"], "maxItems": 500 }
Companies newly registered in the last 30 days in mining/finance-adjacent names (accepts the full-scan cost):
{ "allDates": false, "daysBack": 30, "keywords": ["mining", "resources", "capital"], "maxItems": 2000 }
Every foreign company on the register, regardless of status:
{ "allDates": true, "types": ["FNOS"], "statuses": [], "maxItems": 5000 }
Output example
A real record from the 2026-09-14 file (run 2026-09-21, keywords: ["nippon life"], statuses: []) - a company renamed three times:
{"id": "000000402","source": "data.gov.au/asic","url": "https://data.gov.au/data/dataset/asic-companies","fetchedAt": "2026-09-21T03:01:04.146Z","companyName": "NIPPON LIFE INSURANCE AUSTRALIA AND NEW ZEALAND LIMITED","acn": "000000402","type": "APUB","typeDescription": "Australian public company","class": "LMSH","classDescription": "Limited by shares","subClass": "ULST","subClassDescription": "Unlisted public company","status": "REGD","statusDescription": "Registered","dateOfRegistration": "1886-12-31","dateOfDeregistration": null,"previousStateOfRegistration": "NSW","stateRegistrationNumber": "00020825","modifiedSinceLastReport": false,"abn": "90000000402","formerNames": ["MLC LIFE LTD", "MLC LIMITED", "THE MUTUAL LIFE & CITIZENS' ASSURANCE CO LTD"],"currentNameStartDate": "2025-09-26","datasetLastModified": "2026-09-14T14:53:34.014830"}
Pricing
Pay per result: US$0.001 per company returned, i.e. US$1 per 1,000 companies. Nothing is charged for a run that returns no companies (verified: every edge-case run below with zero matches logged pushed: 0 and no charge attempt). Apify platform usage (compute, storage) is billed separately by Apify; the free plan limits how much compute a run may use, so a full-file scan (see below) may need a paid plan for very large maxItems values.
Data source and licence
- Source: "ASIC - Company Dataset", published by the Australian Securities and Investments Commission on data.gov.au: https://data.gov.au/data/dataset/asic-companies. The Actor resolves the current CSV resource at run time via the CKAN
package_showAPI rather than hard-coding a filename, because the published file is renamed every week (e.g.company_202609.csv); verified 2026-09-21 that the resource id itself (5c3914e6-...) stays stable across weekly refreshes. - Format: despite the
.csvextension the file is TAB-delimited with a UTF-8 BOM (confirmed directly against ASIC's own "Company Dataset - Help File", 11/07/2025, and against a live download). No comma-CSV quoting is used or needed. - Licence: Creative Commons Attribution 3.0 Australia (CC BY 3.0 AU), http://creativecommons.org/licenses/by/3.0/au/, read directly from the dataset page's licence badge and schema markup on 2026-09-21. This permits commercial reuse with attribution. Suggested credit: "Source: ASIC (Australian Securities and Investments Commission) via data.gov.au, licensed under CC BY 3.0 AU."
- Not a scrape: several competing Store listings scrape ASIC Connect (ASIC's own paid, login/CAPTCHA-gated search service - "Accessing some information may attract a fee", per ASIC's help file). This Actor only reads ASIC's own bulk open-data extract; no login, no CAPTCHA, no paid ASIC Connect calls.
- Personal data: this file lists companies, not individuals or sole traders (sole traders/partnerships are on ASIC's separate Business Names register, not covered here). Checked the full
Typelegend against 4,445,221 live rows (2026-09-21): the only values areAPTY,APUB,FNOS,RACNandCCIV, all body-corporate types - none represent an individual. A company's registered name can occasionally itself be a person's name (e.g. a namesake proprietary company), but no personal address or contact field is published in this dataset.
Limits and freshness
- Size and volume (measured 2026-09-21 against the live file): 399,800,168 bytes (399.8 MB / 381.3 MiB), last modified by ASIC 2026-09-14. 4,445,221 data rows resolve to 4,010,895 companies after dedup. 332,447 companies (8.3%) have been renamed at least once (up to 14 names for the most-renamed company found); the rest (3,678,448) have a single row.
- Former-name dedup: ASIC publishes one row per historical name plus one row for the current name, marked
Current Name Indicator = Y. The Actor keeps exactly one output record per ACN: theY-marked row when present, or (10 companies out of 4,010,895, 0.0002%, all found in a full scan) the true current name recovered from theCurrent Namecolumn that ASIC still publishes on every historical row when no row is explicitly markedY- verified against the live file rather than assumed. Every company's rows are contiguous in the file (verified by comparing a full row-by-row grouping against a full-file distinct-ACN count: both equal 4,010,895), so streaming needs only a tiny per-company buffer, never the whole file. - Not sorted by date: registration dates are not monotonic through the file (measured: 66,486 date decreases across a 2.3M-row slice) - only loosely correlated with ACN order. A date-filtered run must therefore scan the whole file. Measured full-scan times on this machine, 2026-09-21 (no matches, so no early exit): 11.2s, 12.6s and 12.7s across three runs, peaking at ~130 MB RSS. An unfiltered run (default
allDates: true) instead stops as soon asmaxItemsmatches are found from the start of the file - measured at 0.1-0.9 seconds formaxItems2-500. - Weekly refresh, narrow-window risk: the file is republished every Tuesday per ASIC's help file (this copy: Monday 2026-09-14). A
daysBack: 7run executed on 2026-09-21 - i.e. right before the historically-typical refresh - matched zero companies in a real full-scan test, because the file's newest data (14 Sep) barely overlapped the 7-day lookback window measured from the run date (21 Sep). WidendaysBack, set an explicitdateFrom, or useallDates: trueif a narrow window returns nothing. - Default run bias: because the file is grouped by ACN (roughly, but not exactly, oldest-first) rather than by date, the default unfiltered run's first matches skew toward long-established companies (some over a century old) rather than recent registrations. Use a date filter (accepting the full-scan cost above) to get recent registrations specifically.
- Status mix (deduped company counts, 2026-09-21): REGD 3,721,706 (92.8%), DRGD 209,828 (5.2%), SOFF 46,789 (1.2%), EXAD 32,237 (0.8%), NOAC 295, CNCL 39, DISS 1.
- ABN coverage: 1,631,200 companies (40.7%) have no ABN on record (ASIC publishes
0; returned here asnull). - No documented rate limit: this is a single static file download, not a paginated API.
fetchWithRetryretries transient network errors and 5xx/429s with backoff.
Use cases
- New-company lead lists: recently registered companies (accept the full-scan cost) filtered by name keyword or company type, for sales prospecting or supplier onboarding.
- KYC and compliance checks: confirm an ACN's status, registration date, ABN and full name history before dealing with a counterparty.
- Market and competitor research: track foreign company registrations (
types: ["FNOS"]) or deregistrations/strike-offs (statuses: ["DRGD","SOFF"]) over time.
Support
Open an issue on the Actor's Issues tab on Apify Store; replies within 14 days. Please include your run ID and input.