ACMA Registrations API

Device registrations and frequency assignments.

Business capability
Licence Register Management BC-3240.60

Operations 4

GET /RegistrationSearchXML Search device registrations / assignments (XML) #
GET /RegistrationSearchJSON Search device registrations / assignments (JSON) #
GET /AssignmentRangeXML Search assignments by postcode, frequency and date range (XML) #
GET /AssignmentRangeJSON Search assignments by postcode, frequency and date range (JSON) #

Documentation

Specifications

Other Resources

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/acma-registrations-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

acma-registrations-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: ACMA Spectrum Licensing Registrations API
  version: '1.0'
  summary: Public, anonymous read access to the Australian Communications and Media Authority's Register of Radiocommunications Licences.
  description: The ACMA Spectrum Licensing API is an application programming interface which allows members of the public to query the ACMA's spectrum licensing data.
  contact:
    name: ACMA
    email: info@acma.gov.au
    url: https://www.acma.gov.au/contact-us
  license:
    name: Licence to use the Register of Radiocommunications Licences
    url: https://www.acma.gov.au/radiocomms-licence-data#terms-and-conditions
  termsOfService: https://www.acma.gov.au/radiocomms-licence-data#terms-and-conditions
  x-source: https://www.acma.gov.au/sites/default/files/2019-11/Spectrum%20licensing%20API.docx
  x-wsdl: https://api.acma.gov.au/SpectrumLicensingAPIOuterService/OuterService.svc?wsdl
  x-generated-by: API Evangelist enrichment pipeline
  x-generated-on: '2026-07-25'
servers:
- url: https://api.acma.gov.au/SpectrumLicensingAPIOuterService/OuterService.svc
  description: Production REST endpoint (HTTPS). The guide publishes the same path over HTTP; HTTPS is live and verified.
security: []
tags:
- name: Registrations
  description: Device registrations and frequency assignments.
