# Australia Company Data — ABN Lookup & Business Registry (`foxlabs/australia-company-data`) Actor

Look up any Australian business by ABN, ACN, or company name from the official ABN Lookup registry. Returns entity name, type, status, trading names, GST, and address. Includes name search.

- **URL**: https://apify.com/foxlabs/australia-company-data.md
- **Developed by:** [Berkan Kaplan](https://apify.com/foxlabs) (community)
- **Categories:** Business, Lead generation
- **Stats:** 1 total users, 0 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $4.00 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

<p align="center"><a href="https://apify.com/foxlabs/australia-company-data"><img src="https://data.foxlabs.com.tr/img/australia-company-data-banner.svg" alt="Australia Company Data" width="100%" /></a></p>

## Australia Company Data — ABN, ACN, GST & Business Names (ABR)

Need **structured, compliant data on Australian businesses** — verified against the official register, not a stale scrape? This Actor turns Australia's official **ABN Lookup Bulk Extract** — published weekly by the **Australian Business Register (ABR)** on data.gov.au — into ready-to-use company records: **11M+ ABNs** with ABN/ACN, entity type, **GST registration**, registered business & trading names, and state + postcode.

Built on Australia's **official open data**, licensed **CC BY 3.0 AU** — free to reuse **and resell**, with attribution. **No API key, no GUID, no login, no fragile HTML scraping** — every run reads the current week's extract, so it never goes stale or breaks when a website changes.

- 🇦🇺 **11M+ ABNs** — every entity on the official register (companies, sole traders, trusts, partnerships, super funds), not a sample
- 🔎 **Three ways in** — exact **ABN/ACN**, **name** (matches entity + business + trading names), or **browse** by entity type, state & GST
- 🧾 **KYB-ready identity** — ABN + ACN, entity type, **GST registration** status, state & postcode, straight from the ABR
- ⚡ **One run → one clean, flat dataset** (JSON / CSV / Excel / API)

### Quick start (API)

Get 100 GST-registered companies in New South Wales in a single call:

```bash
curl -X POST "https://api.apify.com/v2/acts/foxlabs~australia-company-data/run-sync-get-dataset-items?token=YOUR_APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{ "entityType": "company", "state": "NSW", "gstRegistered": "yes", "maxResults": 100 }'
```

Prefer no code? Open the **Input** tab, set your filters, and click **Start** — then download the results.

### What you get

One clean, flat record per business:

| Field | Type | Description |
|---|---|---|
| `abn` | string | Australian Business Number (11 digits) |
| `abnStatus` | string | `Active` or `Cancelled` |
| `abnStatusFromDate` | string | null | Date the current ABN status took effect (`YYYY-MM-DD`) |
| `acn` | string | null | Australian Company Number (9 digits) — companies only |
| `entityTypeCode` | string | ABR entity-type code (e.g. `PRV`, `PUB`, `IND`, `SMF`) |
| `entityTypeName` | string | Entity-type description (e.g. *Australian Public Company*) |
| `name` | string | Entity / legal name (for individuals, given + family name) |
| `businessNames` | string\[] | Current registered business names |
| `tradingNames` | string\[] | Trading names — **historical only** (pre-May 2012, no legal status) |
| `gstRegistered` | boolean | `true` if currently GST-registered |
| `gstStatus` | string | null | `Active` / `Cancelled` / `Not registered` |
| `gstStatusFromDate` | string | null | Date the current GST status took effect (`YYYY-MM-DD`) |
| `state` | string | null | State / territory of the main business location |
| `postcode` | string | null | Postcode of the main business location |
| `source` | string | Provenance + licence attribution string |
| `sourceUrl` | string | null | Link to the business's record on ABN Lookup |
| `scrapedAt` | string | ISO 8601 timestamp of when the record was produced |

#### Sample output

```json
{
  "abn": "11000000948",
  "abnStatus": "Active",
  "abnStatusFromDate": "1999-11-01",
  "acn": "000000948",
  "entityTypeCode": "PUB",
  "entityTypeName": "Australian Public Company",
  "name": "QBE INSURANCE (INTERNATIONAL) LTD",
  "businessNames": [],
  "tradingNames": ["QBE INSURANCE (INTERNATIONAL) LIMITED"],
  "gstRegistered": true,
  "gstStatus": "Active",
  "gstStatusFromDate": "2000-07-01",
  "state": "NSW",
  "postcode": "2000",
  "source": "Australian Business Register (ABR) — CC BY 3.0 AU",
  "sourceUrl": "https://abr.business.gov.au/ABN/View?abn=11000000948",
  "scrapedAt": "2026-06-28T21:00:00.000Z"
}
```

*Illustrative record showing the shape of the output. Missing values return `null` (or `[]` for name arrays) — never a guess.*

### Input & filters

- **Numbers** — exact `abnNumbers` (11-digit ABNs) or `acnNumbers` (9-digit ACNs) for precise lookups.
- **Name** — `companyNames` matches (case-insensitive substring) across the entity name, registered business names **and** trading names.
- **Entity type** — `entityType`: *Any* / *Company (PRV + PUB)* / *Individual / sole trader* / *Non-individual*; or list exact `entityTypeCodes` (e.g. `PRV`, `PUB`, `SMF`, `TRT`).
- **State / territory** — `state` (ACT, NSW, NT, QLD, SA, TAS, VIC, WA).
- **GST registration** — `gstRegistered`: *any* / *yes* / *no*.
- **Active only** — `activeOnly` (default **on**) excludes cancelled ABNs.
- **Max results** — `maxResults`, up to **500,000**.

### Example inputs (copy & paste)

```jsonc
// 1) Lead list: GST-registered companies in Victoria
{ "entityType": "company", "state": "VIC", "gstRegistered": "yes", "maxResults": 5000 }

// 2) Exact lookup by ABN (or ACN)
{ "abnNumbers": ["11000000948"] }

// 3) Advanced: self-managed super funds via exact entity-type code
{ "entityTypeCodes": ["SMF"], "maxResults": 2000 }

// 4) Name search across company, business & trading names
{ "companyNames": ["Atlassian", "Canva"], "maxResults": 100 }

// 5) All non-individual entities in NSW (exclude sole traders)
{ "entityType": "non-individual", "state": "NSW", "maxResults": 5000 }

// 6) Public companies only (PUB) in Queensland
{ "entityTypeCodes": ["PUB"], "state": "QLD", "maxResults": 1000 }

// 7) Include cancelled ABNs — historical / register audit in WA
{ "entityType": "company", "state": "WA", "activeOnly": false, "maxResults": 3000 }
```

### Use cases

- **Outbound sales & lead lists.** Selling to Australian businesses? Filter `entityType: "company"` + `state` + `gstRegistered: "yes"` and get a CRM-ready list of active, GST-registered companies with ABN, ACN, entity type and location — no manual list-building.
- **KYB & due diligence.** Onboarding a supplier or counterparty? Pass its `abnNumbers` or `acnNumbers` → confirm the legal name, entity type, **ABN status** and **GST registration** in one call, with a link back to the official ABR record.
- **GST / tax verification.** Before you invoice, withhold, or claim GST credits, check `gstRegistered` and `gstStatusFromDate` against the register rather than trusting a supplier's word.
- **Market sizing & research.** Studying a segment? Pull every entity for a state or entity-type code → count the players and their legal forms to size the market and spot leaders.
- **CRM enrichment & cleanup.** Already hold a list of ABNs or names? Feed them in → append ACN, entity type, GST status, state and postcode. Missing fields return `null`, never a guess.
- **Compliance & vendor onboarding.** Validate that an ABN is current (`activeOnly`) and correctly matched to a business name before adding it to your payables or procurement system.

### Performance & throughput

Each run streams the official ABN Lookup Bulk Extract — roughly **12 GB across 20 weekly XML files** (two zip parts) — and filters on the fly. Broad **browse** filters with a `maxResults` cap finish in a few minutes: the run **early-aborts** the moment the cap is reached, so it never downloads more than it needs. A full, uncapped export processes the whole extract and takes longer.

There are no API keys, proxies or rate limits — throughput is bounded only by your Apify plan. **Name-only** searches have to scan the full extract (no early cap on rare matches), so run those in batches or pair them with browse filters.

### Integrations

**JavaScript** (`apify-client`):

```js
import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });
const run = await client.actor('foxlabs/australia-company-data').call({
  entityType: 'company', state: 'NSW', gstRegistered: 'yes', maxResults: 500,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
```

**Python** (`apify-client`):

```python
from apify_client import ApifyClient
client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("foxlabs/australia-company-data").call(run_input={
    "entityType": "company", "state": "NSW", "gstRegistered": "yes", "maxResults": 500,
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item["abn"], item["name"])
```

Also works with **Make / n8n / Zapier** (Apify app → run this Actor, map the input), scheduled runs, webhooks, and the **Apify MCP server** for AI agents.

### Data quality

Every field comes **straight from the ABR public extract** — never fabricated. Core identity — **ABN**, ABN status, entity type (code + name) and legal name — is present for essentially every record. `acn` is populated only for companies (individuals, trusts and other entity types don't have one). `gstRegistered` is always a boolean; `gstStatus` / `gstStatusFromDate` reflect the current registration. `businessNames` and `tradingNames` are present when the business has registered them (arrays are empty otherwise). `state` and `postcode` come from the main business location wherever the ABR records one. Any value the extract doesn't publish returns `null` (or `[]`), so you can trust presence to mean data.

### Pricing

**Pay per result** — you're billed **$4 per 1,000 results**, one result per business returned. There's an Apify **free tier** (monthly platform credit, roughly your first ~1,250 results) to evaluate the full feature set before you scale. No proxies or third-party costs.

Because the Actor streams the official weekly extract, **number/name lookups are best batched** (one run can resolve many at once). For real-time single lookups, the ABR's live web service is better suited.

### FAQ

**Can I use this data commercially / resell it?** Yes — the register is **CC BY 3.0 AU**, which permits commercial reuse and redistribution *with attribution*. Each record carries the required attribution in the `source` field.

**How fresh is the data?** The ABR republishes the Bulk Extract weekly; each run reads the **current week's** extract.

**Do I need an API key, GUID or ABR registration?** No. No key, no GUID, no login — unlike the ABR's authenticated web service.

**What export formats are available?** JSON, CSV, Excel, HTML, XML, or via the Apify API / integrations.

**Can I look up specific businesses?** Yes — put ABNs in `abnNumbers`, ACNs in `acnNumbers`, or names in `companyNames`.

**Does it include director names or full street address?** No. The ABR public extract provides **state + postcode** only (no street address) and does **not** include director/officer names.

**What's the difference between business names and trading names?** `businessNames` are current, ASIC-registered business names. `tradingNames` are **historical only** — the ABR stopped updating trading names in May 2012, so they carry no legal status; use `businessNames` for current identity.

**What entity types are covered?** All ABN holders — private & public companies (`PRV` / `PUB`), individuals / sole traders (`IND`), trusts, partnerships, super funds (`SMF`) and more. Filter with `entityType` or exact `entityTypeCodes`.

**How many records can I get in one run?** Up to **500,000** via `maxResults`.

**Is there a rate limit?** No external key or limit — throughput is bounded only by your Apify plan.

### Troubleshooting

- **0 results** → your filters are too narrow, or a number is the wrong length. Widen the `state` / `entityType`, clear the GST filter, and check that ABNs are 11 digits and ACNs are 9.
- **Name search is slow** → name-only searches scan the whole extract (rare matches never trigger the early cap). Use `abnNumbers` / `acnNumbers`, add browse filters, or run names in batches.
- **First results take ~a minute** → each run downloads the official weekly extract before filtering; it's built for filtered lists, not instant single lookups. For real-time single lookups, use the ABR's live web service.
- **A field is `null`** → the ABR public extract doesn't publish that value for this entity (e.g. `acn` for a sole trader, or a GST date when not registered). Missing values are `null`, never fabricated.

### Notes, limits & legal (honest)

- **Coverage.** The ABR public extract gives **state + postcode** only — no street address — and does **not** include director or officer names.
- **Trading names are historical.** `tradingNames` were last updated in **May 2012** and carry no legal status; use `businessNames` (current ASIC-registered names) for identity.
- **Freshness.** Each run is a **weekly snapshot** of current details from the ABR extract.
- **Attribution.** Every record carries `source: Australian Business Register (ABR) — CC BY 3.0 AU`. Under CC BY 3.0 AU you may reuse and redistribute the data with attribution.
- **Not affiliated** with the Australian Business Register, the ATO or the Australian Government; this Actor redistributes their public open data.

### Support

Questions, a field you'd like added, or a custom build? Open the **Issues** tab on this Actor, or email **info@foxlabs.com.tr**. We reply fast.

*If this Actor saves you time, a ⭐ review really helps.*

### Changelog

#### 0.2 — 2026-07-05

- Reworked docs: API quick-start, field table with types, sample output, integration snippets (JS/Python/Make/MCP), use cases, FAQ & troubleshooting.

#### 0.1 — 2026-06-29

- Initial release on the official **ABR ABN Lookup Bulk Extract** (CC BY 3.0) — no API key or GUID required.
- Search by **name**, **ABN**, **ACN**, or **browse** by entity type, state, GST registration and active/cancelled status.
- Streaming XML parser with early-abort on the result cap; always reads the current week's extract.

***

Part of the **[foXLabs data platform](https://data.foxlabs.com.tr/)** — official public-data company, contact, ownership, jobs, charity, location & AI-search intelligence scrapers. Browse the full suite at **[data.foxlabs.com.tr](https://data.foxlabs.com.tr/)**.

# Actor input Schema

## `companyNames` (type: `array`):

Search by company, business or trading name (case-insensitive substring). Leave empty to browse by filters instead.

## `abnNumbers` (type: `array`):

Exact Australian Business Numbers (11 digits). Most precise lookup.

## `acnNumbers` (type: `array`):

Exact Australian Company Numbers (9 digits).

## `entityType` (type: `string`):

Filter by organisation type. Company = private (PRV) + public (PUB). Use 'non-individual' to exclude sole traders.

## `entityTypeCodes` (type: `array`):

Advanced: exact ABR entity-type codes to include, e.g. PRV, PUB, SMF, TRT. Overrides nothing — combine with other filters.

## `state` (type: `string`):

Filter by the main business location's state/territory.

## `gstRegistered` (type: `string`):

Filter by current GST registration.

## `activeOnly` (type: `boolean`):

Only return current (active) ABNs; exclude cancelled ones.

## `maxResults` (type: `integer`):

Hard cap on records (1–500000). Each run streams the current weekly extract (~12 GB); broad filters with a cap finish fastest.

## `proxyConfiguration` (type: `object`):

Proxy. Not needed — the ABR open data does not block; leave off for speed.

## Actor input object example

```json
{
  "entityType": "company",
  "state": "NSW",
  "gstRegistered": "yes",
  "activeOnly": true,
  "maxResults": 100,
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}
```

# Actor output Schema

## `dataset` (type: `string`):

No description

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "entityType": "company",
    "state": "NSW",
    "gstRegistered": "yes",
    "maxResults": 100
};

// Run the Actor and wait for it to finish
const run = await client.actor("foxlabs/australia-company-data").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "entityType": "company",
    "state": "NSW",
    "gstRegistered": "yes",
    "maxResults": 100,
}

# Run the Actor and wait for it to finish
run = client.actor("foxlabs/australia-company-data").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "entityType": "company",
  "state": "NSW",
  "gstRegistered": "yes",
  "maxResults": 100
}' |
apify call foxlabs/australia-company-data --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=foxlabs/australia-company-data",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/acts/XDd870N7uPB1I9vaO/builds/Ob9Q5VxKjp9Dxn240/openapi.json
