DataScoop Australia API

The Australia API from DataScoop — 1 operation(s) for australia.

Operations 1

GET /v1/datasets/au-aged-care/query Australia aged care services (Aged Care Service List) #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • 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.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/datascoop-io:datascoop-io-australia-api"
All apis
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.

Get an API 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 Specification

datascoop-io-australia-api-openapi.yml Raw ↑
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