paths:
  /RegistrationSearchXML:
    get:
      operationId: registrationSearchXML
      summary: Search device registrations / assignments (XML)
      description: 'Returns an XElement containing all registrations for the specified search terms.


        A single query returns at most 2,000 records; page with the offset parameter to retrieve more. For the whole dataset, ACMA publishes a same-day full RRL extract as a zip download rather than serving it through this API.'
      tags:
      - Registrations
      parameters:
      - $ref: '#/components/parameters/searchTextQuery'
      - name: searchField
        in: query
        required: false
        description: The field to search.
        schema:
          type: string
          enum:
          - CLIENT_NO
          - LICENCE_NO
          - ACCESS_ID
          - EFL_ID
          - DEVICE_REGISTRATION_IDENTIFIER
          - Frequency (MHz)
          - Frequency (GHz)
          - Frequency (Hz)
          - Frequency (KHz)
      - $ref: '#/components/parameters/searchOption'
      - name: sortBy
        in: query
        required: false
        description: The field to sort the results by.
        schema:
          type: string
          enum:
          - id
          - emission_desg
          - frequency
      - $ref: '#/components/parameters/offset'
      - $ref: '#/components/parameters/resultsLimit'
      responses:
        '200':
          description: Matching records. The service returns HTTP 200 with an empty result array when nothing matches.
          content:
            application/xml:
              schema:
                type: string
                description: An XElement document. The element structure mirrors the JSON envelope of the matching *JSON operation; the XML Schema for the SOAP projection of this service is published at https://api.acma.gov.au/SpectrumLicensingAPIOuterService/OuterService.svc?xsd=xsd0 and harvested to wsdl/acma-spectrum-licensing-xsd0.xsd.
        '400':
          description: Malformed request - an unparseable URI template, or a parameter value the WCF service cannot bind (for example a non-numeric offset).
          content:
            text/html:
              schema:
                type: string
        '404':
          description: Unknown web method - the leading path segment does not match a published operation name.
          content:
            text/html:
              schema:
                type: string
        '500':
          description: Service fault. The WCF endpoint returns an HTML fault page rather than a structured error body; there is no RFC 9457 problem+json envelope.
          content:
            text/html:
              schema:
                type: string
      x-evidence:
        documented_in: https://www.acma.gov.au/sites/default/files/2019-11/Spectrum%20licensing%20API.docx
        verified_live: https://api.acma.gov.au/SpectrumLicensingAPIOuterService/OuterService.svc/RegistrationSearchXML?searchText=123&searchField=Frequency%20(MHz)&resultsLimit=1
        verified_on: '2026-07-25'
        verified_status: 200
  /RegistrationSearchJSON:
    get:
      operationId: registrationSearchJSON
      summary: Search device registrations / assignments (JSON)
      description: 'Returns a JSON string containing all registrations for the specified search terms.


        A single query returns at most 2,000 records; page with the offset parameter to retrieve more. For the whole dataset, ACMA publishes a same-day full RRL extract as a zip download rather than serving it through this API.'
      tags:
      - Registrations
      parameters:
      - $ref: '#/components/parameters/searchTextQuery'
      - name: searchField
        in: query
        required: false
        description: The field to search.
        schema:
          type: string
          enum:
          - CLIENT_NO
          - LICENCE_NO
          - ACCESS_ID
          - EFL_ID
          - DEVICE_REGISTRATION_IDENTIFIER
          - Frequency (MHz)
          - Frequency (GHz)
          - Frequency (Hz)
          - Frequency (KHz)
      - $ref: '#/components/parameters/searchOption'
      - name: sortBy
        in: query
        required: false
        description: The field to sort the results by.
        schema:
          type: string
          enum:
          - id
          - emission_desg
          - frequency
      - $ref: '#/components/parameters/offset'
      - $ref: '#/components/parameters/resultsLimit'
      - $ref: '#/components/parameters/isJSONP'
      - $ref: '#/components/parameters/jsonpCallback'
      responses:
        '200':
          description: Matching records. The service returns HTTP 200 with an empty result array when nothing matches.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RegistrationSearchResponse'
              examples:
                live:
                  summary: Live response captured 2026-07-25 from https://api.acma.gov.au/SpectrumLicensingAPIOuterService/OuterService.svc/RegistrationSearchJSON?searchText=123&searchField=Frequency%20(MHz)&resultsLimit=1
                  value:
                    Registration:
                    - TOTAL_RESULT: 16.0
                      RESULTS_INDEX: 1.0
                      ID_SORT_FIELD: '1056349'
                      DEVICE_REGISTRATION_IDENTIFIER: null
                      EFL_ID: 1056349
                      EMISSION_DESIG: '6K00A3E  '
                      FREQ: 123000000.0
                      LICENCE_NO: 1928018/1
                      CLIENT_NO: '401054'
                      SITE_ID: 15842.0
                      DEVICE_TYPE_TEXT: Receiver
                      FORMER_DEVICE_IDENTIFIER: 8275423-8302951
        '400':
          description: Malformed request - an unparseable URI template, or a parameter value the WCF service cannot bind (for example a non-numeric offset).
          content:
            text/html:
              schema:
                type: string
        '404':
          description: Unknown web method - the leading path segment does not match a published operation name.
          content:
            text/html:
              schema:
                type: string
        '500':
          description: Service fault. The WCF endpoint returns an HTML fault page rather than a structured error body; there is no RFC 9457 problem+json envelope.
          content:
            text/html:
              schema:
                type: string
      x-evidence:
        documented_in: https://www.acma.gov.au/sites/default/files/2019-11/Spectrum%20licensing%20API.docx
        verified_live: https://api.acma.gov.au/SpectrumLicensingAPIOuterService/OuterService.svc/RegistrationSearchJSON?searchText=123&searchField=Frequency%20(MHz)&resultsLimit=1
        verified_on: '2026-07-25'
        verified_status: 200
  /AssignmentRangeXML:
    get:
      operationId: assignmentRangeXML
      summary: Search assignments by postcode, frequency and date range (XML)
      description: 'Returns an XElement containing all assignments that are in the specified postcode and frequency range.


        A single query returns at most 2,000 records; page with the offset parameter to retrieve more. For the whole dataset, ACMA publishes a same-day full RRL extract as a zip download rather than serving it through this API.'
      tags:
      - Registrations
      parameters:
      - name: strLowerPostCode
        in: query
        required: false
        description: The lower post code in the post code range.
        schema:
          type: string
      - name: strUpperPostCode
        in: query
        required: false
        description: The upper post code in the post code range.
        schema:
          type: string
      - name: strLowerFreq
        in: query
        required: false
        description: The lower frequency in the frequency range.
        schema:
          type: string
      - name: strUpperFreq
        in: query
        required: false
        description: The upper frequency in the frequency range.
        schema:
          type: string
      - name: strLowerDate
        in: query
        required: false
        description: The lower date in the date range, formatted DD-MM-YYYY.
        schema:
          type: string
          examples:
          - 01-01-2010
      - name: strUpperDate
        in: query
        required: false
        description: The upper date in the date range, formatted DD-MM-YYYY.
        schema:
          type: string
          examples:
          - 01-01-2016
      - $ref: '#/components/parameters/strOffset'
      - $ref: '#/components/parameters/strLimit'
      - name: sortBy
        in: query
        required: false
        description: The field to sort the results by.
        schema:
          type: string
          enum:
          - id
          - frequency
          - emission_desg
          - date
          - rownum
      responses:
        '200':
          description: Matching records. The service returns HTTP 200 with an empty result array when nothing matches.
          content:
            application/xml:
              schema:
                type: string
                description: An XElement document. The element structure mirrors the JSON envelope of the matching *JSON operation; the XML Schema for the SOAP projection of this service is published at https://api.acma.gov.au/SpectrumLicensingAPIOuterService/OuterService.svc?xsd=xsd0 and harvested to wsdl/acma-spectrum-licensing-xsd0.xsd.
        '400':
          description: Malformed request - an unparseable URI template, or a parameter value the WCF service cannot bind (for example a non-numeric offset).
          content:
            text/html:
              schema:
                type: string
        '404':
          description: Unknown web method - the leading path segment does not match a published operation name.
          content:
            text/html:
              schema:
                type: string
        '500':
          description: Service fault. The WCF endpoint returns an HTML fault page rather than a structured error body; there is no RFC 9457 problem+json envelope.
          content:
            text/html:
              schema:
                type: string
      x-evidence:
        documented_in: https://www.acma.gov.au/sites/default/files/2019-11/Spectrum%20licensing%20API.docx
        verified_live: https://api.acma.gov.au/SpectrumLicensingAPIOuterService/OuterService.svc/AssignmentRangeXML?strLowerDate=01-01-2010&strUpperDate=01-01-2016&strLimit=10
        verified_on: '2026-07-25'
        verified_status: 200
  /AssignmentRangeJSON:
    get:
      operationId: assignmentRangeJSON
      summary: Search assignments by postcode, frequency and date range (JSON)
      description: 'Returns a JSON string containing all assignments that are in the specified postcode and frequency range.


        A single query returns at most 2,000 records; page with the offset parameter to retrieve more. For the whole dataset, ACMA publishes a same-day full RRL extract as a zip download rather than serving it through this API.'
      tags:
      - Registrations
      parameters:
      - name: strLowerPostCode
        in: query
        required: false
        description: The lower post code in the post code range.
        schema:
          type: string
      - name: strUpperPostCode
        in: query
        required: false
        description: The upper post code in the post code range.
        schema:
          type: string
      - name: strLowerFreq
        in: query
        required: false
        description: The lower frequency in the frequency range.
        schema:
          type: string
      - name: strUpperFreq
        in: query
        required: false
        description: The upper frequency in the frequency range.
        schema:
          type: string
      - name: strLowerDate
        in: query
        required: false
        description: The lower date in the date range, formatted DD-MM-YYYY.
        schema:
          type: string
          examples:
          - 01-01-2010
      - name: strUpperDate
        in: query
        required: false
        description: The upper date in the date range, formatted DD-MM-YYYY.
        schema:
          type: string
          examples:
          - 01-01-2016
      - $ref: '#/components/parameters/strOffset'
      - $ref: '#/components/parameters/strLimit'
      - name: sortBy
        in: query
        required: false
        description: The field to sort the results by.
        schema:
          type: string
          enum:
          - id
          - frequency
          - emission_desg
          - date
          - rownum
      - $ref: '#/components/parameters/isJSONP'
      - $ref: '#/components/parameters/jsonpCallback'
      responses:
        '200':
          description: Matching records. The service returns HTTP 200 with an empty result array when nothing matches.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AssignmentRangeResponse'
              examples:
                live:
                  summary: Live response captured 2026-07-25 from https://api.acma.gov.au/SpectrumLicensingAPIOuterService/OuterService.svc/AssignmentRangeJSON?strLowerDate=01-01-2010&strUpperDate=01-01-2016&strLimit=10
                  value:
                    Assignment:
                    - TOTAL_RESULT: 207879.0
                      RESULTS_INDEX: 1.0
                      ID_SORT_FIELD: '9002048'
                      DEVICE_REGISTRATION_IDENTIFIER: '9002048'
                      EFL_ID: null
                      EMISSION_DESIG: 4M90G7WEC
                      FREQ: 1937500000.0
                      LICENCE_NO: '10143466'
                      CLIENT_NO: '1104504'
                      BANDWIDTH: 4900000.0
                      OP_MODE: R
                      SITE_ID: '9000862'
                      AREA_ID: null
                      AUTHORISATION_DATE: '2011-03-24T00:00:00'
                    - TOTAL_RESULT: 207879.0
                      RESULTS_INDEX: 2.0
                      ID_SORT_FIELD: '9002053'
                      DEVICE_REGISTRATION_IDENTIFIER: '9002053'
                      EFL_ID: null
                      EMISSION_DESIG: 4M90G7WEC
                      FREQ: 1937500000.0
                      LICENCE_NO: '10143466'
                      CLIENT_NO: '1104504'
                      BANDWIDTH: 4900000.0
                      OP_MODE: R
                      SITE_ID: '9000862'
                      AREA_ID: null
                      AUTHORISATION_DATE: '2011-03-24T00:00:00'
        '400':
          description: Malformed request - an unparseable URI template, or a parameter value the WCF service cannot bind (for example a non-numeric offset).
          content:
            text/html:
              schema:
                type: string
        '404':
          description: Unknown web method - the leading path segment does not match a published operation name.
          content:
            text/html:
              schema:
                type: string
        '500':
          description: Service fault. The WCF endpoint returns an HTML fault page rather than a structured error body; there is no RFC 9457 problem+json envelope.
          content:
            text/html:
              schema:
                type: string
      x-evidence:
        documented_in: https://www.acma.gov.au/sites/default/files/2019-11/Spectrum%20licensing%20API.docx
        verified_live: https://api.acma.gov.au/SpectrumLicensingAPIOuterService/OuterService.svc/AssignmentRangeJSON?strLowerDate=01-01-2010&strUpperDate=01-01-2016&strLimit=10
        verified_on: '2026-07-25'
        verified_status: 200
