Build a charity due-diligence checker
Verify an Australian charity is registered, in good standing, and operates at the size it claims. ausdata.io wraps the ACNC charity register as JSON, refreshed weekly. Search by ABN or name and return status, size, jurisdictions, and reported revenue.
The problem
The ACNC site is built for human lookups, not bulk verification. Donation platforms that onboard hundreds of charities need a programmatic check that scales without scraping.
The fix
/v1/data/acnc/charities returns the same register as JSON with consistent fields. Verify status equals Registered, confirm the size matches the donation amount expectations, and log the source URL in your due-diligence trail.
Endpoints used
Code
const KEY = process.env.AUSDATA_KEY;
async function verifyCharity(abn) {
const r = await fetch(
`https://api.ausdata.io/v1/data/acnc/charities?abn=${abn}`,
{ headers: { Authorization: `Bearer ${KEY}` } }
).then(r => r.json());
const c = r.data[0];
if (!c) return { ok: false, reason: "Not registered" };
return {
ok: c.status === "Registered",
name: c.name, size: c.size, revenue: c.revenue_aud,
source: r.meta.source.url,
};
}Steps
- 1
Lookup by ABN
Use the ABN supplied at onboarding to fetch the canonical charity record.
- 2
Check status
Only treat status equals Registered as good standing. Revoked or suspended should block the listing.
- 3
Cross-check size
ACNC classifies charities as Small, Medium, or Large by reported revenue. Use this to gate high-value donation flows.
- 4
Log the source
Store meta.source.url and meta.retrieved_at for audit. The data points to ACNC, not your wrapper.
Other use cases
Start building
500 free calls per month. No credit card.
Get a free key