Station metadata is published as JSON in data/stations/<CC>.json, where <CC> is an ISO 3166-1 alpha-2 country code. ZZ is reserved for records whose country cannot be established from the imported sources.
These files are generated by scripts/sync.mjs. Direct edits to generated data will be overwritten by the next sync, so corrections should normally be made at the upstream source or in AirwaveDB's import/normalization logic.
Do not add stream URLs to this repository. Playable endpoints belong in AirwaveDB/streams.
- Keep station names in the form used by the broadcaster.
- Do not translate names unless the translated name is an official alternative name.
- Leave unknown fields empty instead of guessing.
- Use ISO country and language codes where available.
- Do not classify a station as public, community, college, or internet-only without source evidence.
- Prefer the station's own website when documenting a correction.
- Do not add tracking URLs, short-lived signed URLs, credentials, or private endpoints.
Most records are produced from upstream public datasets. data/source_map.json retains upstream source identifiers and maps them to stable AirwaveDB station IDs. data/redirects.json preserves station-ID redirects created by record merges.
When an upstream dataset cannot represent a valid correction, open an issue describing the affected AirwaveDB station ID, the expected value, and supporting source. A local override mechanism should be added explicitly rather than editing generated output by hand.
Changes to import logic, normalization rules, schemas, validation, and documentation are welcome. Keep unrelated changes separate. Large automated rewrites should explain the source, expected effect on record counts, and why the change is safe.