For: Fintech engineers, compliance teams

Build a KYC pipeline for Australian counterparties

Verify an Australian counterparty in one workflow: confirm the company exists in the ASIC register, check it holds a current AFS licence, and screen the directors against the ASIC banned and disqualified persons register. ausdata.io exposes all three as JSON endpoints under one bearer token, refreshed daily.

The problem

ASIC Connect is a search form, not an API. Onboarding flows that scrape it break, get rate-limited, or return inconsistent HTML. Manual KYC checks do not scale past a few customers per week.

The fix

Three GET calls. /v1/data/asic/companies confirms registration and status. /v1/data/asic/afs-licensees confirms licence authorisations. /v1/data/asic/banned-persons screens individual directors. Each returns a consistent JSON envelope with source attribution suitable for audit logs.

Endpoints used

Code

python
import requests

KEY = "YOUR_API_KEY"
H = {"Authorization": f"Bearer {KEY}"}
BASE = "https://api.ausdata.io"

def kyc(acn: str, director_name: str):
    company = requests.get(f"{BASE}/v1/data/asic/companies", headers=H,
                           params={"acn": acn}).json()
    afsl = requests.get(f"{BASE}/v1/data/asic/afs-licensees", headers=H,
                        params={"abn": company["data"][0]["abn"]}).json()
    banned = requests.get(f"{BASE}/v1/data/asic/banned-persons", headers=H,
                          params={"name": director_name}).json()
    return {
        "registered": company["data"][0]["status"] == "Registered",
        "afsl_active": len(afsl["data"]) > 0,
        "director_banned": len(banned["data"]) > 0,
    }

Steps

  1. 1

    Get a free API key

    Sign up at ausdata.io and copy your bearer token. 500 calls per month free, no credit card.

  2. 2

    Resolve the company

    Call /v1/data/asic/companies with the ACN or company name to confirm status, type, and registered state.

  3. 3

    Verify the AFS licence

    Call /v1/data/asic/afs-licensees with the company ABN to confirm the licence is active and lists the expected authorisations.

  4. 4

    Screen the directors

    Call /v1/data/asic/banned-persons with each director's name to check for active banning orders or disqualifications.

  5. 5

    Log the source

    Persist meta.source.url and meta.retrieved_at from each response so the audit trail points to ASIC, not your wrapper.

Other use cases

Start building

500 free calls per month. No credit card.

Get a free key