{
  "api": "vamosalicante-public-api",
  "version": "1",
  "endpoint": "/api/public/v1/beaches/flags",
  "ok": true,
  "generatedAt": {
    "epochMs": 1788333421125,
    "madrid": "2026-09-02T09:17:01+02:00",
    "utc": "2026-09-02T07:17:01.125Z"
  },
  "timeZone": "Europe/Madrid",
  "dataType": "LIVE",
  "declaredDataType": "LIVE",
  "observedAt": {
    "epochMs": 1788333421125,
    "madrid": "2026-09-02T09:17:01+02:00",
    "utc": "2026-09-02T07:17:01.125Z"
  },
  "retrievedAt": {
    "epochMs": 1788333421125,
    "madrid": "2026-09-02T09:17:01+02:00",
    "utc": "2026-09-02T07:17:01.125Z"
  },
  "validThrough": null,
  "validUntil": {
    "epochMs": 1788334321125,
    "madrid": "2026-09-02T09:32:01+02:00",
    "utc": "2026-09-02T07:32:01.125Z"
  },
  "timestampContract": {
    "observedAt": "Instante de la medición o cálculo en la fuente. null = la fuente no fecha el dato.",
    "retrievedAt": "Instante en que VamosAlicante ha servido esta respuesta. No es la hora de la medición.",
    "validUntil": "TTL explícito: pasada esta hora el dato se entrega como STALE."
  },
  "ttlSeconds": 900,
  "freshness": {
    "state": "CURRENT",
    "ageSeconds": 0,
    "ttlRemainingSeconds": 900
  },
  "source": {
    "name": "Ayuntamiento de Alicante · Protección Civil y Aguas de Alicante",
    "canonical": "https://vamosalicante.com/beach-guide"
  },
  "attribution": "VamosAlicante (https://vamosalicante.com)",
  "license": "Uso libre para lectura y citación con atribución y enlace a la URL canónica. Reventa de los datos no autorizada.",
  "notes": "Bandera publicada por el servicio municipal. `sin_dato` significa que la fuente no publica bandera para esa playa en este momento.",
  "data": {
    "count": 9,
    "beaches": [
      {
        "beach_slug": "parque-la-marjal",
        "source_id": 146,
        "name": "Parque La Marjal",
        "flag": "sin_dato",
        "bathing": null,
        "water_quality": null,
        "blue_flag": false,
        "water_temp": null,
        "weather": "sol",
        "uv": null,
        "jellyfish": null,
        "lat": 38.3776,
        "lng": -0.418863,
        "published_at": "2026-09-02T07:10:01.000Z"
      },
      {
        "beach_slug": "cabo-huertas",
        "source_id": 38,
        "name": "Cabo de las Huertas",
        "flag": "sin_dato",
        "bathing": null,
        "water_quality": "Agua excelente",
        "blue_flag": false,
        "water_temp": 27.5,
        "weather": "sol",
        "uv": "UVI Máx: Alta",
        "jellyfish": null,
        "lat": 38.352691213537746,
        "lng": -0.41572093963623047,
        "published_at": "2026-09-02T07:10:01.000Z"
      },
      {
        "beach_slug": "albufereta",
        "source_id": 36,
        "name": "Playa de la Albufereta",
        "flag": "sin_dato",
        "bathing": null,
        "water_quality": "Agua excelente",
        "blue_flag": false,
        "water_temp": 27.56,
        "weather": "sol",
        "uv": "UVI Máx: Alta",
        "jellyfish": null,
        "lat": 38.362021034629095,
        "lng": -0.4410731792449951,
        "published_at": "2026-09-02T07:10:01.000Z"
      },
      {
        "beach_slug": "almadraba",
        "source_id": 37,
        "name": "Playa de la Almadraba",
        "flag": "sin_dato",
        "bathing": null,
        "water_quality": "Agua excelente",
        "blue_flag": false,
        "water_temp": 27.5,
        "weather": "sol",
        "uv": "UVI Máx: Alta",
        "jellyfish": null,
        "lat": 38.35989263218953,
        "lng": -0.4346895217895508,
        "published_at": "2026-09-02T07:10:01.000Z"
      },
      {
        "beach_slug": "san-gabriel",
        "source_id": 178,
        "name": "Playa de San Gabriel",
        "flag": "sin_dato",
        "bathing": null,
        "water_quality": "Agua excelente",
        "blue_flag": false,
        "water_temp": 27.56,
        "weather": "sol",
        "uv": "UVI Máx: Alta",
        "jellyfish": null,
        "lat": 38.3280945,
        "lng": -0.5083,
        "published_at": "2026-09-02T07:10:01.000Z"
      },
      {
        "beach_slug": "san-juan",
        "source_id": 39,
        "name": "Playa de San Juan",
        "flag": "sin_dato",
        "bathing": null,
        "water_quality": "Agua excelente",
        "blue_flag": true,
        "water_temp": 27.56,
        "weather": "sol",
        "uv": "UVI Máx: Alta",
        "jellyfish": null,
        "lat": 38.37910515548017,
        "lng": -0.40911197662353516,
        "published_at": "2026-09-02T07:10:01.000Z"
      },
      {
        "beach_slug": "tabarca",
        "source_id": 141,
        "name": "Playa de Tabarca",
        "flag": "sin_dato",
        "bathing": null,
        "water_quality": "Agua excelente",
        "blue_flag": true,
        "water_temp": 27.5,
        "weather": "sol",
        "uv": "UVI Máx: Alta",
        "jellyfish": null,
        "lat": 38.165716,
        "lng": -0.478811,
        "published_at": "2026-09-02T07:10:01.000Z"
      },
      {
        "beach_slug": "postiguet",
        "source_id": 35,
        "name": "Playa del Postiguet",
        "flag": "sin_dato",
        "bathing": null,
        "water_quality": "Agua excelente",
        "blue_flag": true,
        "water_temp": 27.56,
        "weather": "sol",
        "uv": "UVI Máx: Alta",
        "jellyfish": null,
        "lat": 38.34620738893985,
        "lng": -0.4761993885040283,
        "published_at": "2026-09-02T07:10:01.000Z"
      },
      {
        "beach_slug": "saladar",
        "source_id": 34,
        "name": "Playa del Saladar-Urbanova",
        "flag": "sin_dato",
        "bathing": null,
        "water_quality": "Agua excelente",
        "blue_flag": true,
        "water_temp": 27.56,
        "weather": "sol",
        "uv": "UVI Máx: Alta",
        "jellyfish": null,
        "lat": 38.28127714579242,
        "lng": -0.5199837684631348,
        "published_at": "2026-09-02T07:10:01.000Z"
      }
    ]
  }
}