ACMA

ACMA Database Query

The Australian radiocomms register as a queryable table. Filter on frequency, EIRP, transmitter power, antenna height, licence expiry and licensee all at once, choose separately whether a row is a site, a licence, an assignment or a client, sort any column, page properly, and export the flattened result as CSV with its source and snapshot date attached.

Free forever on a Standard account. No credit card.

Overview

The Australian Communications and Media Authority publishes the Register of Radiocommunications Licences, the authoritative public record of every apparatus licence issued in Australia. It is free, it is close to live, and for looking up a licence you already know the number of it works well. What it cannot do is answer a question that spans more than one kind of record, and almost every engineering question does.

The reason is structural. The register searches one entity at a time. Search Licences and the columns available to you are licence columns and broadcast licence columns: there is no frequency, no site, no antenna, no power. Search Assignments and you can filter on centre frequency, bandwidth and emission designator, but not on EIRP, transmitter power, antenna height, azimuth, polarisation or class of station. Search Licences again and you will find that status, date of expiry and date of issue can be displayed as columns but cannot be searched on at all, so the question "what expires in the next ninety days" is not expressible. Results arrive as an infinite scroll with no page numbers and no page size, so auditing a fleet of nine thousand licences means scrolling nine thousand rows. And there is no aggregate of any kind: the register will tell you the rows, and it will not tell you the shape of them.

ACMA Database Query keeps the register and changes the interface. One box takes whatever you actually have, a call sign or a site name or a licence number or an ABN, and searches every field that could hold it. What a row means is chosen separately from what you searched for, so the same lookup can come back as assignments, as licences, as sites, or as clients. Each result carries an exact count rather than an approximate one, real pagination with page numbers, and server side sorting on any register column including across entities. A summary strip counts the whole result set by service, subservice, status, licensee, band, state and expiry month, and every bucket in it is clickable, which is how you get from two million assignments to the forty you meant without filling in a form.

It is the text counterpart to the ACMA Database Map and shares its filter grammar exactly, so any search opens on the map and any map view opens here. Every page and every exported file carries the register snapshot date, read from the refresh log rather than the clock, because our copy is a snapshot and the official register is not, and a tool that hides that difference invites someone to coordinate a channel against a register that has moved.

Capabilities

One box that searches whatever you actually have

Type a call sign, a site name, a licence number, a licensee, a postcode, an ABN or a client number, and the tool works out which of those it could be and searches them all at once. The official register makes you choose a field from a dropdown first and then matches only that one, so a wrong guess returns nothing and reads as an empty register. Here the box states what it is searching at the grain you are on, and when nothing matches it says what it looked in rather than leaving you to guess.

Four answer grains, chosen separately from the filters

A row can be a site, a licence, an assignment, or a client, and that choice is independent of what you filtered on. Ask for every assignment between 148 and 174 MHz in New South Wales with the site, the licensee and the expiry on each row. Or ask the same question back as sites, to see where they are. Or as licences, to see who to write to. The official register makes the grain and the filters the same entity, which is the single reason a normal engineering question has to be answered by exporting two files and joining them in a spreadsheet.

Client lookup, with what each holder actually has

Search a licensee by legal name or trading name and get one row per client, carrying the client number, ABN, client type, postal address and the number of licences they hold, sortable by holdings. Because filters and grain are independent, the same list narrows to "clients with a VHF assignment in South Australia" without changing what a row means. Note that one organisation is routinely several client numbers: the ACMA records Telstra under more than one, so two rows sharing a name is the register being precise rather than a duplicate.

Columns a grain cannot fill are hidden and explained

A licence has many assignments across many sites, so at licence grain a frequency has no single value and neither does a site name. Rather than showing those columns with every cell empty, which reads as "the register holds nothing here", they are removed and the header says how many were hidden, why, and which grain will show them. A blank cell is a claim about the register, and it should only ever be made when the register is genuinely blank.

Empty sites look empty

Nearly 56,000 of the register's 129,000 sites carry no assignment at all, so a site list is 43 per cent empty shells that are indistinguishable from live sites until you open them. Every site row therefore carries a count of the licences actually at it, sortable, so the busiest sites in an area come first and the empty ones are visible as empty rather than having to be opened one at a time.

Search the licence conditions themselves

The register carries 461,293 condition and advisory note attachments, renders them on a licence page, and gives no way to search them. So "which licences carry this wording" is a question nobody can currently ask, including through the ACMA's own interface. Because the conditions are heavily repeated boilerplate, only 8,184 of those attachments are distinct texts, so they collapse into a browsable catalogue: one row per condition, the number of licences carrying it, and the full text, searchable by any phrase in it. Open one and see the licences that carry it.

See what the register has actually done

The official register is a snapshot with no history in its interface. It publishes daily change archives as zip files to download and diff yourself, which is not the same as being able to ask a question. This records every renewal, status change, new issue and withdrawal it observes, searchable by licence number or licensee. It is also the only place a lapse survives at all: the ACMA removes lapsed licences from the register within about three months, so the live register is 98.9 per cent Granted and a status filter finds almost nothing. Every result states the window the history actually covers, because it begins when the watching began rather than when the register did.

