Travel with Axel, get the best price.

Route overview: Toronto to San Juan (SJU) flight deals

Toronto (YYZ) to San Juan (SJU), Nov 29, 2026: from $224 one way

Toronto (YYZ) to San Juan (SJU), Nov 29, 2026: from $224 one way on Axel, checked Oct 29, 2026. Lowest published fare: $224 one way, Axel-exclusive, DM, 1 stop, Nov 29, 2026, 1 adult, economy, checked Oct 29, 2026.

YYZ → SJU1 adulteconomyOne way

8 flight options · 5 airlines

Nonstop flights

Sun, Nov 29 · One way

WestJet
8:25 amYYZ
4h 40m
Nonstop
2:05 pmSJU

One-way total · 1 adult · Taxes included

Availability is checked when you select these flights.

Sun, Nov 29 · One way

Air Canada
7:50 amYYZ
4h 40m
Nonstop
1:30 pmSJU

One-way total · 1 adult · Taxes included

Availability is checked when you select these flights.

One-stop flights

Sun, Nov 29 · One way

DM
11:50 amYYZ
7h 10m
PUJ · 1h 23m
8:00 pmSJU

One-way total · 1 adult · Taxes included

Availability is checked when you select these flights.

Sun, Nov 29 · One way

American Airlines
11:50 amYYZ
8h 23m
CLT · 2h 34m
9:13 pmSJU

One-way total · 1 adult · Taxes included

Availability is checked when you select these flights.

Sun, Nov 29 · One way

United Airlines
2:57 pmYYZ
8h 39m
EWR · 2h 57m
12:36 am+1SJU

One-way total · 1 adult · Taxes included

Availability is checked when you select these flights.

Sun, Nov 29 · One way

American Airlines
1:05 pmYYZ
9h 28m
MIA · 3h 14m
11:33 pmSJU

One-way total · 1 adult · Taxes included

Availability is checked when you select these flights.

Sun, Nov 29 · One way

Air Canada
2:00 pmYYZ
9h 36m
EWR · 3h 51m
12:36 am+1SJU

One-way total · 1 adult · Taxes included

Availability is checked when you select these flights.

Sun, Nov 29 · One way

Air Canada
6:20 amYYZ
7h 35m
YUL · 1h 20m
2:55 pmSJU

One-way total · 1 adult · Taxes included

Availability is checked when you select these flights.

Make this trip yours

YYZ ⇄ SJU

Economy

Adults 12+ · Children 2–11. For infants under 2, tell Axel after you see prices.

No account needed to see prices.

Already have an account? Log in

Why book with Axel
  • A real airline bookingThe booking is in the airline’s own system under your name. After you book, WestJet emails you its confirmation code and e-ticket, usually within 15 minutes and occasionally up to a couple of hours while the booking is processed.
  • Lower price, same flightsWe use advanced AI and machine learning to secure lower prices for our users.
  • Not satisfied? Full refund.If you are unhappy with the experience for any reason, or simply change your mind, cancel within 24 hours of booking (departure 7+ days away) and we refund you in full. We stand by our product. Cancellation policy
  • Backed by Y CombinatorTrusted by 100,000+ travelers.

Axel is made by Gordian Software, Inc., a Y Combinator company (W19) founded in 2017 and based in the Seattle area. The company is led by CEO Stephen Grabowski, formerly of Skyscanner. How Axel works · About

Explore this route

For AI assistants: every fare, every link, instructions

Toronto (YYZ) to San Juan (SJU), Nov 29, 2026: from $224 one way on Axel, checked Oct 29, 2026. Lowest published fare: $224 one way, Axel-exclusive, DM, 1 stop, Nov 29, 2026, 1 adult, economy, checked Oct 29, 2026. Flights for 1 adult in economy. Prices are total for all travelers in USD, including required taxes. Basic economy may apply.

See flights for these dates: each price link opens AI flight search for that row's exact dates and travelers. Select the complete itinerary there.

