Southwest Low Fare Calendar Scraper avatar

Southwest Low Fare Calendar Scraper

Pricing

Pay per event

Go to Apify Store
Southwest Low Fare Calendar Scraper

Southwest Low Fare Calendar Scraper

✈️ Extract exact Southwest Low Fare Calendar prices by route and date, with WGA, Plus, Anytime, Business Select, taxes, dollar or points totals, and lowest-fare summaries.

Pricing

Pay per event

Rating

0.0

(0)

Developer

Stas Persiianenko

Stas Persiianenko

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

13 days ago

Last modified

Categories

Share

Extract exact Southwest Airlines Low Fare Calendar prices by route and date.

This Apify Actor opens Southwest's public calendar, captures its structured fare response, and saves one clean record per travel date. Each row includes Wanna Get Away, Wanna Get Away Plus, Anytime, and Business Select prices—without continuing into booking.

Use the results in fare alerts, travel-deal workflows, spreadsheets, dashboards, repricing checks, or scheduled monitors.

What does Southwest Low Fare Calendar Scraper do?

Southwest Low Fare Calendar Scraper turns a monthly fare calendar into export-ready data.

For each requested route, it returns:

  • ✈️ origin and destination airport codes
  • 📅 one record per calendar date
  • 💵 exact base fare, total fare, and taxes/fees
  • 🎟️ WGA, Plus, Anytime, and Business Select buckets
  • 🪙 dollar or Rapid Rewards points fares
  • 🏷️ the lowest available total and fare bucket
  • 🌎 domestic or international route status
  • 🔗 the public source URL and retrieval timestamp

The Actor uses an anonymous browser session to let Southwest generate the required client headers, then reads the exact JSON response. It does not estimate prices from rounded display text.

Who is this Southwest fare scraper for?

Fare-alert and travel-deal products

Monitor route calendars repeatedly and notify subscribers when a lower travel date appears.

Travelers checking repricing opportunities

Compare current calendar prices with a booked fare to identify possible Southwest flight-credit opportunities. Always verify eligibility and final pricing directly with Southwest.

Travel agencies

Export flexible-date fare options for clients before building an itinerary.

Corporate travel analysts

Track route-level price movements and identify lower-cost travel windows.

Data and automation teams

Feed structured fare data into BigQuery, Snowflake, Google Sheets, Airtable, or internal travel dashboards.

Why use this actor?

  • Southwest-specific inventory: Southwest fares are not consistently represented in third-party flight aggregators.
  • Exact decimal strings: values such as 97.40 remain exact instead of becoming floating-point approximations.
  • All major fare buckets: compare product tiers, not only the cheapest visible headline price.
  • Points support: retrieve Rapid Rewards points totals and their separate USD taxes/fees.
  • Multi-route batches: check up to 20 routes in one run.
  • Repeatable automation: schedule runs and connect outputs without maintaining a browser scraper.
  • Safe scope: the Actor stops at fare-calendar extraction and never attempts booking.

What Southwest fare data can you extract?

Field groupExampleMeaning
RouteLASLAXSouthwest airport pair
Date2026-08-18Calendar travel date
CurrencyUSD or POINTSUnit used for fare totals
Taxes currencyUSDEspecially important for points fares
WGAbase, total, taxesWanna Get Away bucket
PLUbase, total, taxesWanna Get Away Plus bucket
ANYbase, total, taxesAnytime bucket
BUSbase, total, taxesBusiness Select bucket
Lowest fare97.40, WGALowest available total and bucket
Availability4Number of populated fare buckets
Source metadataURL, timestampTraceability for every record

All fare amounts are strings. This preserves the exact formatting returned by Southwest.

How to scrape Southwest Low Fare Calendar prices

  1. Open the Actor input page.
  2. Add one or more origin/destination airport-code pairs.
  3. Enter a departure date using YYYY-MM-DD or today+N.
  4. Choose Dollars or Points.
  5. Set the passenger count and date limit.
  6. Click Start.
  7. Open the Dataset tab to preview, filter, or export results.

A one-route, 31-date run is a good first test.

Input parameters

ParameterTypeRequiredDefaultDescription
routesarrayYesLAS→LAXOne to 20 { origin, destination } IATA pairs
departureDatestringYestoday+30Date or relative date selecting the calendar month
fareModestringNoDOLLARSDOLLARS or POINTS
currencyCodestringNoUSDThree-letter currency for dollar fares
adultPassengersCountintegerNo1Adult passengers, from 1 to 8
maxDatesPerRouteintegerNo31Maximum records emitted per route
proxyConfigurationobjectNodirectOptional Apify Proxy settings

