Org APIafca.org.au ↗
Search thousands of AFCA published decisions by keyword, case number, financial firm, product, and date. Structured JSON responses via a single endpoint.
What is the Org API?
The AFCA Decisions API exposes one endpoint — search_decisions — that returns structured data from the Australian Financial Complaints Authority's published case library, covering fields like case_number, financial_firm, resolution_date, and knowledge_article_id. You can query by keyword, exact case number, financial firm name, product line, issue type, or date range, with total_count indicating how many decisions match your filters. Broad searches can return thousands of records in a single response.
curl -X GET 'https://api.parse.bot/scraper/dc78cb9c-e3c1-4e7e-823a-53a22b25ee2e/search_decisions?query=12-25-328044' \ -H 'X-API-Key: $PARSE_API_KEY'
Typed, relational, agent-ready
A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.
- Fully typed · autocompletes
- Objects link to objects
- Typed errors & pagination
Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:
uv add parse-sdk uv run parse init uv run parse add --marketplace afca-org-au-api
uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.
"""Walkthrough: AFCA Decisions SDK — bounded, re-runnable; every call capped."""
from parse_apis.afca_org_au_api import Afca, SearchInputRequired
client = Afca()
# Search by case number — exact match
for decision in client.decisions.search(query="12-25-328044", limit=3):
print(decision.case_number, decision.financial_firm, decision.resolution_date)
# Take the first result for inspection
item = client.decisions.search(query="12-25-328044", limit=1).first()
# Typed error: missing required search parameters
try:
result = client.decisions.search(limit=1).first()
if result:
print(result.case_number, result.financial_firm)
except SearchInputRequired as e:
print("input required:", e)
print("exercised: decisions.search")
Search AFCA published decisions by keyword, case number, financial firm, product filters, issue filters, and date range. Returns all matching decisions in a single response. Searches by case number (e.g. '12-25-328044') return exact matches. Broad keyword searches may return thousands of results. At least one search parameter is required.
| Param | Type | Description |
|---|---|---|
| issue | string | Filter by specific issue. |
| query | string | Keyword or case number to search for (e.g. 'insurance', '12-25-328044'). Matches against decision content and case metadata. |
| date_to | string | Filter decisions resolved on or before this date (format: YYYY-MM-DD). |
| date_from | string | Filter decisions resolved on or after this date (format: YYYY-MM-DD). |
| issue_type | string | Filter by issue type. |
| product_line | string | Filter by product line. |
| product_name | string | Filter by product name. |
| financial_firm | string | Filter by financial firm name (e.g. 'AAI Limited', 'Youi Pty Ltd'). |
| product_category | string | Filter by product category. |
{
"type": "object",
"fields": {
"results": "array of decision objects with case_number, financial_firm, resolution_date, and knowledge_article_id",
"total_count": "integer — total number of matching decisions"
},
"sample": {
"data": {
"results": [
{
"case_number": "12-25-328044",
"financial_firm": "Youi Pty Ltd",
"resolution_date": "6/12/2026 1:58:48 AM",
"knowledge_article_id": "df2310b1-737e-f111-ab0e-000d3ad0b933"
}
],
"total_count": 1
},
"status": "success"
}
}About the Org API
What the API Returns
The search_decisions endpoint returns an array of decision objects from AFCA's published decisions database. Each object in the results array includes case_number (e.g. 12-25-328044), financial_firm, resolution_date, and knowledge_article_id. The total_count field tells you how many decisions matched your query without needing to paginate — all matching results are returned in one response.
Filtering and Search Options
The query parameter accepts free-text keywords or an exact case number. Keyword searches match against decision content and metadata; case number searches (e.g. '12-25-328044') return a precise single match. You can narrow results with financial_firm (e.g. 'AAI Limited', 'Youi Pty Ltd'), product_line, product_name, issue_type, and issue. Date range filtering is available via date_from and date_to in YYYY-MM-DD format, both bound to the resolution_date field.
Coverage and Volume
AFCA publishes decisions from financial firms operating in Australia across banking, insurance, investments, superannuation, and credit. Broad queries without filters can match thousands of decisions. For targeted research — say, all motor vehicle insurance decisions resolved against a specific insurer in a given year — combining financial_firm, product_name, and date range parameters keeps results relevant and manageable.
The Org API is a managed, monitored endpoint for afca.org.au — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when afca.org.au changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official afca.org.au API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Aggregate decisions against a specific insurer by combining
financial_firmandproduct_linefilters to track complaint outcomes over time - Retrieve an exact AFCA decision by
case_numberfor citation in legal or compliance documents - Filter decisions by
issue_typeanddate_from/date_toto identify trends in a particular complaint category - Cross-reference
financial_firmdecisions with internal risk data to assess counterparty complaint history - Build a legal research tool that lets users search AFCA precedents by product and issue combination
- Monitor
resolution_datepatterns for a firm to track whether complaint volumes are rising in recent periods - Extract
knowledge_article_idvalues to link decision summaries into a compliance knowledge base
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does AFCA have an official developer API?+
What does a `search_decisions` response include for each case?+
results array contains case_number, financial_firm, resolution_date, and knowledge_article_id. The total_count field at the top level tells you how many decisions matched the query in total.Does the API return the full decision text or outcome details?+
knowledge_article_id.Are there quirks to be aware of with broad keyword searches?+
query values without additional filters can match thousands of decisions, all returned in a single response. If response size is a concern, combine the query parameter with financial_firm, product_name, issue_type, or date range filters to reduce the result set.