Open Data

Everything on this site is built from a handful of JSON files, and they are published at stable URLs so you do not have to scrape the pages. No key, no sign-up, no rate limit — they are static files on a CDN. Fetch them.

Start with one county

Most people want one county, not the whole state. Assembling a county out of the statewide files below means fetching 8 of them and about 259 KB to use a fraction of it. There is a file per county instead, a median of 5.3 KB:

https://indianahamradio.com/data/counties/{slug}.json

curl -s https://indianahamradio.com/data/counties/boone.json

Want the whole state? Take all 92 in one file (576 KB) rather than fetching 92 of them — the objects are identical either way.

It carries that county's clubs, license statistics and year-by-year trend, club-sourced repeaters and a count of coordinated ones, nets, emergency management and ARES contacts, the hamfests held there, adjoining counties and a centroid. Slugs are the slug field in counties.json, and they match the county page URLs — /counties/boone/ is boone.

The datasets

24 files, 2293 KB in total. Each says where it came from and what you owe whoever made it.

Counties

counties.json · 68 KB

All 92 Indiana counties: the clubs based in each, whether one exists at all, ARES district and NWS office.

Where it came from: Compiled by this site from each club's own published information.

Terms: Ours. Use it freely; a link back is appreciated, not required.

Licensed operators by county

countyStats.json · 15 KB

Population, licensed operators, active FCC licenses and the class breakdown (Extra, Advanced, General, Technician, Novice) for every county.

Where it came from: Derived from the FCC Universal Licensing System weekly database dump.

Terms: The FCC data is US government work in the public domain. The per-county aggregation is ours and free to use.

Repeaters, as this site lists them

repeaters.json · 38 KB

Repeaters described on the county pages in clubs' own words, parsed into structured records. Club-sourced rows, by design. A row matched to a record of the Indiana Repeater Council is marked (`coordinated` is true and `sources` includes IRC), and a tone taken from the Council is marked `toneSource` IRC. The Council's own records, with its call, sponsor, notes and locations, are the separate ircRepeaters.json below, and the county files (counties/) also carry them, credited to the Council.

Where it came from: Compiled from club websites and county pages.

Terms: Ours. Use it freely.

Club meetings

clubMeetings.json · 21 KB

When and where each club meets, keyed by club: night, time, venue, whether it says visitors are welcome, and any standing public breakfast; and how to join -- dues in the club's words, and links to its join page, its officers page and its mailing list. Also joined onto every club in counties.json.

Where it came from: Read off each club's own website, one record per club. Every field is optional and an absent field means the club did not publish it -- no night was inferred from a run of calendar entries and no hour was filled in where a club wrote only 'Saturday mornings'.

Terms: Ours. Use it freely. Where a record carries a `source`, that URL is the club's own page and the club is the authority; where it does not, the value predates this file and has not been re-verified.

What clubs run themselves

clubActivities.json · 19 KB

Beyond the monthly meeting: the license exam sessions a club's own VE team holds -- coordinating VEC, recurrence, venue, fee and, in the club's own words, whether you can simply turn up -- plus its standing transmitter hunts and workshops and the classes it teaches. Keyed by club, and joined onto every club in counties.json.

Where it came from: Read off each club's own website, one record per club. Deliberately separate from examSessions.json, which is HamStudy's and is regenerated from HamStudy's feed: these are the clubs' own statements and carry the clubs' own provenance.

Terms: Ours. Use it freely, and carry `registration` with the row if you carry anything -- whether a walk-in is turned away is worth more to a candidate than the date. A dated exam session is never in this file: it is in examSessions.json, and a club here gives its standing pattern. Class and activity dates appear only where the club published a year alongside them, and a club that names no recurrence gets none. HamStudy lists 213 Laurel VEC sessions nationally and none at all in Indiana, which is most of what this file exists to answer; the club's own page is authoritative and sessions move.

Nets

nets.json · 72 KB

Statewide and county nets: day, time, frequency and mode, and -- where the club's own site says it runs the net -- `club`, keyed like clubMeetings.json.

Where it came from: Compiled from club pages and section sources. The least verifiable dataset here -- a club's page is exactly the kind of thing that goes stale.

Terms: Ours. Use it freely, and please tell us when you find one that is wrong.

Silent Keys

silentKeys.json · 6.3 KB

Indiana amateur radio operators who have died: name, call sign where one was held, town, county, date of passing, one line in this site's own words, and a link to the obituary or club or ARRL notice it rests on. Newest passing first on the page; the file keeps the order entries were added. Also published as an RSS feed at /silent-keys.xml.

Where it came from: Each entry is confirmed by an obituary, or a club or ARRL notice, that names the person as an amateur radio operator. Entries reach the site only by a reviewed pull request.

Terms: Ours. Use it freely, with the source link kept beside each entry: the obituary or notice is the record, and this is a pointer to it. The file carries no addresses, survivors' names, funeral details or obituary text, and nothing here should be republished with them added. Corrections to campbell@indianahamradio.com.

Emergency management and ARES status

