When conducting Know Your Business (KYB) checks or enriching B2B sales pipelines in Australia, querying company identifiers manually through the official Australian Business Register (ABR) web UI is slow and capped at 40 results per page view. Integrations that query abr.business.gov.au often fail to extract historical trading names or handle automated ACN-to-ABN translations correctly without custom scraper pipeline logic.
The Australia ABN Business Register Scraper standardizes programmatic access to live ABR search results. It extracts official taxation records, GST registration dates, Australian Securities and Investments Commission (ASIC) business names, and registered locations without requiring API keys or direct registration with government web services.
Translating ACNs, ABNs, and Name Searches
Australian business entities use two primary registration identifiers:
- ABN (Australian Business Number): An 11-digit identifier issued by the Australian Taxation Office (ATO) to all operating legal entities.
- ACN (Australian Company Number): A 9-digit identifier issued by ASIC exclusively to incorporated companies.
An ACN forms the 9-digit suffix of a company's 11-digit ABN, prefixed by a two-digit checksum. While the government search interface treats ABN lookups, ACN lookups, and standard entity name queries as separate search modes, this tool maps all three inputs into a unified JSON format.
{
"mode": "searchByAcn",
"acn": "000 014 675",
"gstRegisteredOnly": true
}
When given an ACN in searchByAcn mode, the scraper resolves the company number to its parent ABN record on the government registry. The execution strips non-numeric characters like spaces or dashes automatically before submitting the query to the server.
If configured for searchByName mode, free-text queries hit the register's search index. The underlying government database caps broad queries at 200 total records, serving them in chunks of 40. The actor handles pagination internally, traversing all available result pages up to the configured limit rather than dropping data after the initial page.
{
"mode": "searchByName",
"searchText": "Telstra",
"states": ["VIC", "NSW"],
"nameSearchScope": "all",
"maxItems": 100
}
The nameSearchScope parameter dictates whether the search engine evaluates entity names, registered ASIC business names, pre-2012 trading names, or all three types simultaneously.
Output Structure for KYB and Vendor Audits
Dataset output fields depend on the selection mode. Free-text name searches return active entities matching the criteria, containing base location data and official identifiers. Direct searchByAbn or searchByAcn lookups pull extended compliance histories.
A direct lookup yields the complete entity profile:
{
"recordType": "business",
"scrapedAt": "2026-03-30T08:12:00.000Z",
"entityName": "TELSTRA GROUP LIMITED",
"abn": "88 000 014 675",
"abnDigits": "88000014675",
"abnStatus": "Active",
"abnStatusFromDate": "2000-11-01",
"entityType": "Australian Public Company",
"entityTypeId": "PUB",
"gstStatus": "Registered",
"gstFromDate": "2000-07-01",
"state": "VIC",
"postcode": "3000",
"businessNames": [
{
"name": "Telstra Health",
"from": "2013-02-15",
"asicUrl": "https://connectonline.asic.gov.au/..."
}
],
"tradingNames": [],
"abnUrl": "https://abr.business.gov.au/ABN/View?id=88000014675"
}
Key fields for data validation:
-
entityTypeandentityTypeId: Returns the exact tax classification assigned by the ATO out of approximately 140 standard categories, such asAustralian Private CompanyorIndividual/Sole Trader. -
gstStatusandgstFromDate: Indicates whether the business is legally authorized to collect GST, useful for verifying tax invoices during account-payable onboarding. -
businessNames: Contains active business names registered under ASIC after May 2012. -
tradingNames: Holds pre-2012 historical names. The ABR stopped recording broad trading names in May 2012, so modern entities typically return an empty array for this field.
Empty fields are omitted entirely from emitted records to maintain clean payload sizes.
Programmatic Execution via Python
You can execute searches directly using the Python client SDK. The following script accepts an input list of mixed company identifiers and pulls structured tax data into local memory.
from apify_client import ApifyClient
client = ApifyClient("YOUR_APIFY_TOKEN")
run_input = {
"mode": "searchByAbn",
"abn": "53 228 428 578",
"gstRegisteredOnly": False
}
run = client.actor("crawlerbros/australia-abn-business-register-scraper").call(run_input=run_input)
dataset_items = client.dataset(run["defaultDatasetId"]).list_items().items
for item in dataset_items:
print(f"Entity: {item.get('entityName')}")
print(f"Status: {item.get('abnStatus')} since {item.get('abnStatusFromDate')}")
print(f"GST: {item.get('gstStatus')}")
Step-by-Step Implementation Workflow
-
Select the target search mode: Define whether your input data consists of raw entity names (
searchByName), 11-digit ABNs (searchByAbn), or 9-digit ASIC ACNs (searchByAcn). -
Apply geographic or entity filters: For name searches, narrow the returned dataset by specifying target states in the
statesarray (e.g.,["NSW", "QLD"]) or a specific targetpostcode(e.g.,"2000"). -
Filter tax concessions if needed: Use
entityCategory: "charity"to return entities holding active charity tax endorsements, orentityCategory: "dgr"for Deductible Gift Recipients. -
Define item bounds: Set
maxItemsto restrict pagination traversal. For direct ABN or ACN lookups, set this parameter to1. - Execute the run and collect dataset items: Retrieve records from the default dataset store.
Scraper Limitations and Inactive Status Handling
This pipeline relies directly on the index structure of the live ABR site, which introduces an important technical limitation: executing mode: "searchByName" will only return entities with an Active ABN status. The government register's public name index deliberately excludes cancelled or inactive registrations from broad free-text searches. If you must inspect historical or cancelled entities to verify defunct vendors, you must execute a direct lookup using mode: "searchByAbn" with the target's explicit 11-digit identifier.
Pricing and Execution Event Costs
This actor operates strictly under the event-based pricing model. Standard charges apply based on emitted dataset items and process initiation:
-
Result Item Emission (
result): $0.005 per record returned in the default dataset under the FREE tier rate ($0.00433 BRONZE, $0.00367 SILVER, $0.003 GOLD, PLATINUM, and DIAMOND). -
Actor Start (
Actor Start): $0.005 per GB of memory allocated to the run upon initiation.
A batch process allocating 1 GB of memory that searches for vendor names and emits 50 matching business profiles incurs a $0.005 start charge plus 50 record events ($0.25 on the base tier), total ($0.255). No separate compute time or subscription-tier rates apply to this actor.
Australia ABN Business Register Scraper is the Actor behind these examples. If a selector in your own version breaks, compare your output against the fields listed in its README first.
Top comments (0)