SDRX NETWORK / PUBLIC ACCESS DIRECT ORIGIN ROUTING UTC
⦿ SDRXRADIO NETWORK INTELLIGENCE
Iniciar sesiónCrear cuenta
Acceso Tor por internet mediante una pasarela de SDRX. Tu navegador se conecta por internet convencional; este acceso no te proporciona anonimato Tor/I2P.

Descargar fichas públicas en JSON o CSV · licencia y procedencia

API pública SDRX

Contrato v1.0.0 · consultas GET sin cuenta ni token

SDK de telemetría

Contrato y compatibilidad

Descargar OpenAPI 3.1 · v1

SHA-256: 6a857841dea5eed5d262ca045e1619e8fba0ca2e44b93e8ee7b871bf42793f07

El contrato describe las rutas existentes. Su versión es independiente de la versión del portal. Los clientes deben tolerar campos nuevos y conservar la atribución shared_by y las condiciones declaradas por el operador. Cambios incompatibles necesitarán otro contrato mayor.

El contrato cubre consultas GET. No promete CORS abierto: consulta desde tu servidor o desde el mismo origen. No envíes credenciales de Cloudflare, SMTP ni claves de estación para leer estos datos.

Consultas disponibles

RUTACONTENIDOLÍMITES
GET /api/stations.jsonSolo estaciones actualmente publicadas, con atribución, pasaporte, bandas, horarios, mantenimiento y estado HTTP.page_size 1–100, predeterminado 100; cursor firmado, orden UUID.
GET /api/locations/?country=mxEstados del país; añade state=hgo para divisiones locales.Catálogo local revisado; cache público de una hora. Los nombres y tipos administrativos dependen del país y de la edición de la fuente.
GET /api/health/Salud del portal SDRX.No informa de la operatividad RF de ningún receptor.
GET /api/station/UUID/health-history/?days=7Agregados horarios de comprobaciones HTTP de una estación publicada.7, 30 o 90 días; horas sin muestras con valores desconocidos.

Consultar y recorrer el directorio

curl 'https://sdr.j8.cl/api/stations.json?page_size=100'
curl 'https://sdr.j8.cl/api/stations.json?country=mx&mhz=14.2'
curl 'https://sdr.j8.cl/api/locations/?country=mx&state=hgo'

Usa el valor relativo de pagination.next con el mismo origen, sin modificarlo. No se recorren páginas con page=. Los enlaces caducan a los 30 minutos y están ligados a los filtros y tamaño; un cursor alterado, vencido o usado con otros filtros devuelve 400. Reinicia la consulta desde la primera página si vence.

La instantánea excluye altas y publicaciones posteriores. La privacidad, publicación y filtros de salud se vuelven a evaluar en cada consulta: el total puede cambiar y una estación retirada puede desaparecer durante el recorrido.

Filtros: q, country, state, city, kind, band, available=1 y mhz. Para OpenWebRX+ codifica el signo como kind=openwebrx%2B. Una frecuencia debe caer dentro de una banda habilitada; entradas no numéricas, no finitas o fuera de rango se ignoran. Los textos que exceden los límites del contrato se truncan.

Interpretar estados y disponibilidad

El mapa mixto usa /api/receivers.json, con continuación firmada igual que el directorio. Las referencias externas incluyen country estimado mediante sus coordenadas y Natural Earth, health_scope: http, checked_at y http_status. Su observación caduca a los 30 minutos. Un resultado up confirma acceso HTTP desde el VPS; no acredita audio, antena ni ausencia de malware. Las referencias sin coordenadas siguen en el listado. Los reportes públicos nunca cambian el estado automáticamente.

health_scope: http mide acceso web. health es up, down o unknown; observed_health conserva la observación registrada. health_fresh exige una comprobación de antigüedad menor de 15 minutos y sin fecha futura. Los errores HTTP y de conexión se registran como Down desde la primera observación fallida. Ni una página correcta ni el pasaporte acreditan recepción RF o audio.

Las bandas usan Hz enteros. available es booleano o null: null significa que no se puede confirmar, no equivale a false. La telemetría caduca a los 300 segundos; observed_at, expires_at, fresh, expires_in_seconds y state explican su vigencia. Una banda deshabilitada devuelve false y state disabled. Un receptor sin salud vigente impide presentar su banda como disponible.

schedule es un plan del operador, separado de la medición. Sus días siguen ISO: 1 lunes–7 domingo. Ventanas nocturnas pertenecen al día de inicio; horas iguales indican 24 horas desde el inicio. La zona IANA conserva reglas locales. planned_now nunca sustituye available.

maintenance contiene avisos futuros o en su intervalo previsto; no prueba que el trabajo ocurra realmente ni pausa monitoreo o plazos de retirada. endpoint.url solo se publica cuando la ruta HTTPS está comprobada y vigente; los alias mostrados también requieren control, ruta y TLS.

Modos, equipo, antena, versión y condiciones tienen origen operator_declared. shared_by identifica al usuario y UID que comparte la estación. Solo se incluyen las coordenadas que el operador publicó.

Historial y errores

El historial conserva aproximadamente 90 días de agregados horarios desde que empezó la recogida. is_time_weighted_uptime: false: el porcentaje es la fracción de comprobaciones correctas, no tiempo continuo disponible. Puede mezclar comprobaciones manuales y periódicas. Horas sin muestras usan null para proporciones y latencia; el intervalo actual está incompleto. Una revisión distinta de estación se marca sin exponer URLs o credenciales.

Directorio e historial usan Cache-Control: no-store. Comprueba el estado HTTP y Content-Type antes de leer JSON. Los parámetros inválidos devuelven 400 con error; un historial inexistente o no publicado puede devolver 404 HTML, y un método no admitido 405 HTML. El UUID de un historial debe proceder del directorio público.

Las escrituras con clave de estación pertenecen al SDK y contrato de telemetría, con límites y errores propios. Esta API pública no crea estaciones, usuarios, DNS, sesiones de audio ni visitas al receptor.