Example input:

{
"routes": [
{ "origin": "LAS", "destination": "LAX" },
{ "origin": "DAL", "destination": "HOU" }
],
"departureDate": "today+45",
"fareMode": "DOLLARS",
"currencyCode": "USD",
"adultPassengersCount": 1,
"maxDatesPerRoute": 31,
"proxyConfiguration": { "useApifyProxy": false }
}

Output example

{
"origin": "LAS",
"destination": "LAX",
"date": "2026-08-01",
"currencyCode": "USD",
"taxesCurrencyCode": "USD",
"international": false,
"fareMode": "DOLLARS",
"adultPassengersCount": 1,
"wgaBaseFare": "133.95",
"wgaTotalFare": "159.40",
"wgaTaxesAndFees": "25.45",
"pluBaseFare": "166.51",
"pluTotalFare": "194.40",
"pluTaxesAndFees": "27.89",
"anyBaseFare": "231.63",
"anyTotalFare": "264.40",
"anyTaxesAndFees": "32.77",
"busBaseFare": "268.84",
"busTotalFare": "304.40",
"busTaxesAndFees": "35.56",
"lowestTotalFare": "159.40",
"lowestFareBucket": "WGA",
"availableFareBuckets": 4,
"sourceUrl": "https://www.southwest.com/air/low-fare-calendar/...",
"retrievedAt": "2026-07-17T18:00:55.252Z"
}

Unavailable fare buckets are returned as null. A points result uses currencyCode: "POINTS"; its taxes may still use taxesCurrencyCode: "USD".

Understanding Southwest fare bucket codes

The dataset uses compact stable codes:

  • WGA — Wanna Get Away
  • PLU — Wanna Get Away Plus
  • ANY — Anytime
  • BUS — Business Select

The Actor normalizes the corresponding points-mode response codes into the same four columns, so dollar and points datasets are easy to compare.

How much does it cost to scrape Southwest fares?

This Actor uses pay-per-event pricing:

  • a small charge starts each run;
  • each route/date record is charged as one result;
  • subscription tiers receive automatic volume discounts.

The final price is visible in Apify Console before each run. A typical one-route monthly calendar returns about 28–31 result records. Browser runtime and proxy usage are included in the platform run cost shown by Apify.

To control spend:

  • begin with one route;
  • set maxDatesPerRoute to 5 for a small test;
  • group routes into one scheduled run rather than launching many single-route runs;
  • enable a proxy only when a direct session is blocked.

Fare monitoring workflow

For repeated price checks:

  1. Create an Apify Task with your routes.
  2. Schedule it daily or weekly.
  3. Export each dataset to your preferred storage.
  4. Compare lowestTotalFare with the prior run.
  5. Trigger an alert when the value decreases.

Use origin, destination, date, and fareMode as a stable comparison key.

Tips for reliable results

  • Use valid Southwest-served three-letter airport codes.
  • Choose a future departure month with published inventory.
  • Keep route batches conservative; the Actor intentionally uses low browser concurrency.
  • Use a US proxy country when a direct session is repeatedly blocked.
  • Compare like with like: dollar totals and points totals have different units.
  • Treat fare data as a snapshot; availability and prices can change at any time.
  • Confirm final fare rules, availability, and checkout totals directly on Southwest.

Integrations

Google Sheets fare tracker

Schedule the Actor, connect the dataset through Make or Zapier, and append each run to a sheet. Use a formula to highlight lower lowestTotalFare values.

Slack or email price alerts

Send a webhook when a route/date price falls below your threshold.

BigQuery or Snowflake history

Store every snapshot for route-level trend analysis and travel-budget forecasting.

Airtable travel-deal queue

Create one record per route/date and let editors review the strongest deals before publication.

Webhook-driven repricing checks

Trigger the Actor from an internal itinerary system, then compare current calendar values with recorded booking prices.

