import requests

key = "b4e39ea4507e1ceca1a389cfacee8a00"

series_to_check = [
    # Daily equivalents (D suffix)
    "IRLTLT01GBD156N",   # UK 10Y daily
    "IRLTLT01JPD156N",   # Japan 10Y daily
    "IRLTLT01AUD156N",   # Australia 10Y daily
    "IRSTCB01GBD156N",   # UK short-term daily
    "IRSTCB01JPD156N",   # Japan short-term daily
    "IRSTCB01AUD156N",   # Australia short-term daily
    # Alternative UK gilt series
    "IUDSOIA",           # UK SONIA overnight
    "IUAAAJPY",          # alternative
    # BOE published series
    "BOGZ1FL073163003Q", # alternative
    # Other common identifiers
    "DGS2",              # US 2Y (known working - sanity check)
    "GBGBOND2YD",        # UK 2Y guess
    "JPGBOND2YD",        # Japan 2Y guess
    "AUGBOND2YD",        # Australia 2Y guess
]

print("Checking FRED series availability...")
print(f"{'Series ID':<25} {'Status':<12} {'Frequency':<12} {'Title'}")
print("-" * 90)

for sid in series_to_check:
    url = f"https://api.stlouisfed.org/fred/series?series_id={sid}&api_key={key}&file_type=json"
    try:
        r = requests.get(url, timeout=10)
        d = r.json()
        if "seriess" in d and len(d["seriess"]) > 0:
            s = d["seriess"][0]
            freq  = s.get("frequency_short", "?")
            title = s.get("title", "?")[:50]
            start = s.get("observation_start", "?")
            end   = s.get("observation_end", "?")
            print(f"{sid:<25} FOUND        {freq:<12} {title}")
            print(f"{'':25} {'':12} {start} to {end}")
        else:
            print(f"{sid:<25} NOT FOUND")
    except Exception as e:
        print(f"{sid:<25} ERROR: {e}")