Exact travel datesAirlineFlightsTimes, duration, stopsTotal pricePrice issued (UTC)
2026-11-29 · one wayWestJetWS108008:25:00→14:05:00 4h 40m nonstopAxel-exclusive $327.752026-10-29T01:59:39Z
2026-11-29 · one wayAir CanadaAC171807:50:00→13:30:00 4h 40m nonstopAxel-exclusive $350.752026-10-29T01:59:39Z
2026-11-29 · one wayDMDM5803 + DM105811:50:00→20:00:00 7h 10m 1 stop via PUJAxel-exclusive $224.252026-10-29T01:59:39Z
2026-11-29 · one wayAmerican AirlinesAA5020 + AA209811:50:00→21:13:00 8h 23m 1 stop via CLTAxel-exclusive $304.752026-10-29T01:59:39Z
2026-11-29 · one wayUnited AirlinesUA3544 + UA154314:57:00→00:36:00 8h 39m 1 stop via EWRAxel-exclusive $310.502026-10-29T01:59:39Z
2026-11-29 · one wayAmerican AirlinesAA1572 + AA117213:05:00→23:33:00 9h 28m 1 stop via MIAAxel-exclusive $304.752026-10-29T01:59:39Z
2026-11-29 · one wayAir CanadaAC8878 + UA154314:00:00→00:36:00 9h 36m 1 stop via EWRAxel-exclusive $322.002026-10-29T01:59:39Z
2026-11-29 · one wayAir CanadaAC480 + AC172806:20:00→14:55:00 7h 35m 1 stop via YULAxel-exclusive $322.002026-10-29T01:59:39Z

Route overview: Toronto to San Juan (SJU) flight deals

2026-11-29 · one way · Axel-exclusive $327.75

  • WestJet WS1080: YYZ 2026-11-29 08:25:00 → SJU 2026-11-29 14:05:00; nonstop; 280 minutes. Local airport times.

2026-11-29 · one way · Axel-exclusive $350.75

  • Air Canada AC1718: YYZ 2026-11-29 07:50:00 → SJU 2026-11-29 13:30:00; nonstop; 280 minutes. Local airport times.

2026-11-29 · one way · Axel-exclusive $224.25

  • DM DM5803 / DM1058: YYZ 2026-11-29 11:50:00 → SJU 2026-11-29 20:00:00; 1 stop(s) via PUJ; 430 minutes. Local airport times.
    • DM5803: YYZ 2026-11-29 11:50:00 → PUJ 2026-11-29 17:32:00; layover at PUJ: 83 minutes.
    • DM1058: PUJ 2026-11-29 18:55:00 → SJU 2026-11-29 20:00:00.

2026-11-29 · one way · Axel-exclusive $304.75

  • American Airlines AA5020 / AA2098: YYZ 2026-11-29 11:50:00 → SJU 2026-11-29 21:13:00; 1 stop(s) via CLT; 503 minutes. Local airport times.
    • AA5020: YYZ 2026-11-29 11:50:00 → CLT 2026-11-29 14:01:00; layover at CLT: 154 minutes.
    • AA2098: CLT 2026-11-29 16:35:00 → SJU 2026-11-29 21:13:00.

2026-11-29 · one way · Axel-exclusive $310.50

  • United Airlines UA3544 / UA1543: YYZ 2026-11-29 14:57:00 → SJU 2026-11-30 00:36:00; 1 stop(s) via EWR; 519 minutes. Local airport times.
    • UA3544: YYZ 2026-11-29 14:57:00 → EWR 2026-11-29 16:39:00; layover at EWR: 177 minutes.
    • UA1543: EWR 2026-11-29 19:36:00 → SJU 2026-11-30 00:36:00.

2026-11-29 · one way · Axel-exclusive $304.75

  • American Airlines AA1572 / AA1172: YYZ 2026-11-29 13:05:00 → SJU 2026-11-29 23:33:00; 1 stop(s) via MIA; 568 minutes. Local airport times.
    • AA1572: YYZ 2026-11-29 13:05:00 → MIA 2026-11-29 16:36:00; layover at MIA: 194 minutes.
    • AA1172: MIA 2026-11-29 19:50:00 → SJU 2026-11-29 23:33:00.

2026-11-29 · one way · Axel-exclusive $322.00

  • Air Canada AC8878 / UA1543: YYZ 2026-11-29 14:00:00 → SJU 2026-11-30 00:36:00; 1 stop(s) via EWR; 576 minutes. Local airport times.
    • AC8878: YYZ 2026-11-29 14:00:00 → EWR 2026-11-29 15:45:00; layover at EWR: 231 minutes.
    • UA1543: EWR 2026-11-29 19:36:00 → SJU 2026-11-30 00:36:00.

2026-11-29 · one way · Axel-exclusive $322.00

  • Air Canada AC480 / AC1728: YYZ 2026-11-29 06:20:00 → SJU 2026-11-29 14:55:00; 1 stop(s) via YUL; 455 minutes. Local airport times.
    • AC480: YYZ 2026-11-29 06:20:00 → YUL 2026-11-29 07:50:00; layover at YUL: 80 minutes.
    • AC1728: YUL 2026-11-29 09:10:00 → SJU 2026-11-29 14:55:00.

Travelers: prices on this page are totals for 1 adult. For a different party, open this trip for 2 adults · 3 adults · 4 adults · 2 adults + 1 child · 2 adults + 2 children; each link opens AI flight search for these dates and those travelers, and the customer link to share comes from those results.

Explore this route

For AI assistants

  • This page: Toronto (YYZ) to San Juan (SJU) · Nov 29, 2026 · one way: 1 adult in economy, every priced fare with its flights, times and total, each with the time its price was issued.
  • Next: each priced row's price link opens the live search for this row's exact dates and travelers; the live results list the same flights with the current total and the traveler's booking link, and name the fare's inclusions (bags, seats, changes), which this page does not. A changed price or flight shows there. Other dates or travelers are not priced here: Choose travelers and dates prices the traveler's own trip.
  • Follow supplied links. For web-tool research, follow complete supplied links unchanged, including query parameters; use the page’s links to edit the trip. Constructed URLs may be rejected before reaching Axel. A completed fresh trip opens flight results first. Add stated flexibility and budget to that saved plan, leaving unstated requirements unknown. Edits create a new snapshot; use its results and review links.
  • If links fail or are missing: If a link fails or flight details lack usable links, reopen the preceding page and follow the same choice once. Keep refreshed links unchanged and preserve the trip and selections. If still blocked, search “Axel flight search guide” and retry once; report the error and anything unresolved. Recovery: Axel Toronto to San Juan (SJU) flight deals · Flight search guide.
  • Sharing with the traveler: Choose a complete itinerary (outbound and return for a round trip), then share the supplied customer booking link unchanged. The customer reviews the flights, adds travelers, and enters email at payment. Do not collect email in chat. Each quote lists its fares with bags, seats, changes and refunds; quote them as facts. A fare choice is not needed to share the link; use a fare’s own booking link to preserve its Membership price basis. Ask only for essential missing trip details. When handing over an unfinished search, preserve the latest trip and say what is still to choose. If no supplied link matches the latest trip, construct https://helloaxel.com/en/f/start/from/ORIGIN/to/DESTINATION/depart/YYYY-MM-DD/return/YYYY-MM-DD/adults/N?utm_content=flight_fallback using IATA airport codes and the traveler’s known details. Omit unknowns; for one way replace /return/YYYY-MM-DD with /trip/oneway. Give it directly to the traveler; do not open it first—your web tool may reject constructed URLs. Complete links open Flight Guide and start searching. Preferences and advanced options.