DataScoop Australia API
The Australia API from DataScoop — 1 operation(s) for australia.
The Australia API from DataScoop — 1 operation(s) for australia.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/datascoop-io:datascoop-io-australia-api"
curl "https://apis.io/api/v1/apis?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: DataScoop Australia API
version: 1.0.0
summary: 'Official public datasets as filtered rows: CSV, JSON and MCP.'
description: 'Preview any dataset free (25 rows per call, no key). Pro keys can access every matching row: REST JSON returns up to 10,000 rows per page, with offset for pagination; omit limit for a full Pro CSV export. Fields marked personal in the schema are excluded; every response carries the attribution to keep. MCP endpoint: https://datascoop.io/mcp. Machine-readable overview: https://datascoop.io/llms.txt'
termsOfService: https://datascoop.io/terms
contact:
url: https://datascoop.io/contact
license:
name: Data reused under the open licence listed per dataset
url: https://datascoop.io/licences
servers:
- url: https://datascoop.io
security:
- {}
- bearerAuth: []
- apiKeyQuery: []
tags:
- name: Australia
paths:
/v1/datasets/au-aged-care/query:
get:
operationId: query_au_aged_care
summary: Australia aged care services (Aged Care Service List)
description: 'Every Australian Government-subsidised aged care service by state, LGA, provider, care type and places. Download the list for Excel or your CRM, or use the API. 5,378 rows. Licence: Creative Commons Attribution 4.0. Example: Residential aged care homes in New South Wales with 60 or more places, as CSV: https://datascoop.io/v1/datasets/au-aged-care/query?state=NSW&careType=Residential&minResidentialPlaces=60'
tags:
- Australia
parameters:
- name: state
in: query
required: false
description: 'State: exact match, case-insensitive.'
schema:
type: string
enum:
- NSW
- VIC
- QLD
- WA
- SA
- TAS
- ACT
- NT
example: NSW
- name: careType
in: query
required: false
description: 'Care type: substring match, case-insensitive. e.g. Residential, Home Care, Multi-Purpose Service, Transition Care, Short-Term Restorative Care'
schema:
type: string
example: Residential
- name: organisationType
in: query
required: false
description: 'Organisation type: exact match, case-insensitive.'
schema:
type: string
enum:
- Charitable
- Community Based
- Private Incorporated Body
- Publicly Listed Company
- Religious
- State Government
- Local Government
example: Charitable
- name: lga
in: query
required: false
description: 'Local government area contains: substring match, case-insensitive.'
schema:
type: string
example: Albury
- name: lgaState
in: query
required: false
description: 'LGA, State: exact match, case-insensitive. Exact LGA and state as shown on the list pages'
schema:
type: string
example: Albury, NSW
- name: suburb
in: query
required: false
description: 'Suburb: exact match, case-insensitive. Exact, case-insensitive'
schema:
type: string
example: Albury
- name: postcodePrefix
in: query
required: false
description: 'Postcode starts with: prefix match, case-insensitive.'
schema:
type: string
example: '26'
- name: minResidentialPlaces
in: query
required: false
description: 'Minimum residential places: minimum (inclusive).'
schema:
type: number
example: 60
- name: remoteness
in: query
required: false
description: 'Remoteness contains: substring match, case-insensitive.'
schema:
type: string
example: Remote
- name: providerContains
in: query
required: false
description: 'Provider contains: substring match, case-insensitive.'
schema:
type: string
example: Bupa
- name: nameContains
in: query
required: false
description: 'Service name contains: substring match, case-insensitive.'
schema:
type: string
example: Lodge
- name: limit
in: query
required: false
description: Rows to return. Free plans are capped at 25; Pro up to 10,000 per JSON or explicitly limited CSV page. Omit limit for a full Pro CSV export.
schema:
type: integer
minimum: 0
- name: offset
in: query
required: false
description: Rows to skip. Supported by anonymous, free-key and Pro queries. Ignored for a full Pro CSV export when limit is omitted.
schema:
type: integer
minimum: 0
- name: format
in: query
required: false
description: json (default) or csv. With Pro, format=csv without limit streams every matching row. With an explicit limit, CSV returns a bounded page and respects offset.
schema:
type: string
enum:
- json
- csv
- name: strict_filters
in: query
required: false
description: Set to 1 or true to reject unsupported or invalid nonempty filters with HTTP 400. Omitted filters and empty values remain absent. Default is lenient; check ignored before using results. This is a request option, not a dataset filter.
schema:
type: string
enum:
- '0'
- '1'
- 'false'
- 'true'
default: '0'
responses:
'200':
description: Matching rows; CSV keeps its existing format
content:
application/json:
schema:
$ref: '#/components/schemas/QueryResult'
text/csv:
schema:
type: string
'400':
description: Invalid filters, strict-mode option or pagination
content:
application/json:
schema:
anyOf:
- $ref: '#/components/schemas/InvalidFilters'
- type: object
properties:
error:
type: string
code:
type: string
enum:
- invalid_strict_filters
- invalid_pagination
required:
- error
components:
schemas:
QueryResult:
type: object
properties:
dataset:
type: string
plan:
type: string
enum:
- free
- pro
importVersion:
type:
- string
- 'null'
description: Opaque source-import identity, stable across deployments.
total:
type: integer
description: Rows matching the filters
returned:
type: integer
offset:
type: integer
truncated:
type: boolean
description: true when fewer rows than total were returned
ignored:
type: array
items:
type: string
description: Filter keys the dataset does not know
columns:
type: array
items:
type: object
properties:
key:
type: string
label:
type: string
rows:
type: array
items:
type: object
additionalProperties: true
attribution:
type: string
description: Keep this with the data
licence:
type: string
applied_filters:
type: object
additionalProperties:
type:
- string
- number
- boolean
description: Effective dataset predicates after normalisation. Does not include pagination or request options.
provenance:
type: object
properties:
source_urls:
type: array
items:
type: string
format: uri
description: Configured publisher references; not retained versions of imported files
licence_url:
type:
- string
- 'null'
format: uri
imported_at:
type:
- string
- 'null'
format: date-time
description: Recorded successful DataScoop import time, not a publisher release date or record update time
coverage:
type: object
properties:
country:
type: string
region:
type:
- string
- 'null'
required:
- country
- region
description: Declared dataset geography; not a guarantee of completeness
notes:
type: array
items:
type: string
required:
- source_urls
- licence_url
- imported_at
- coverage
- notes
next_step:
type: object
description: May offer a CSV or larger paid pages when total exceeds the free per-call cap. Free offset pagination remains available.
properties:
message:
type: string
buy_export_url:
type: string
format: uri
signup_url:
type: string
format: uri
pricing_url:
type: string
format: uri
required:
- dataset
- total
- returned
- truncated
- rows
- attribution
- applied_filters
- provenance
InvalidFilters:
type: object
properties:
error:
type: string
code:
type: string
const: invalid_filters
filter_names:
type: array
maxItems: 32
items:
type: string
description: Bounded names only; invalid values are not echoed
required:
- error
- code
- filter_names
securitySchemes:
bearerAuth:
type: http
scheme: bearer
description: DataScoop API key from /signup
apiKeyQuery:
type: apiKey
in: query
name: api_key
externalDocs:
url: https://datascoop.io/docs
description: Docs