Aristocles Pty Ltd Services API

The services API from Aristocles Pty Ltd — 4 operation(s) for services.

Operations 4

GET /v1/services/by-country/{country_code} Services By Country Endpoint #
GET /v1/services/calculator Calculator Endpoint #
GET /v1/services List Services Endpoint #
GET /v1/services/{slug} Get Service Endpoint #

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/aristocles-com-au:aristocles-com-au-services-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

aristocles-com-au-services-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Aristocles Data Services API
  description: 'Four Australian data APIs on one key — subscriptions, trade pricing, PBS drugs, and rental prices.


    ---


    ## Quick start


    **1. Get your API key** — register in one request:

    ```

    POST /v1/auth/register

    {"email": "you@example.com", "name": "Your Name"}

    ```

    Copy the `api_key` from the response.


    **2. Authenticate** — add your key to every request as a header:

    ```

    X-API-Key: ar_live_xxxxxxxxxxxx

    ```


    **3. Run the discovery endpoint** — returns all available slugs, example calls, and your account limits:

    ```

    GET /v1/discovery

    ```


    **4. Make your first call:**

    ```

    GET /v1/prices/netflix?country=AU

    GET /v1/trades/electrician/prices?state=NSW&country=AU

    GET /v1/pbs/metformin

    GET /v1/rental/VIC/Richmond

    ```


    ---


    ## Four data domains


    | Domain | Base path | What it covers |

    |---|---|---|

    | **Subscription Pricing** | `/v1/prices`, `/v1/services` | 50+ SaaS & streaming services: Netflix, Spotify, Adobe, etc. |

    | **Contractor Trades** | `/v1/trades` | Plumbers, electricians, painters across AU, US, UK, CA, NZ |

    | **PBS Drug Pricing** | `/v1/pbs` | 14,000+ medications on Australia''s Pharmaceutical Benefits Scheme |

    | **Rental Market** | `/v1/rental` | Median weekly rent by suburb and postcode across Australia |

    | **RBA Economic Data** | `/v1/rba` | Cash rate, AUD FX rates, CPI inflation, mortgage rates, credit aggregates |


    ---


    ## MCP Server


    All four data domains are also available as MCP tools at:

    ```

    https://api.aristocles.com.au/mcp/

    ```

    Connect any MCP-compatible AI agent (Claude, GPT, Gemini) to get structured data without writing API calls.'
  version: 2.1.0
tags:
- name: Services
paths:
  /v1/services/by-country/{country_code}:
    get:
      tags:
      - Services
      summary: Services By Country Endpoint
      description: All services available in a country with cheapest price, grouped by category.
      operationId: services_by_country_endpoint_v1_services_by_country__country_code__get
      parameters:
      - name: country_code
        in: path
        required: true
        schema:
          type: string
          description: 'ISO country code: AU, US, UK, CA, NZ'
          title: Country Code
        description: 'ISO country code: AU, US, UK, CA, NZ'
        example: AU
      - name: category
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: Filter by category slug — get slugs from `GET /v1/categories`
          title: Category
        description: Filter by category slug — get slugs from `GET /v1/categories`
        example: streaming-video
      - name: X-API-Key
        in: header
        required: true
        schema:
          type: string
          title: X-Api-Key
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /v1/services/calculator:
    get:
      tags:
      - Services
      summary: Calculator Endpoint
      description: Calculate total monthly/yearly spend for a list of services.
      operationId: calculator_endpoint_v1_services_calculator_get
      parameters:
      - name: services
        in: query
        required: true
        schema:
          type: string
          maxLength: 1000
          description: Comma-separated service slugs — get slugs from `GET /v1/services`
          title: Services
        description: Comma-separated service slugs — get slugs from `GET /v1/services`
        example: netflix,spotify,adobe-creative-cloud
      - name: country
        in: query
        required: false
        schema:
          type: string
          maxLength: 2
          description: ISO country code, e.g. AU, US, GB
          default: AU
          title: Country
        description: ISO country code, e.g. AU, US, GB
      - name: X-API-Key
        in: header
        required: true
        schema:
          type: string
          title: X-Api-Key
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /v1/services:
    get:
      tags:
      - Services
      summary: List Services Endpoint
      description: List subscription services with optional filters.
      operationId: list_services_endpoint_v1_services_get
      parameters:
      - name: category
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: Filter by category slug — get slugs from `GET /v1/categories`
          title: Category
        description: Filter by category slug — get slugs from `GET /v1/categories`
        example: streaming-video
      - name: country
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: 'Filter by ISO country code: AU, US, UK, CA, NZ'
          title: Country
        description: 'Filter by ISO country code: AU, US, UK, CA, NZ'
        example: AU
      - name: search
        in: query
        required: false
        schema:
          anyOf:
          - type: string
            maxLength: 200
          - type: 'null'
          description: Search by service name, e.g. netflix, spotify, adobe
          title: Search
        description: Search by service name, e.g. netflix, spotify, adobe
      - name: page
        in: query
        required: false
        schema:
          type: integer
          minimum: 1
          description: Page number for pagination
          default: 1
          title: Page
        description: Page number for pagination
      - name: per_page
        in: query
        required: false
        schema:
          type: integer
          maximum: 100
          minimum: 1
          description: Results per page (max 100)
          default: 20
          title: Per Page
        description: Results per page (max 100)
      - name: X-API-Key
        in: header
        required: true
        schema:
          type: string
          title: X-Api-Key
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
              example:
                data:
                  items:
                  - name: Netflix
                    slug: netflix
                    category_name: Streaming Video
                    category_slug: streaming-video
                    description: Streaming platform with movies and TV shows
                    website_url: https://netflix.com
                    cheapest_monthly_price: 7.99
                    cheapest_currency: AUD
                  - name: Spotify
                    slug: spotify
                    category_name: Music Streaming
                    category_slug: music-streaming
                    description: Music streaming service
                    website_url: https://spotify.com
                    cheapest_monthly_price: 11.99
                    cheapest_currency: AUD
                  total: 85
                  page: 1
                  per_page: 20
                  pages: 5
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /v1/services/{slug}:
    get:
      tags:
      - Services
      summary: Get Service Endpoint
      description: Get full service detail by slug.
      operationId: get_service_endpoint_v1_services__slug__get
      parameters:
      - name: slug
        in: path
        required: true
        schema:
          type: string
          description: Service slug — get slugs from `GET /v1/services`
          title: Slug
        description: Service slug — get slugs from `GET /v1/services`
        example: netflix
      - name: X-API-Key
        in: header
        required: true
        schema:
          type: string
          title: X-Api-Key
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
components:
  schemas:
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
            - type: string
            - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
        input:
          title: Input
        ctx:
          type: object
          title: Context
      type: object
      required:
      - loc
      - msg
      - type
      title: ValidationError
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError