GarbinWx Public API Service
As part of our public service, GarbinWx provides direct, read-only JSON feeds of near real-time earthquake, tsunami, and weather alert data. These feeds are accessible without authentication and return standardized JSON data.
CORS headers are automatically enabled for all services (Access-Control-Allow-Origin: *). Proxy or replicate this data before using it in your application to prevent undue stress on our existing infrastructure. Implement client-side caching to manage traffic and prevent API abuse. Strict rate limiting is enforced across all services.
GarbinWx provides this public API service as an additional resource for your convenience. While we strive for accuracy, the information provided may not be complete, timely, or error-free. GarbinWx should not be considered a primary source of official weather warnings or a substitute for professional judgment.
By using this data, you agree to the terms of use and the required attribution under CC BY-SA 4.0.
Earthquakes API
Near real-time earthquake records and bulletins from the Philippine Institute of Volcanology and Seismology (PHIVOLCS).
https://data.garbinwx.org/api/earthquakes.json
{
"metadata": {
"api_source": "GarbinWx Public API Service",
"data_source": "Philippine Institute of Volcanology and Seismology",
"last_updated": "2026-09-05T11:00:00.000000+08:00",
"total_earthquakes": 2,
"developer_note": "Made by a Filipino, For the Filipino, and For the World. This API is free for non-commercial use, is not affiliated with any government entities, and is solely operated independently by GarbinWx. We extend our sincere gratitude to all our generous supporters. Proxy or replicate this data before using it in your application to prevent undue stress on our existing infrastructure."
},
"earthquakes": [
{
"timestamp_iso": "2026-09-05T10:32:00+08:00",
"latitude": 16.04,
"longitude": 120.04,
"depth_km": 34,
"magnitude": 1.5,
"location": "006 km S 63° W of Sual (Pangasinan)",
"bulletin_url": "https://earthquake.phivolcs.dost.gov.ph/2026_Earthquake_Information\\September\\2026_0905_0232_B1.html"
},
{
"timestamp_iso": "2026-09-05T09:49:00+08:00",
"latitude": 5.32,
"longitude": 125.34,
"depth_km": 31,
"magnitude": 2.1,
"location": "014 km S 42° W of Balut Island (Municipality Of Sarangani) (Davao Occidental)",
"bulletin_url": "https://earthquake.phivolcs.dost.gov.ph/2026_Earthquake_Information\\September\\2026_0905_0149_B1F.html"
},
DATA CONTINUES...
]
}
Tsunami API
Active tsunami watches, advisories, and warnings issued by the Philippine Institute of Volcanology and Seismology (PHIVOLCS).
https://data.garbinwx.org/api/tsunami.json
{
"metadata": {
"api_source": "GarbinWx Public API Service",
"data_source": "Philippine Institute of Volcanology and Seismology",
"last_updated": "2026-01-01T16:00:00.000000+08:00",
"developer_note": "Made by a Filipino, For the Filipino, and For the World. This API is free for non-commercial use, is not affiliated with any government entities, and is solely operated independently by GarbinWx. We extend our sincere gratitude to all our generous supporters. Proxy or replicate this data before using it in your application to prevent undue stress on our existing infrastructure."
},
"tsunami": []
}
Common Alerting Protocol (CAP) Alerts
Active weather alerts, thunderstorm advisory, rainfall warning, and tropical cyclone wind signals issued by the Philippine Atmospheric, Geophysical and Astronomical Services Administration (PAGASA).
https://data.garbinwx.org/api/cap-alerts.json
NO AVAILABLE DOCUMENTATION
Nationwide Doppler Radar Composite
Radar composite images are served under fixed URL patterns. You can fetch the latest live national composite directly, or pull timestamped historical archives using UTC+8 timestamps.
Note: An identification header is required to access this radar endpoint. Please contact us to request your ID header: contact@garbinwx.org
https://data.garbinwx.org/raw/{RADAR-TYPE}-{YYYYMMDDHHmm}.png
GeoJSON / Leaflet coordinate bounding box in [minLon, minLat, maxLon, maxLat] order:
"bounds": [
115.41549141305251,
3.801613036809332,
129.51730887177652,
22.45850950564088
]
Radar reflectivity returns measured in dBZ (0–80 dBZ).
Radar quantitative precipitation estimation (0–80 mm/hr).
HEX_COLORS_DBZ = [
'#535353', # 1 dBZ
'#5b5b5b', # 2
'#606060', # 3
'#6e6e6e', # 4
'#797979', # 5
'#828282', # 6
'#8a8a8a', # 7
'#939393', # 8
'#9b9b9b', # 9
'#a1a1a1', # 10
'#aaaaaa', # 11
'#b9b9b9', # 12
'#c1c1c1', # 13
'#c8c8c8', # 14
'#cecece', # 15
'#00ff00', # 16
'#00f500', # 17
'#00e600', # 18
'#00dc00', # 19
'#00d200', # 20
'#00c800', # 21
'#00be00', # 22
'#00b400', # 23
'#00aa00', # 24
'#00a000', # 25
'#009600', # 26
'#32aa00', # 27
'#64be00', # 28
'#96d200', # 29
'#cdeb00', # 30
'#ffff00', # 31
'#fff500', # 32
'#ffe600', # 33
'#ffdc00', # 34
'#ffd200', # 35
'#ffc800', # 36
'#ffb900', # 37
'#ffaa00', # 38
'#ff9600', # 39
'#ff8700', # 40
'#ff7800', # 41
'#ff5f00', # 42
'#ff4600', # 43
'#ff3200', # 44
'#ff1900', # 45
'#ff0000', # 46
'#ff0000', # 47
'#e60000', # 48
'#dc0000', # 49
'#d20000', # 50
'#c80000', # 51
'#be0000', # 52
'#b40000', # 53
'#aa0000', # 54
'#a00000', # 55
'#960000', # 56
'#aa0032', # 57
'#be0064', # 58
'#d70096', # 59
'#eb00cd', # 60
'#ff00ff', # 61
'#eb00ff', # 62
'#d200ff', # 63
'#be00ff', # 64
'#aa00ff', # 65
'#9600ff' # 66+ dBZ
]
The color scale for mm/hr rain rate composites are currently under calibration and will be defined here upon release.
# HEX_COLORS_RR = [
# Placeholder: Color scale for rainrate (mm/hr) to be defined
# ]
import requests
# Parameters: DBZ or RR
radar_type = "DBZ"
timestamp = "202609051610" # UTC+8 (YYYYMMDDHHmm)
url = f"https://data.garbinwx.org/raw/{radar_type}-{timestamp}.png"
headers = {
"User-Agent": "IDENTITY-HERE"
}
response = requests.get(url, headers=headers, stream=True)
if response.status_code == 200:
with open(f"radar_{radar_type}_{timestamp}.png", "wb") as f:
for chunk in response.iter_content(1024):
f.write(chunk)
print("Radar composite image saved successfully.")
else:
print(f"Failed to fetch image: status code {response.status_code}")