components:
  parameters:
    offset:
      name: offset
      in: query
      required: false
      description: The number of records to skip over. Used with resultsLimit to page beyond the 2,000-record cap (0, 2000, 4000, ...).
      schema:
        type: integer
        minimum: 0
    strOffset:
      name: strOffset
      in: query
      required: false
      description: The number of records to skip over.
      schema:
        type: integer
        minimum: 0
    strLimit:
      name: strLimit
      in: query
      required: false
      description: The number of records to return after the offset. The service caps any single query at 2,000 records.
      schema:
        type: integer
        minimum: 1
        maximum: 2000
    resultsLimit:
      name: resultsLimit
      in: query
      required: false
      description: The number of records to return after the offset. The service caps any single query at 2,000 records.
      schema:
        type: integer
        minimum: 1
        maximum: 2000
    isJSONP:
      name: isJSONP
      in: query
      required: false
      description: true or false, depending on whether JSONP is used.
      schema:
        type: boolean
    jsonpCallback:
      name: jsonpCallback
      in: query
      required: false
      description: The callback function name to wrap the response in for JSONP.
      schema:
        type: string
    searchTextQuery:
      name: searchText
      in: query
      required: true
      description: 'The text to search for. Mandatory, and must always be supplied on the query string (documented exception in the ACMA guide: it is passed as a query parameter rather than a path segment so it may itself contain ''/'', which appears in many licence numbers).'
      schema:
        type: string
    searchOption:
      name: searchOption
      in: query
      required: false
      description: 'How searchText is matched: matches, begins with, or sounds like.'
      schema:
        type: string
        enum:
        - matches
        - begins with
        - sounds like
  schemas:
    Assignment:
      type: object
      title: Assignment
      description: A frequency assignment record within a postcode, frequency and date range.
      properties:
        TOTAL_RESULT:
          type:
          - number
          - 'null'
        RESULTS_INDEX:
          type:
          - number
          - 'null'
        ID_SORT_FIELD:
          type:
          - string
          - 'null'
        DEVICE_REGISTRATION_IDENTIFIER:
          type:
          - string
          - 'null'
        EFL_ID:
          type:
          - string
          - 'null'
        EMISSION_DESIG:
          type:
          - string
          - 'null'
        FREQ:
          type:
          - number
          - 'null'
        LICENCE_NO:
          type:
          - string
          - 'null'
        CLIENT_NO:
          type:
          - string
          - 'null'
        BANDWIDTH:
          type:
          - number
          - 'null'
        OP_MODE:
          type:
          - string
          - 'null'
        SITE_ID:
          type:
          - string
          - 'null'
        AREA_ID:
          type:
          - string
          - 'null'
        AUTHORISATION_DATE:
          type:
          - string
          - 'null'
    RegistrationSearchResponse:
      type: object
      title: RegistrationSearchResponse
      description: Device registration search results.
      properties:
        Registration:
          type: array
          items:
            $ref: '#/components/schemas/Registration'
    Registration:
      type: object
      title: Registration
      description: A device registration / frequency assignment record.
      properties:
        TOTAL_RESULT:
          type:
          - number
          - 'null'
        RESULTS_INDEX:
          type:
          - number
          - 'null'
        ID_SORT_FIELD:
          type:
          - string
          - 'null'
        DEVICE_REGISTRATION_IDENTIFIER:
          type:
          - string
          - 'null'
        EFL_ID:
          type:
          - integer
          - 'null'
        EMISSION_DESIG:
          type:
          - string
          - 'null'
        FREQ:
          type:
          - number
          - 'null'
        LICENCE_NO:
          type:
          - string
          - 'null'
        CLIENT_NO:
          type:
          - string
          - 'null'
        SITE_ID:
          type:
          - number
          - 'null'
        DEVICE_TYPE_TEXT:
          type:
          - string
          - 'null'
        FORMER_DEVICE_IDENTIFIER:
          type:
          - string
          - 'null'
    AssignmentRangeResponse:
      type: object
      title: AssignmentRangeResponse
      description: Frequency assignment range results.
      properties:
        Assignment:
          type: array
          items:
            $ref: '#/components/schemas/Assignment'
externalDocs:
  description: ACMA Spectrum Licensing API guide (DOCX, v1.0, 17/06/2016)
  url: https://www.acma.gov.au/sites/default/files/2019-11/Spectrum%20licensing%20API.docx