Antennas, read backwards

The register catalogues 8,658 antennas but only 5,680 are pointed at by any assignment. One row per model with its manufacturer, type, gain, size, beamwidths and front to back ratio, plus how many assignments run it across the whole register. Open one and see those assignments with their sites, so "which sites run this model, and on what frequencies" is a lookup rather than an exercise.

The term finds its own view

A term names a thing, not a view. Type a client name while looking at links, or a call sign while looking at sites, and rather than an empty table the tool finds where that term actually lives and takes you there. Where the term clearly names one kind of record it moves you and says so, with a way back. Where it genuinely names several, as a place name that is also a company name does, it says where it found the term and how many, marking whether each view is named by the term or merely mentions it, and lets you choose.

Point to point links, both ends on one row

A link is not in the register. The register holds assignments at sites, so a link exists only as one licence with two sites and has to be reconstructed by pairing them. The Links grain does that for 45,039 links, giving both end sites and states, the path length, the carrier at each end, the band, the bandwidth and both azimuths on a single row. Both carriers are named separately because 43,809 of those links transmit on a different frequency at each end, so one frequency column describes half the link and which half depends on which site identifier happens to sort lower.

The transmit carrier at each end, not whichever is higher

A duplex link carries a transmitter and a receiver at both ends, so both ends see both frequencies. Taking the highest carrier at each end returns the same number twice and makes every link read as though it were simplex. The pairing takes the transmit assignment at each end instead, so Frequency A is what the A end actually radiates and the pair of columns is the real duplex split. Expanding the link shows all four assignments and confirms it: each end transmits on what the other receives.

Every row expands into what sits under it

Open a client and see the licences they hold. Open a site and see the licences with an assignment there. Open a licence and see its transmitters and receivers, paired so both ends of a link sit together. Open an assignment and get every field the register holds about it, grouped as assignment, power and geometry, antenna, site, licence and holder. Scope carries down as you go: a licence opened from inside a site shows its assignments at that site, not the several hundred it may hold nationally, so the row you opened never stops describing what you opened it from.

The record says how much of itself it holds

Each group on the expanded record states how many of its fields the register actually carries, for example ten of fifteen. Empty fields are left out rather than shown blank. The register is sparse by design, with 28 per cent of transmitters carrying no EIRP and most assignments no tilt, and a card of forty labels with half of them empty reads as a broken query rather than as a partial record.

Narrow by clicking, not by filling in a form

The summary strip counts the whole result set by service, subservice, licence status, licensee, band, state and expiry month, and every bucket is clickable. Clicking narrows the result to that bucket, using the ACMA id underneath rather than the name on the chip, because the register's names do not survive substring matching: no licence category contains the word Maritime, and one subservice name can belong to two different services. The chips you have applied show above the table and clear individually.

The shape of the answer, not just the rows

A facet strip above the table counts the entire result set, not the current page, by service, subservice, licence status, licensee, transmit or receive, frequency band, state and expiry month. Each bucket carries its count and each is clickable as a filter. Where a list is topped rather than complete it says so, so a licensee absent from a top twelve is never read as absent from the result. The official register offers no aggregate of any kind.

Real pagination and an exact count

Every search returns the exact number of matching rows alongside the page, computed from the identical WHERE clause so the count can never describe a different set than the rows beneath it. Page numbers, first and last, and a page size of 50 to 500. Sorting is always tie broken on the underlying key, so paging through a sorted result cannot show one row twice and skip another. Where paging is capped the tool says so and points at export rather than degrading quietly.

Derived columns the register does not carry

Frequency band, channel label against the relevant plan, decoded emission bandwidth and meaning from the ITU designator, and signed days to expiry. The register stores frequency in hertz and bandwidth in hertz; every column here names its unit in the header and converts once, at one place, so a frequency never leaves as 148062500 and a 12.5 kHz channel never reads as 12500 under a column labelled kHz.

Export that stays attributable

CSV of the whole result set at the grain shown, not just the page. Every file carries a preamble naming the source, the register snapshot date it was computed from, the row count, and an explicit note when the result was larger than the file. A spreadsheet forwarded to a client with no source and no date is an unattributable claim the moment it leaves the app, and the preamble is what stops it becoming one.

Snapshot date on every page and every file

The tool reads its own currency from the refresh log and states it as a date and an age, and it flags itself when the copy is more than a week behind. The date is never taken from the build time or the clock, because a build stamped date is always today and is therefore always reassuring and sometimes wrong. Where the log cannot answer, the tool says the age is unknown rather than guessing.

Shared filter grammar with the ACMA Database Map

Both surfaces read the same query string the same way, through one parser. A search here opens on the map with a single link, and a filtered map view opens here. Every search is a URL that restores the grain, the columns, the sort, the page and every filter, so a query can be bookmarked or pasted into an engineering note without being rebuilt.