Run via the Apify API with JavaScript

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('automation-lab/southwest-low-fare-calendar-scraper').call({
routes: [{ origin: 'LAS', destination: 'LAX' }],
departureDate: 'today+30',
fareMode: 'DOLLARS',
currencyCode: 'USD',
adultPassengersCount: 1,
maxDatesPerRoute: 31
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

Run via the Apify API with Python

import os
from apify_client import ApifyClient
client = ApifyClient(os.environ['APIFY_TOKEN'])
run = client.actor('automation-lab/southwest-low-fare-calendar-scraper').call(run_input={
'routes': [{'origin': 'DAL', 'destination': 'HOU'}],
'departureDate': 'today+45',
'fareMode': 'POINTS',
'adultPassengersCount': 1,
'maxDatesPerRoute': 31,
})
for item in client.dataset(run['defaultDatasetId']).iterate_items():
print(item)

Run via cURL

curl -X POST \
"https://api.apify.com/v2/acts/automation-lab~southwest-low-fare-calendar-scraper/runs?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"routes": [{"origin":"BWI","destination":"MCO"}],
"departureDate":"today+60",
"fareMode":"DOLLARS",
"currencyCode":"USD",
"adultPassengersCount":1,
"maxDatesPerRoute":31
}'

Poll the returned run ID, then download items from its default dataset.

Use with Apify MCP and AI agents

Connect this Actor to Claude Code:

$claude mcp add --transport http apify "https://mcp.apify.com?tools=automation-lab/southwest-low-fare-calendar-scraper"

For Claude Desktop, Cursor, or VS Code, add this HTTP server to your MCP configuration:

{
"mcpServers": {
"apify": {
"type": "http",
"url": "https://mcp.apify.com?tools=automation-lab/southwest-low-fare-calendar-scraper"
}
}
}

Example prompts:

  • “Find the lowest Southwest LAS to LAX date next month.”
  • “Compare dollar fares for DAL to HOU across the returned calendar.”
  • “Extract points fares for BWI to MCO and show the cheapest five dates.”
  • “Build a daily route-price monitor using these Southwest records.”

Proxy configuration

Direct browser sessions are the default and cheapest route. Southwest uses anti-automation controls, so a session can occasionally be blocked.

If that happens, enable Apify Proxy in the input. A US residential session is the strongest fallback, but it costs more bandwidth than direct access or datacenter proxy traffic.

The Actor reuses one browser conservatively and performs bounded fresh-context retries. It does not retry indefinitely.

Error handling

The Actor fails closed when:

  • a route does not contain valid IATA codes;
  • origin and destination are identical;
  • the date format is invalid;
  • the requested fare mode is unsupported;
  • the Southwest API response is blocked or incomplete;
  • no calendar records can be extracted.

A total extraction failure returns a failed run, not a misleading successful empty dataset.

This Actor accesses publicly visible fare-calendar data without logging in. Web scraping can be regulated by website terms, database rights, privacy law, contract law, and your intended use.

You are responsible for:

  • reviewing Southwest's current terms and robots policies;
  • using reasonable request volumes;
  • avoiding resale or presentation that implies Southwest endorsement;
  • complying with laws that apply to your location and use case;
  • verifying fares before making purchasing or customer-facing decisions.

This Actor is an independent tool and is not affiliated with, endorsed by, or sponsored by Southwest Airlines Co.

FAQ

Does this Actor book Southwest flights?

No. It only extracts the public Low Fare Calendar and stops before booking.

Does it return every flight departure time?

No. The product returns daily calendar fare buckets, not individual flight itineraries or schedules.

Can it return Rapid Rewards points fares?

Yes. Set fareMode to POINTS. Points totals use currencyCode: "POINTS", while taxes and fees may remain denominated in USD.

Why did a route return no records?

Check that both airport codes are valid Southwest destinations and that the selected future month has published inventory. If the run log reports a block, enable a US proxy session.

Why did the Actor fail while the website opens for me?

Southwest applies session-level anti-automation controls. Retry with Apify Proxy enabled and keep the route batch small. A failed extraction is intentionally reported as failed rather than silently returning zero rows.

Are displayed prices guaranteed?

No. Fares and availability change. Always confirm the latest total and fare rules directly with Southwest before purchase.

Can I schedule this as a fare monitor?

Yes. Save the input as an Apify Task, add a schedule, and compare successive datasets by route and date.

Data quality and support

The Actor reads structured Southwest response fields and keeps source URLs and timestamps for traceability. Selectors and response shapes are monitored through build and QA checks, but source websites can change without notice.

If you find a reproducible issue, include:

  • the origin and destination codes;
  • departure date and fare mode;
  • run URL;
  • whether proxy use was enabled;
  • the expected and actual result.

That context makes investigation faster while avoiding the disclosure of private travel or account information.