Australian Energy Market Commission Search API

Full-text search within a single rule version.

Operations 1

GET /rules/{versionId}/search Full-text search within a rule version #

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/aemc-search-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

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

aemc-search-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: AEMC Energy Rules Search API
  version: '2026-07-27'
  description: 'Machine-readable description of the undocumented JSON API that serves the Australian Energy Market Commission''s Energy Rules application at https://energy-rules.aemc.gov.au. It exposes the consolidated, versioned text of the National Electricity Rules (NER), National Gas Rules (NGR) and National Energy Retail Rules (NERR) — the rule versions and their PDF/DOCX artefacts, the table of contents, every chapter/part/division/rule/clause node, the full-text search index and the complete defined-terms glossary.


    AEMC publishes NO OpenAPI, no developer portal and no API documentation for this surface. This document is DERIVED, not harvested. Every path below is a literal route string taken from AEMC''s own shipped production JavaScript bundle (https://de4oj9etm9d7w.cloudfront.net/b8470902-3d28-4902-8883-2c59d10e7818/js/app.js), and each one was probed live and anonymously on 2026-07-27 with the observed HTTP status recorded in `x-evidence`. Response schemas are derived ONLY from responses actually observed on those probes — no field, parameter or status code is invented.


    ACCESS: entirely anonymous. No API key, no OAuth, no cookie and no CSRF token was required for any read endpoint probed; responses carry `x-ratelimit-limit: 1000` and `x-ratelimit-remaining`, served through AWS API Gateway (`apigw-requestid`) in front of a Laravel application (Laravel API Resource `data`/`links`/`meta` envelope, Laravel-style pagination).


    NOT MODELLED: the production bundle also contains an administrative, token-gated approval route of the form `/api/v1/{type}/{version}/approve/{token}` used by the editorial preview workflow. It is a state-changing endpoint, it was deliberately NOT probed, and it is deliberately not modelled here. The `previewToken` query parameter that several read endpoints accept belongs to the same editorial preview workflow and is not usable anonymously.


    STATUS: this is an undocumented internal API of a public website, not a product AEMC offers or supports. There is no published terms-of-use, rate-limit policy, SLA, versioning policy or contact for it. Treat it as subject to change without notice, and report inaccuracies rather than treating this document as an authoritative contract.'
  contact:
    name: AEMC
    url: https://www.aemc.gov.au/contact-us
  x-provenance:
    generated: '2026-07-27'
    method: derived
    sources:
    - https://de4oj9etm9d7w.cloudfront.net/b8470902-3d28-4902-8883-2c59d10e7818/js/app.js
    - live anonymous HTTP probes 2026-07-27
    note: Not published by AEMC. Derived by API Evangelist from AEMC's own production client bundle plus live anonymous probes of every route.
servers:
- url: https://energy-rules.aemc.gov.au/api/v1
  description: Production
tags:
- name: Search
  description: Full-text search within a single rule version.
paths:
  /rules/{versionId}/search:
    get:
      operationId: searchRuleVersion
      summary: Full-text search within a rule version
      description: Searches the text of one rule version and returns matching content nodes with a `search_content` snippet, the parent node, the children and the version block. Paginated with a Laravel `meta` envelope. Verified live 2026-07-27 — `query=smart meter` against NER v251 returned matches including "Transitional Arrangements for Ministerial Smart Meter Roll Out Determinations".
      tags:
      - Search
      parameters:
      - $ref: '#/components/parameters/VersionId'
      - name: query
        in: query
        required: true
        schema:
          type: string
      - name: chapter
        in: query
        required: false
        description: Restrict to one chapter. The client omits this parameter for "All Chapters".
        schema:
          type: string
      - name: page
        in: query
        required: false
        schema:
          type: integer
          minimum: 1
          default: 1
      - name: perPage
        in: query
        required: false
        schema:
          type: integer
          minimum: 1
          default: 30
      - name: previewToken
        in: query
        required: false
        schema:
          type: string
      responses:
        '200':
          description: Paginated search results.
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/SearchResult'
                  meta:
                    $ref: '#/components/schemas/PaginationMeta'
        '404':
          $ref: '#/components/responses/NotFound'
      x-evidence:
        probed: '2026-07-27'
        requests:
        - url: https://energy-rules.aemc.gov.au/api/v1/rules/803/search?query=smart%20meter&page=1&perPage=3
          status: 200
          bytes: 2171
components:
  schemas:
    PaginationMeta:
      type: object
      properties:
        current_page:
          type: integer
        from:
          type:
          - integer
          - 'null'
        to:
          type:
          - integer
          - 'null'
        last_page:
          type: integer
        per_page:
          type: integer
        total:
          type: integer
        path:
          type: string
          format: uri
        first_page_url:
          type:
          - string
          - 'null'
          format: uri
        last_page_url:
          type:
          - string
          - 'null'
          format: uri
        next_page_url:
          type:
          - string
          - 'null'
          format: uri
        prev_page_url:
          type:
          - string
          - 'null'
          format: uri
        links:
          type: array
          items:
            type: object
            properties:
              url:
                type:
                - string
                - 'null'
                format: uri
              label:
                type: string
              active:
                type: boolean
    SearchResult:
      type: object
      properties:
        id:
          type: integer
        parent_id:
          type:
          - integer
          - 'null'
        title:
          type: string
        description:
          type:
          - string
          - 'null'
        index:
          type: string
        chapter:
          type: string
        content:
          type:
          - string
          - 'null'
        content_type:
          type: string
        metadata:
          type:
          - object
          - 'null'
        search_index:
          type: integer
        search_content:
          type: string
          description: Matched text snippet.
        type:
          type: string
        links:
          type: object
          properties:
            self:
              type: string
              format: uri
            parent:
              type:
              - string
              - 'null'
              format: uri
        parent:
          type:
          - object
          - 'null'
        children:
          type: array
          items:
            type: object
        version:
          type: object
          properties:
            version_id:
              type: integer
            version:
              type: integer
            approved:
              type: integer
            current:
              type: integer
            archived:
              type: integer
            type:
              type: string
            start_date:
              type:
              - string
              - 'null'
            end_date:
              type:
              - string
              - 'null'
    Error:
      type: object
      description: Error envelope observed on 404 responses. Not RFC 9457 problem+json.
      properties:
        message:
          type: string
          examples:
          - Not found
  responses:
    NotFound:
      description: No such rule version, content node or term.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  parameters:
    VersionId:
      name: versionId
      in: path
      required: true
      description: The rule version **id** (the `id` field of a rule version object, e.g. 803 for NER v251) — NOT the human-facing version number. Passing the version number returns HTTP 404.
      schema:
        type: integer
        examples:
        - 803