Standards & methodology

  • ACMA Register of Radiocommunications Licences (RRL) bulk data, refreshed from the ACMA snapshot
  • ACMA licence service and subservice taxonomy (SV_ID and SS_ID), used by id rather than by name
  • ITU-R emission designator notation, decoded for the emission columns

When to use this tool

  • Find every assignment an operator holds in a band and a state, with the site, frequency, EIRP and expiry on one row
  • List the licences expiring in the next ninety days for a client, sorted by expiry date, ready to quote renewals against
  • Check who else is on a frequency across the country before proposing it, with a tolerance window around the channel
  • Audit a fleet of several thousand assignments by paging through it properly rather than scrolling an unbounded list
  • Count a result set by licensee or by service to see who dominates a band before a coordination engagement
  • Pull a device schedule at assignment grain straight into a spreadsheet, already joined to the site and the licensee
  • Find high power assignments by EIRP or transmitter power, which the official register cannot filter on at all
  • List every point to point link with an end in a state or a band, sorted by path length, with both ends and both carriers on one row
  • Look a licensee up by name or trading name and see how many licences they hold, then narrow to the ones in a band or a state
  • Open a site and walk down to a single transmitter: the licences there, that licence's transmitters and receivers at that site, then the full record for one of them

Frequently asked questions

How is this different from the ACMA’s own register search?

The official register searches one entity at a time, so a licence result carries licence columns but no frequency, no site and no antenna. It also cannot search on licence status, expiry or issue date, has no EIRP, transmitter power, antenna height, azimuth, polarisation or class of station criteria on assignments, has no pagination, and offers no aggregates. This tool filters across every entity at once, lets you choose separately what a row means, counts the result set exactly, pages properly, and sorts on any register column. It is worth saying what the official register does have, because it is more than people assume: column selection, CSV export, a full bulk download, daily change archives and a public API behind Digital ID.

Is the data live?

No, and the tool says so on every page and in every exported file. The ACMA’s own register is close to live and stamps its currency on the page. This is a snapshot, refreshed from the ACMA bulk data, and each result carries the snapshot date and its age in days read from the refresh log rather than from the clock. If the copy is more than a week behind, the badge changes colour. For anything where currency is decisive, check the licence against the official register before acting.

Why can I not see a frequency column when the answer is licences?

Because a licence usually has many assignments, on many frequencies, at many sites. There is no single frequency for the row, and showing one of them would be picking arbitrarily. The tool hides those columns and tells you how many were hidden and that switching to assignment grain will show them. The same reasoning applies to site columns at licence grain.

Why does the same company appear twice in the client list?

Because the register holds it that way. One organisation is routinely several ACMA client numbers, sometimes under two slightly different legal names and sometimes under different trading names for different parts of the business. The tool shows each client number as its own row rather than merging them, because merging would mean guessing which records belong together, and the client number is the only thing that identifies a holder exactly. When you filter by clicking a licensee, the filter uses the client number, not the name.

What happens if I search in the wrong view?

Nothing is lost. If the term returns nothing where you are, the tool counts it across every other view and either moves you there or shows you where it is. It distinguishes views the term NAMES from views that merely mention it, which matters more than it sounds: a licence held by a company is a mention of that company, not a licence called that, and treating the two the same sends you to the wrong place. It moves you automatically only when exactly one view is named by the term, because a place name that is also a company name is genuinely ambiguous and picking for you would be guessing.

What counts as a link?

One licence with exactly two sites, restricted to the Point to Point subservices. 46,249 licences have two sites but only 45,039 of those are Point to Point; the rest are Land Mobile repeater pairs, HF pairs and paging systems, which are two site licences but not links. Multi hop chains and point to multipoint are out of scope: 1,034 licences carry three or more sites and a two ended row cannot represent them, so they stay visible under the other grains rather than being silently reshaped. Some genuine links are HF rather than microwave, including a 3,706 km Defence path, and those are included because the register classes them as point to point and they are.

Is the path length a terrain result?

No. It is the great circle distance between the two sites, computed from their registered coordinates. It is a path length, not a path profile: there is no clearance figure, no obstruction test and no line of sight determination behind it, and none is implied. Anything of that kind needs terrain analysis the register does not carry.

Can I search for licences that have lapsed?

Not usefully from the register itself, and the reason is worth knowing. The ACMA removes lapsed licences from the register within roughly three months, so the live register is about 99 per cent Granted and a status filter set to Expired finds almost nothing. That is a property of the source, not of this tool, and a search that returned almost nothing would be easy to misread as "nothing has lapsed".

Does the export contain the whole result or just the page?

The whole result set at the grain shown, up to a row cap. When the result is larger than the cap, the file says so explicitly in its preamble along with how many rows actually matched, so a partial file can never be mistaken for a complete one.

Is this a licence enquiry or compliance service?

No. It reports what the register holds and nothing more. It does not say whether something can be licensed, which depends on band plans, service classes, embargoes and coordination rules the register does not carry, and it is not a compliance determination.