Australia Company Search API and MCP — Find an ABN by Company Name
Send a name and get the matching Australian entities back, each with its ABN, name, status, state and postcode, and a link to the ABN Lookup record. It is the way to turn a name from an invoice, a website or a CRM row into the ABN you need for the company lookup.
- You send
- A company or business name
- You get back
- Matching entities with ABN, name, status, location and a link to each record
- Coverage
- Australia — entities on ABN Lookup.
- Price
- 1 point per returned record — $1 per 1,000
- Billed per record actually returned, capped by max_items. A request that returns nothing costs nothing.
Ways to get this data
Three approaches teams use today, and where each one runs into trouble.
| Approach | What it takes | Cost | Trade-off |
|---|---|---|---|
| ABN Lookup directly | Type the name into ABN Lookup and read the results | Usually free, sometimes per-document | A different interface, language and data shape for every country you add |
| Collecting it yourself | Build and host a crawler per register, then keep each one alive | Infrastructure and maintenance | Registers change their pages without warning, and nobody is on the hook when yours breaks |
| NeuralVerge | One request, the same shape as every other source in the catalog | $1 per 1,000, misses not billed | Covers Australia — other countries are separate sources with the same request format |
What you get back
Every field in the example response below.
| Field | Type | Description |
|---|---|---|
session_id | string | Identifier of this run. Keep it to trace the call. |
kind | string | Source that produced the response. |
keyword | string | The search text you sent. |
max_items | number | The cap on returned records. |
start_page | number | The results page the run started from. |
partial | boolean | True when the run stopped before reading everything it was asked for. |
human | string | Readable summary of the run in Markdown, including how many results were found. |
machine.total_items | number | Number of records returned in this response. |
machine.first_item | object | The first returned record, repeated as the first entry of items. |
machine.first_item.registration_number | string | The ABN, as eleven digits. |
machine.first_item.name | string | The matched name. |
machine.first_item.status | string | ABN status, for example Active or Cancelled. |
machine.first_item.address | string | State and postcode as the register shows them. |
machine.first_item.url | string | Link to the ABN Lookup record. |
machine.first_item.company_type | null | Entity type. Empty in search results; use the company lookup for it. Null in the sample response, so the type is not shown there. |
machine.first_item.incorporation_date | null | Registration date. Empty in search results; use the company lookup for it. Null in the sample response, so the type is not shown there. |
machine.first_item.abn_formatted | string | The ABN with spaces, as printed on documents. |
machine.first_item.name_type | string | Which kind of name matched, for example Entity Name or Business Name. |
machine.items | array | Every returned record, each with the same fields as first_item. |
machine.total_found | number | How many matches the register reports in total, which can be more than you asked for. |
machine.page_count | number | Number of result pages read. |
machine.blocked | boolean | Whether the register refused the read. False in the sample. |
machine.proxy_traffic_bytes | number | Traffic used by the run, in bytes. Informational. |
total_points | number | Points charged for the run, one per returned record. |
Example response
A real response, as returned.
{
"session_id": "11111111-1111-1111-1111-111111111111",
"kind": "au_companies_search",
"keyword": "woolworths",
"max_items": 2,
"start_page": 1,
"partial": false,
"human": "# Australia — ABN Lookup — company search\n\n- **Keyword:** woolworths\n- **Results:** 2 of 155 found\n- **Proxy traffic:** 140.6 KB",
"machine": {
"total_items": 2,
"first_item": {
"registration_number": "97342304522",
"name": "THE WOOLWORTHS",
"status": "Cancelled",
"address": "SA 5069",
"url": "https://abr.business.gov.au/ABN/View?abn=97342304522",
"company_type": null,
"incorporation_date": null,
"abn_formatted": "97 342 304 522",
"name_type": "Entity Name"
},
"items": [
{
"registration_number": "97342304522",
"name": "THE WOOLWORTHS",
"status": "Cancelled",
"address": "SA 5069",
"url": "https://abr.business.gov.au/ABN/View?abn=97342304522",
"company_type": null,
"incorporation_date": null,
"abn_formatted": "97 342 304 522",
"name_type": "Entity Name"
},
{
"registration_number": "88000014675",
"name": "WOOLWORTHS",
"status": "Active",
"address": "NSW 2153",
"url": "https://abr.business.gov.au/ABN/View?abn=88000014675",
"company_type": null,
"incorporation_date": null,
"abn_formatted": "88 000 014 675",
"name_type": "Business Name"
}
],
"total_found": 155,
"page_count": 1,
"blocked": false,
"proxy_traffic_bytes": 143992
},
"total_points": 2
}How to run it
The same lookup works from the app, the API, or as a tool an agent can call mid-task.
Results come back in the same envelope as every other source: a session id, a readable summary, the structured result and the points charged.
curl -X POST https://api.neuralverge.ai/functions/v1/run-au-companies-search \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"keyword":"woolworths","max_items":2}'What teams use it for
Where this field shows up in an actual workflow.
Resolve a company name to its ABN before a lookup or an onboarding check.
Separate active registrations from cancelled ones in a list of near-identical names.
Match free-text company names against the register and flag the ones that do not exist.
Search a business name and see which entity holds it.
Coverage, freshness and limits
What this source covers, how fresh it is, and where it stops.
Australia — entities on ABN Lookup.
Read at request time, so the answer reflects the register as it stands when you ask.
ABN Lookup is a public register. Every response carries the source URL it was read from and a session id you can trace.
- —Results show a state and postcode, not a full address.
- —Entity type and registration date are empty in search results; run the company lookup for those.
- —A name can match both entity names and business names, so check name_type before assuming a match is the legal entity.
Questions, answered
Set max_items to cap the number returned. total_found tells you how many matches the register reports, which is often more than you asked for.
Related sources
Try australia company search on your own data
One request format across every source in the catalog.