countyEmergencyContacts.json · 25 KB

Each county's emergency management agency website, and whether its ARES Emergency Coordinator and District Emergency Coordinator positions are filled or vacant.

Where it came from: County EMA links from the Indiana Department of Homeland Security's public dataset; ARES position status from the ARRL Indiana Section's newsletter.

Terms: Role status only: no field for a person, no emails or phone numbers, and no call sign a linked source does not publish, enforced on every build. Please keep it that way if you republish it.

Coordinated repeaters (Indiana Repeater Council)

ircRepeaters.json · 137 KB

Every repeater the Indiana Repeater Council lists as coordinated in Indiana: frequency, band, offset, tone, call, sponsor, the IRC's notes, city and county, with a latitude and longitude for the city.

Where it came from: The Indiana Repeater Council's coordination records, from its public directory at https://flexweb.ircinc.org/search.html, refreshed by this site. Offsets and coordinates are this site's additions; the file's _credit block says how each was derived.

Terms: The records are the Indiana Repeater Council's. The IRC publishes no data-use policy or terms of use (checked 2026-09-25). Credit the Indiana Repeater Council and link to its directory if you reuse them. The IRC lists only fully coordinated repeaters: a machine absent here is not necessarily off the air.

Licensing trends

licenseTrends.json · 22 KB

Licensed operators in Indiana by year, with new licenses and upgrades.

Where it came from: Derived from FCC Universal Licensing System records.

Terms: FCC source data is public domain; the series is ours and free to use.

Upcoming exam sessions

examSessions.json · 156 KB

Every upcoming US amateur radio license exam session: date, city, state, ZIP, coordinates, venue, VEC, fee, whether pre-registration is required and whether it is full. County is resolved for Indiana sessions only. Past sessions drop out rather than accumulating.

Where it came from: Published by the VE teams to HamStudy.org and refreshed daily. Coordinates come from the ZIP via the Census ZCTA gazetteer; Indiana county resolution uses the Census and GNIS place gazetteer.

Terms: The session listings are HamStudy's and the teams'. The geocoding, county resolution and the shape of this file are ours. Sessions are added and canceled constantly -- check the session's own page before traveling.

Which counties adjoin which

countyNeighbors.json · 17 KB

For each of the 92 counties, the counties that border it -- what the "nearby counties" links on each page are built from.

Where it came from: Derived from US Census county boundary files.

Terms: Census boundaries are US government work in the public domain; the adjacency derivation is ours and free to use.

County centroids

countyCentroids.json · 2.6 KB

A latitude and longitude for each county, used to place them on the map.

Where it came from: Derived from US Census county boundary files.

Terms: Census source data is public domain; the derivation is ours and free to use.

National Weather Service offices by county

nwsOffices.json · 14 KB

For each county, the National Weather Service forecast office (CWA) responsible for its watches and warnings, its radar station, county and forecast zone codes and time zone -- plus each office's own name, address, phone, email and public URL.

Where it came from: National Weather Service api.weather.gov: each county centroid resolved against /points and cross-checked against the county's own /zones/county entry, office details from /offices.

Terms: NWS/NOAA data is US government work in the public domain; the county/office mapping and this file's shape are ours and free to use.

SKYWARN spotter training classes

spotterTraining.json · 5.5 KB

Every upcoming National Weather Service storm spotter training class an Indiana resident can attend: date, time and time zone, whether it is online or in person, the town and venue where it is not, which forecast office runs it and how to register. Plus all six offices that cover Indiana, their schedule pages, and whether this site reads that office's schedule automatically. Past classes drop out rather than accumulating.

Where it came from: National Weather Service: the NWS Central Region spotter-talk listing, NWS Indianapolis's public spotter training calendar, and NWS Paducah's own schedule page.

Terms: NWS output is US government work in the public domain. The selection -- which classes serve Indiana counties -- and this file's shape are ours and free to use. Spotter training is seasonal: an empty `classes` array in July is a correct answer, not a broken feed. Classes get canceled and move, so the linked office page is authoritative.

Indiana on BrandMeister DMR

dmrIndiana.json · 11 KB

Indiana's BrandMeister DMR talkgroups, and the Indiana DMR repeaters on BrandMeister -- input and output, color code, county, and when the machine was last seen on the network. A repeater whose BrandMeister entry matches one this site already lists on both call sign and output frequency is marked `confirmed: true`; one that matches nothing is published with `confirmed: false`, BrandMeister being its only source.

Where it came from: The BrandMeister DMR Network's public API, cross-checked against this site's own repeater list. Indiana is determined by a point-in-polygon test against US Census county boundaries.

Terms: BrandMeister publishes no terms of use, license or copyright notice for its API, so this file carries the repeater rows, each marked confirmed (cross-checked) or unconfirmed, and the talkgroup list, with credit and a link back; for the bulk data go to BrandMeister. CONTAINS NO PERSONAL DATA: personal hotspots -- which are most of what the source holds -- are excluded entirely and are not counted, mapped or reversible from anything here. Please keep it that way if you republish it. `lastSeenOnNetwork` is self-reported network presence and is not evidence that anything is transmitting on RF.

