Melatonin for Migraine
Low-dose melatonin (typically 3 mg at bedtime) appears to modestly reduce migraine frequency in adults, but the evidence is still preliminary and it is not a first-line treatment.
Why this grade7-layer evidence engine
This earns a Preliminary (B) grade because the supportive signal is consistent but rests on small trials. Two meta-analyses point the same way: a 2026 review of nine RCTs (PMID 41627537, n=788) found melatonin cut headache days by about 1.5 per month and raised the responder rate (RR 1.38), and a 2020 network meta-analysis (PMID 32347977, n=4,499) ranked 3 mg melatonin best for reducing migraine frequency (MD -1.71 days; responder OR 4.19). The anchor RCT by Goncalves (PMID 27165014, n=178) showed 3 mg melatonin beat placebo (2.7 vs 1.1 fewer days, p=0.009) and matched amitriptyline with fewer side effects, echoed by a small 2024 RCT (PMID 38751874).
What holds it back from a higher grade is scale and gaps. The individual trials are small, doses and formulations are not standardized, and a pediatric RCT (PMID 37466211, n=42) was negative, though it was badly underpowered and does not overturn the adult data. Cluster-headache evidence remains too thin to judge.
Regulators and clinics stay cautious. No drug agency (FDA, EFSA, NHS, WHO) endorses melatonin for migraine; EFSA's only approved claims concern sleep onset, the FDA does not consider it GRAS, and in the UK it is prescription-only. The American Headache Society lists it among optional preventive nutraceuticals (3 mg at bedtime) but calls the evidence mixed, and the Cleveland Clinic states it should not be a first-line treatment, while Harvard notes headache itself can be a side effect.
Scoring transparency
All scores computed by a 7-layer evidence engine — fully auditable▸View the full decision path (audit trail)
- compute_raw_score — 加權公式: L2×0.30 + L3×0.25 + L5×0.25 + L11×0.10 + L1×0.10 = 0.618
- tier_from_score — 依分數區間映射至 tier letter
- apply_hec_rules — 高品質 SR/MA 顯示 positive (2 篇 > 0 negative)
- tier_strict_requirement_check — Tier 條件達標,未降階
- detect_disputes — 偵測到 0 個 hard + 0 個 soft dispute
- decide_status — 依 tier + dispute 結果決定 status