Best Marathons 2026

VOTE FOR YOUR FAVORITE MARATHONS

Our annual poll is now live!
Which races deserve the top spot in each state for 2026?

VOTE NOW

Marathon Pace Bands

Marathon Pace Bands

Run the Right Pace in Your Next Marathon

Nearly 500 marathon courses.
Ships same or Next Day

Best Boston Marathon Qualifiers for 2026

Best Boston Marathon Qualifiers

It's here! Our annual list of the year's
best marathons to help you qualify for the Boston Marathon.

2026 IS HERE!



Alberta Marathons

Alberta has 4 active marathons this year. Races are most common in May and August. Course terrain for these courses is most often mostly flat or rolling hills. Typical race day temperatures range from 51°F to 57°F.

Popular races include the Calgary Marathon, Edmonton Marathon, and Woodys RV World Marathon. 3 certified courses can be great Boston qualifier options. Races with the best Boston qualifying percentages include the Woodys RV World Marathon — 8.5% BQ and Calgary Marathon — 4.7% BQ.

Browse by metro or city:


Alberta Marathons asc  Course desc PR Score asc desc Finishers asc desc BQ% asc Reviews Compare

Woodys RV World Marathon

Red Deer, AB
05/17/2026

Mostly Flat

Mostly Flat



Finishers

142 Finishers


PR Score

Finishers

142 Finishers

Race Reviews

Reviews

Compare Races
Compare Races

Calgary Marathon

Calgary, AB
05/24/2026

Rolling Hills

Rolling Hills




Finishers

1,937 Finishers


PR Score

Finishers

1,937 Finishers

Race Reviews

Reviews

Compare Races
Compare Races

Edmonton Marathon

Edmonton, AB
08/16/2026

Mostly Flat

Mostly Flat




Finishers

1,156 Finishers


PR Score

Finishers

1,156 Finishers

Race Reviews

Reviews

Compare Races
Compare Races

Moose Mountain (Alberta) Marathon

Bragg Creek, AB
08/22/2026

Very Hilly

Very Hilly



Finishers

53 Finishers


PR Score

Course is
Not Certified

Finishers

53 Finishers

Course is
Not Certified

Race Reviews

Reviews

Compare Races
Compare Races


// Optional country filter (DB stores 'USA'/'CAN' in markers.country) $countryFilterSql = ""; $countryBindType = ""; if (!empty($countryDb)) { $countryFilterSql = " AND country = ? "; $countryBindType = "s"; } ob_start(); ?>