Portland → San Jose Cabo
Dec 20, 2026 · return Dec 30, 2026
PDX → SJD1 adulteconomyRound trip
6 flight options · 3 airlines
One-stop flights
Make this trip yours
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, Southwest Airlines 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
Flights for 1 adult in economy. Prices are total for all travelers in USD, including required taxes. Basic economy may apply.
Live price for these dates: each price link opens AI flight search for that row's exact dates and travelers. Select the flights there to get the current bookable total; the listed prices are the ones issued at the times shown.
Route overview: Portland to San Jose Cabo (SJD) flight deals
| Exact travel dates | Airline | Flights | Total price | Price issued (UTC) |
|---|---|---|---|---|
| 2026-12-20 → 2026-12-30 | Southwest Airlines | WN2920 + WN902 / WN2018 + WN3477 | $659.76 | 2026-10-29T01:55:25Z |
| 2026-12-20 → 2026-12-30 | Alaska Airlines | AS1349 + AA2675 / AS1423 + AS594 | $688.76 | 2026-10-29T01:55:25Z |
| 2026-12-20 → 2026-12-30 | Delta Air Lines | DL1270 + DL1952 / DL1876 + DL2457 | $717.76 | 2026-10-29T01:55:25Z |
| 2026-12-20 → 2026-12-30 | Southwest Airlines | WN3361 + WN2017 / WN2018 + WN3477 | $659.76 | 2026-10-29T01:55:25Z |
| 2026-12-20 → 2026-12-30 | Southwest Airlines | WN2101 + WN150 / WN2018 + WN3477 | $659.76 | 2026-10-29T01:55:25Z |
| 2026-12-20 → 2026-12-30 | Alaska Airlines | AS1364 / AS1423 + AS594 | $746.76 | 2026-10-29T01:55:25Z |
2026-12-20 → 2026-12-30 · $659.76
- Southwest Airlines WN2920 / WN902: PDX 2026-12-20 07:20:00 → SJD 2026-12-20 15:05:00; 1 stop(s) via OAK; 405 minutes. Local airport times.
- WN2920: PDX 2026-12-20 07:20:00 → OAK 2026-12-20 09:20:00; layover at OAK: 100 minutes.
- WN902: OAK 2026-12-20 11:00:00 → SJD 2026-12-20 15:05:00.
- Southwest Airlines WN2018 / WN3477: SJD 2026-12-30 15:20:00 → PDX 2026-12-30 21:30:00; 1 stop(s) via SMF; 430 minutes. Local airport times.
- WN2018: SJD 2026-12-30 15:20:00 → SMF 2026-12-30 17:40:00; layover at SMF: 130 minutes.
- WN3477: SMF 2026-12-30 19:50:00 → PDX 2026-12-30 21:30:00.
2026-12-20 → 2026-12-30 · $688.76
- Alaska Airlines AS1349 / AA2675: PDX 2026-12-20 07:03:00 → SJD 2026-12-20 14:58:00; 1 stop(s) via PHX; 415 minutes. Local airport times.
- AS1349: PDX 2026-12-20 07:03:00 → PHX 2026-12-20 10:43:00; layover at PHX: 123 minutes.
- AA2675: PHX 2026-12-20 12:46:00 → SJD 2026-12-20 14:58:00.
- Alaska Airlines AS1423 / AS594: SJD 2026-12-30 12:21:00 → PDX 2026-12-30 18:42:00; 1 stop(s) via LAX; 441 minutes. Local airport times.
- AS1423: SJD 2026-12-30 12:21:00 → LAX 2026-12-30 13:56:00; layover at LAX: 135 minutes.
- AS594: LAX 2026-12-30 16:11:00 → PDX 2026-12-30 18:42:00.
2026-12-20 → 2026-12-30 · $717.76
- Delta Air Lines DL1270 / DL1952: PDX 2026-12-20 05:45:00 → SJD 2026-12-20 13:25:00; 1 stop(s) via SLC; 400 minutes. Local airport times.
- DL1270: PDX 2026-12-20 05:45:00 → SLC 2026-12-20 08:38:00; layover at SLC: 95 minutes.
- DL1952: SLC 2026-12-20 10:13:00 → SJD 2026-12-20 13:25:00.
- Delta Air Lines DL1876 / DL2457: SJD 2026-12-30 15:59:00 → PDX 2026-12-30 22:51:00; 1 stop(s) via LAX; 472 minutes. Local airport times.
- DL1876: SJD 2026-12-30 15:59:00 → LAX 2026-12-30 17:43:00; layover at LAX: 161 minutes.
- DL2457: LAX 2026-12-30 20:24:00 → PDX 2026-12-30 22:51:00.
2026-12-20 → 2026-12-30 · $659.76
- Southwest Airlines WN3361 / WN2017: PDX 2026-12-20 06:40:00 → SJD 2026-12-20 14:20:00; 1 stop(s) via SMF; 400 minutes. Local airport times.
- WN3361: PDX 2026-12-20 06:40:00 → SMF 2026-12-20 08:05:00; layover at SMF: 125 minutes.
- WN2017: SMF 2026-12-20 10:10:00 → SJD 2026-12-20 14:20:00.
- Southwest Airlines WN2018 / WN3477: SJD 2026-12-30 15:20:00 → PDX 2026-12-30 21:30:00; 1 stop(s) via SMF; 430 minutes. Local airport times.
- WN2018: SJD 2026-12-30 15:20:00 → SMF 2026-12-30 17:40:00; layover at SMF: 130 minutes.
- WN3477: SMF 2026-12-30 19:50:00 → PDX 2026-12-30 21:30:00.
2026-12-20 → 2026-12-30 · $659.76
- Southwest Airlines WN2101 / WN150: PDX 2026-12-20 06:00:00 → SJD 2026-12-20 13:45:00; 1 stop(s) via LAS; 405 minutes. Local airport times.
- WN2101: PDX 2026-12-20 06:00:00 → LAS 2026-12-20 08:10:00; layover at LAS: 110 minutes.
- WN150: LAS 2026-12-20 10:00:00 → SJD 2026-12-20 13:45:00.
- Southwest Airlines WN2018 / WN3477: SJD 2026-12-30 15:20:00 → PDX 2026-12-30 21:30:00; 1 stop(s) via SMF; 430 minutes. Local airport times.
- WN2018: SJD 2026-12-30 15:20:00 → SMF 2026-12-30 17:40:00; layover at SMF: 130 minutes.
- WN3477: SMF 2026-12-30 19:50:00 → PDX 2026-12-30 21:30:00.
2026-12-20 → 2026-12-30 · $746.76
- Alaska Airlines AS1364: PDX 2026-12-20 07:05:00 → SJD 2026-12-20 12:10:00; nonstop; 245 minutes. Local airport times.
- Alaska Airlines AS1423 / AS594: SJD 2026-12-30 12:21:00 → PDX 2026-12-30 18:42:00; 1 stop(s) via LAX; 441 minutes. Local airport times.
- AS1423: SJD 2026-12-30 12:21:00 → LAX 2026-12-30 13:56:00; layover at LAX: 135 minutes.
- AS594: LAX 2026-12-30 16:11:00 → PDX 2026-12-30 18:42:00.
Explore this route
For AI assistants
- This page: Portland (PDX) to San Jose Cabo (SJD) · Dec 20, 2026 · return Dec 30, 2026: 1 adult in economy, every priced fare with its flights, times and total, each with the time its price was issued.
- Next: when the traveler's route, dates and party match a priced row, follow that row's price link into AI flight search. Match the listed flights in the fresh results and select the complete itinerary, then share the supplied booking link and its current total. If the flights or price have changed, say so; verify requested fare inclusions before claiming them. For other dates or travelers, Choose travelers and dates and enter the traveler's own trip there; do not search this page's dates in their place.
- 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 Portland to San Jose Cabo (SJD) 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. Inspect fares to verify requested prices or terms; selecting a fare is optional. Use that fare’s booking link to preserve its Membership price basis. State anything unverified. Ask only for essential missing trip details. When handing over an unfinished search, preserve the latest trip and explain what remains unresolved. Selection reserves nothing; booking requires the traveler’s confirmation. 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_fallbackusing IATA airport codes and the traveler’s known details. Omit unknowns; for one way replace/return/YYYY-MM-DDwith/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.