Indiana places

inPlaces.json · 334 KB

Cities, towns and unincorporated places in Indiana with coordinates and county, used to resolve the town a repeater or club names into a point on the map.

Where it came from: US Census incorporated places and USGS GNIS populated places.

Terms: Both sources are US government work in the public domain.

ZIP code centroids

zipPoints.json · 758 KB

A latitude and longitude for every US ZIP Code Tabulation Area (ZCTA), including Puerto Rico, the Virgin Islands and Guam -- what a distance search resolves a ZIP to. Coordinates are rounded to 2 decimal places (about 1 km), which is finer than any "near me" search here needs.

Where it came from: US Census Bureau 2023 Gazetteer file for ZCTAs.

Terms: Census source data is public domain; the compaction into this map is ours and free to use.

Technician question pool

technicianPool.json · 144 KB

The full NCVEC Technician class question pool, parsed into questions, answers and figures.

Where it came from: NCVEC Question Pool Committee.

Terms: Released by NCVEC for public use. The parsing into JSON is ours and free to use.

General question pool

generalPool.json · 154 KB

The full NCVEC General class question pool, parsed into questions, answers and figures.

Where it came from: NCVEC Question Pool Committee.

Terms: Released by NCVEC for public use. The parsing into JSON is ours and free to use.

Extra question pool

extraPool.json · 225 KB

The full NCVEC Amateur Extra class question pool, parsed into questions, answers and figures.

Where it came from: NCVEC Question Pool Committee.

Terms: Released by NCVEC for public use. The parsing into JSON is ours and free to use.

Hamfests with a confirmed date

hamfests.json · 5.2 KB

Every Indiana hamfest currently on the calendar: name, ISO date, city, venue, host club and the page the date came from, plus the last day of a hamfest that runs more than one, hours, vendor setup, admission, table fees, talk-in, on-site VE testing and the event's own public contact where the host has published them (null or absent where it has not). Past runnings come out of the list rather than being archived.

Where it came from: This site's own compilation from the clubs' published announcements and the ARRL hamfest calendar, re-checked by hand.

Terms: Ours. Use it freely. Dates move, and the linked source is authoritative -- where this file and the host club disagree, the club is right, and we would like to hear about it.

Yearly operating calendar

annualEvents.json · 2.4 KB

The operating events Indiana hams take part in every year -- Winter Field Day, the Indiana QSO Party, Field Day, JOTA, School Club Roundup, POTA and the rest -- each with the recurrence rule in words, the next dates where there are any, and whether those dates are confirmed by the sponsor.

Where it came from: This site's own compilation from each event sponsor's published announcements.

Terms: Ours. Use it freely. Read `confirmed` before you rely on `next`: false means the sponsor has not posted that running yet and the dates are the recurrence rule carried forward. Dates move, and the linked source is authoritative.

County calendars you can subscribe to

calendars.json · 43 KB

One iCalendar (.ics) feed per county plus a statewide one, at https://indianahamradio.com/calendars/{slug}.ics -- the nets that meet in a county, the hamfests and exam sessions held there, and the national operating events, with a correct time zone on every recurring net. This file is the index of them: every URL, its time zone, what it contains and a fingerprint of its current contents. Subscribe to the .ics, do not download it.

Where it came from: Generated by this site from its own nets, hamfest, exam session and operating-event data. Every event names the source it came from and links back to the club and the county page.

Terms: Ours. Use them freely -- point your club's members at one, embed one, or build on them. Clubs are the authority on their own events; where a calendar and a club disagree, the club is right, and we would like to hear about it.

What is not here

Coordinated repeaters (Indiana Repeater Council)

Coordination records from the IRC, Indiana's recognized frequency coordinator since 1971. This site renders them on the county and repeater pages with credit, and does not republish the database.

Terms: Go to the IRC for it. Credit them if you use it, as this site does. A machine absent from their list is not necessarily off the air, and a coordinated one is not necessarily on it.

https://www.ircinc.org/?page_id=63 · search it

What we promise

  • URLs: These URLs are stable. A dataset that moves keeps a copy at the old path, and one that is withdrawn says so in this index rather than disappearing.
  • Fields: Fields may be added. An existing field will not be removed or change meaning without notice here first.
  • How often it changes: Regenerated on every deploy, which is whenever the site changes -- several times a week. Every file carries a _generated date, the day its contents last changed, and the index carries one for the set.
  • If we break something: If something here breaks what you built, say so at campbell@indianahamradio.com and it will be looked at.

Two more things

If a fact here is wrong, tell us. Much of this is compiled from clubs' own pages, and clubs move, rename and go quiet. A correction to campbell@indianahamradio.com reaches a person and gets fixed at the source, which fixes it for everyone reading the data too.

If you are pointing a model at this site, there is an llms.txt that maps the datasets and the pages in Markdown, and a machine-readable version of everything above at /data/index.json.

Catalog last changed 2026-10-31.