Guide7 min readAlberto García

Australian ABN Validation API: GST Number Verification Guide

Australian businesses use an ABN for all tax purposes including GST. This guide shows how to validate an ABN programmatically, what the response fields mean, and how to handle inactive registrations.

australiaabngstapiguide

Australia does not use a VAT system — it uses GST (Goods and Services Tax) at a flat 10% rate. Australian businesses are identified by their ABN (Australian Business Number), an 11-digit number issued by the Australian Business Register (ABR). When a business registers for GST, their ABN becomes their GST identifier. To check whether an Australian business is GST-registered, you validate their ABN against the ABR — which is exactly what the TaxID API does for the `AU` country prefix.

ABN Format

An ABN is always 11 digits. It is often displayed with spaces (51 824 753 556) or as a raw number (51824753556). Both formats are accepted by the TaxID API — spaces are stripped automatically. When building a form, validate that the input is 11 digits after removing spaces and non-numeric characters.

FormatExampleNotes
11 digits51824753556Raw format — spaces stripped automatically
With spaces51 824 753 556Display format — accepted
AU prefix + 11 digitsAU51824753556API format with country prefix

Note

When calling the TaxID API for Australian businesses, pass the `AU` prefix followed by the 11-digit ABN: `GET /validate/AU/AU51824753556`. The API handles spacing and formatting automatically.

Validating an ABN in Node.js

typescriptlib/validate-abn.ts
async function validateAbn(abn: string) {
  // Strip spaces and non-digits, prepend AU prefix
  const digits = abn.replace(/\D/g, '');
  const formatted = `AU${digits}`;

  const res = await fetch(
    `https://taxid.dev/api/v1/validate/AU/${formatted}`,
    { headers: { Authorization: `Bearer ${process.env.TAXID_API_KEY}` } }
  );

  if (!res.ok) throw new Error(`API error: ${res.status}`);
  const data = await res.json();

  return {
    isGstRegistered: data.status === 'active',
    entityName: data.company_name,
    status: data.status,
    requestId: data.request_id,
  };
}

// Usage:
const result = await validateAbn('51 824 753 556');
console.log(result.isGstRegistered); // true/false
console.log(result.entityName);      // Registered business name

Validating an ABN in Python

pythonvalidate_abn.py
import os, re, requests

def validate_abn(abn: str) -> dict:
    digits = re.sub(r'\D', '', abn)  # strip all non-digits
    formatted = f'AU{digits}'

    resp = requests.get(
        f'https://taxid.dev/api/v1/validate/AU/{formatted}',
        headers={'Authorization': f'Bearer {os.environ["TAXID_API_KEY"]}'},
        timeout=5,
    )
    resp.raise_for_status()
    data = resp.json()

    return {
        'is_gst_registered': data['status'] == 'active',
        'entity_name': data.get('company_name'),
        'status': data['status'],
    }

# Usage:
result = validate_abn('51 824 753 556')
print(result['is_gst_registered'])  # True
print(result['entity_name'])        # Business name from ABR

Understanding ABN Statuses

StatusMeaningAction
activeABN is active and entity is GST-registeredApply GST-free treatment for eligible B2B supplies
inactiveABN has been cancelled or entity has deregistered from GSTCharge GST at standard 10% rate
format_invalidInput is not a valid 11-digit ABN formatShow format guidance to user
service_unavailableABR is temporarily offlineCharge GST; re-validate when ABR recovers

ABN vs GST Registration: The Distinction

Not all businesses with an ABN are registered for GST. Businesses with annual turnover below AUD 75,000 are not required to register for GST (though they may do so voluntarily). A TaxID API response with `status: 'active'` confirms that the ABN is active AND the entity is registered for GST. If a business has an ABN but has not registered for GST, the API returns `status: 'inactive'` — in that case, you must charge GST on supplies to them, as they cannot claim it back.

Storing Validation Results for Compliance

Australian tax law (A New Tax System (Goods and Services Tax) Act 1999) requires that you retain tax invoices and records supporting GST-free treatment. For B2B supplies, store the ABN, the validation result, and the `request_id` from the TaxID response alongside the invoice record. This is your evidence that the ABN was valid and GST-registered at the time of supply.

Start validating EU VAT numbers

Free plan — 100 validations/month. No credit card required.

AG
Alberto García

Founder, TaxID

Building EU VAT validation tools for developers. Obsessed with compliance automation and developer experience.