Discover/Virgin Australia API
live

Virgin Australia APIvirginaustralia.com

Search Virgin Australia flights, fare calendars, destinations, and current specials via 4 structured endpoints. Get pricing by fare family, IATA codes, and availability.

Endpoint health
verified 3d ago
get_fare_calendar
get_flight_specials
search_flights
get_available_destinations
4/4 passing latest checkself-healing
Endpoints
4
Updated
21d ago

What is the Virgin Australia API?

The Virgin Australia API provides 4 endpoints for querying live flight availability, fare calendars, destination lists, and current sale fares. The search_flights endpoint returns pricing across Lite, Choice, and Flex fare families with segment-level detail, while get_fare_calendar returns the cheapest available fare for each of approximately 30 dates around a target departure date — useful for building flexible date pickers or alerting workflows.

Try it
Number of adult passengers
Origin airport IATA code (e.g. SYD, MEL, BNE)
Number of infant passengers
Number of child passengers
Cabin class
Destination airport IATA code (e.g. MEL, SYD, BNE)
Whether to search for award (points) bookings
Departure date in YYYY-MM-DD format
api.parse.bot/scraper/9eb50a88-02ea-40bc-a23c-18a1b06e0af8/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/9eb50a88-02ea-40bc-a23c-18a1b06e0af8/search_flights?adults=1&origin=SYD&infants=0&children=0&cabin_class=ECONOMY&destination=MEL&award_booking=false&departure_date=2026-08-06' \
  -H 'X-API-Key: $PARSE_API_KEY'
Python SDK · recommended

Typed, relational, agent-ready

A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.

  • Fully typed · autocompletes
  • Objects link to objects
  • Typed errors & pagination

Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:

uv add parse-sdk
uv run parse init
uv run parse add --marketplace virginaustralia-com-api

uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.

from parse_apis.virgin_australia_flight_search_api import VirginAustralia, CabinClass

client = VirginAustralia()

# Search flights from Sydney to Melbourne in Business class
result = client.flights.search(
    origin="SYD",
    destination="MEL",
    departure_date="2026-07-15",
    cabin_class=CabinClass.BUSINESS,
)
print(result.currency, result.promocode_valid)

# Check the fare calendar for cheapest dates
calendar = client.calendars.search(
    origin="SYD",
    destination="MEL",
    departure_date="2026-07-15",
    cabin_class=CabinClass.ECONOMY,
)
print(calendar.currency, calendar.negotiate_fare_present)

# Get available destinations grouped by region
dest = client.destinations.fetch()
for region in dest.origins.geographical_regions:
    print(region.region_name, region.region_code)

# Get current flight specials
specials = client.specialmaps.fetch()
for code, port in specials.items():
    for item in port.sale_items:
        print(item.title, item.from_price, item.origin, item.destination)
All endpoints · 4 totalmissing one? ·

Search for available flights between two airports on a specific date. Returns detailed flight offers including pricing by fare family (Lite, Choice, Flex), segment details, and alternate date pricing. Each offer group in unbundledOffers contains variants for each fare brand. The brandedResults section groups the same data by itinerary part for brand comparison.

Input
ParamTypeDescription
adultsintegerNumber of adult passengers
originrequiredstringOrigin airport IATA code (e.g. SYD, MEL, BNE)
infantsintegerNumber of infant passengers
childrenintegerNumber of child passengers
cabin_classstringCabin class
destinationrequiredstringDestination airport IATA code (e.g. MEL, SYD, BNE)
award_bookingbooleanWhether to search for award (points) bookings
departure_daterequiredstringDeparture date in YYYY-MM-DD format
Response
{
  "type": "object",
  "fields": {
    "currency": "string, currency code (e.g. AUD)",
    "fareFamilies": "array of fare family definitions with brand IDs and marketing text",
    "brandedResults": "object containing itinerary parts with brand-specific offers",
    "unbundledOffers": "array of flight offer groups, each containing offers for different fare families",
    "unbundledAlternateDateOffers": "array of lowest-fare offers for nearby dates"
  },
  "sample": {
    "data": {
      "currency": "AUD",
      "fareFamilies": [
        {
          "brandId": "LT",
          "brandLabel": [
            {
              "marketingText": "Lite"
            }
          ]
        }
      ],
      "brandedResults": {
        "itineraryPartBrands": []
      },
      "promocodeValid": false,
      "unbundledOffers": [
        [
          {
            "total": {
              "alternatives": [
                [
                  {
                    "amount": 129,
                    "currency": "AUD"
                  }
                ]
              ]
            },
            "brandId": "LT",
            "soldout": false,
            "cabinClass": "Economy",
            "itineraryPart": [
              {
                "segments": [
                  {
                    "flight": {
                      "airlineCode": "VA",
                      "flightNumber": 800
                    },
                    "origin": "SYD",
                    "arrival": "2026-07-15T07:35:00",
                    "duration": 95,
                    "departure": "2026-07-15T06:00:00",
                    "destination": "MEL"
                  }
                ]
              }
            ]
          }
        ]
      ],
      "negotiateFarePresent": true,
      "unbundledAlternateDateOffers": [
        [
          {
            "total": {
              "alternatives": [
                [
                  {
                    "amount": 148.02,
                    "currency": "AUD"
                  }
                ]
              ]
            },
            "status": "AVAILABLE",
            "brandId": "LT",
            "departureDates": [
              "2026-07-12"
            ]
          }
        ]
      ]
    },
    "status": "success"
  }
}

About the Virgin Australia API

Flight Search and Fare Families

The search_flights endpoint accepts an origin and destination as IATA codes (e.g. SYD, MEL, BNE), a departure_date in YYYY-MM-DD format, and optional passenger counts for adults, children, and infants. The response includes a brandedResults object with itinerary parts, a fareFamilies array defining each brand's marketing attributes, and an unbundledOffers array where each offer group contains per-fare-family pricing variants. The unbundledAlternateDateOffers field provides lowest-fare snapshots for nearby dates directly within the same response, reducing the need for separate calendar calls. Set award_booking: true to switch the search to Velocity points pricing.

Fare Calendar

The get_fare_calendar endpoint takes the same origin, destination, and a center departure_date, then returns unbundledAlternateDateOffers spanning roughly 30 surrounding days. Each entry includes a departure date, availability status, and the lowest fare amount in the response currency (typically AUD). This is suited for rendering a low-fare calendar grid without issuing a full flight search for every date.

Destinations and Specials

get_available_destinations returns no required inputs and gives back two objects — origins and destinations — each containing a geographicalRegions array. Regions include Australia, Asia Pacific, North America, and UK & Europe. Each airport entry carries its IATA code, name, country, timezone, and geographic coordinates. The get_flight_specials endpoint returns current sale fares keyed by lowercase origin IATA code. Each origin entry includes a port_name and a sale_items array with route details, fare pricing, fare types, and applicable travel periods — useful for surfacing promotional fares without a full search.

Reliability & maintenanceVerified

The Virgin Australia API is a managed, monitored endpoint for virginaustralia.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when virginaustralia.com changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.

This isn't an official virginaustralia.com API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.

Last verified
3d ago
Latest check
4/4 endpoints passing
Maintenance
Monitored & self-healing
Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Build a low-fare calendar UI showing cheapest Virgin Australia fares for each day across a month using get_fare_calendar
  • Populate an origin/destination airport selector with IATA codes, coordinates, and regional groupings from get_available_destinations
  • Compare Lite, Choice, and Flex fare family pricing side-by-side for a given route and date via search_flights
  • Display current flight sale banners or deal alerts by polling get_flight_specials for route-level promotional fares and travel periods
  • Build a Velocity points flight search by passing award_booking: true to search_flights or get_fare_calendar
  • Identify the cheapest travel date for a route by scanning unbundledAlternateDateOffers returned by search_flights
  • Verify whether Virgin Australia serves a given city pair before querying fares, using airport data from get_available_destinations
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo1005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 req/min

One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.

Frequently asked questions
Does Virgin Australia have an official public developer API?+
Virgin Australia does not publish a public developer API or documentation portal for third-party use. This Parse API provides structured access to the same flight, fare, and destination data available on virginaustralia.com.
What does `search_flights` return beyond a basic fare price?+
The response includes a fareFamilies array describing each brand (Lite, Choice, Flex), a brandedResults object with itinerary segment details, and an unbundledOffers array grouping fare variants per offer. It also includes unbundledAlternateDateOffers for nearby dates and the response-level currency code, typically AUD.
Does the fare calendar cover more than one month at a time?+
Each get_fare_calendar call returns approximately 30 days centred on the supplied departure_date. It does not return an extended multi-month view in a single call. You can fork the API on Parse and revise it to chain multiple calendar requests across different centre dates to cover a longer planning window.
Does the API support return or multi-city itinerary searches?+
The current search_flights endpoint is structured for one-way searches between a single origin and destination pair. Return or multi-city itinerary queries are not currently covered. You can fork the API on Parse and revise it to add a return-flight endpoint combining two directional searches.
Are seat maps, baggage allowance details, or ancillary fees included in the responses?+
Seat maps and detailed ancillary fee breakdowns are not included. The fareFamilies array in search_flights and get_fare_calendar contains fare brand marketing text that may reference inclusions at a high level, but itemised baggage or seat fees are not exposed as discrete fields. You can fork the API on Parse and revise it to add an endpoint targeting that detail.
Page content last updated . Spec covers 4 endpoints from virginaustralia.com.
Related APIs in TravelSee all →
aircanada.com API
Search for Air Canada flights between any two airports and compare pricing across all fare families, from Basic to Business class, along with complete schedule and segment details. Find the perfect flight option with transparent pricing and full flight information to make your booking decision.
us.trip.com API
Search for flights across Trip.com and view a low-price calendar to find the cheapest travel dates for your destination. Compare flight options and prices to book your next trip at the best rates available.
emirates.com API
emirates.com API
skyscanner.com API
Search for flights and compare prices across multiple booking agents, while exploring airports and cities to plan your trip. View daily and monthly price calendars to find the best deals for your travel dates.
wizzair.com API
Search for Wizz Air flights and compare prices across dates with interactive price calendars, while discovering available routes and airports to plan your budget travel. Find the best fares for your desired destination and access complete flight timetables for any route.
skyscanner.co.in API
Search for flights worldwide and compare prices with autocomplete suggestions for airports and destinations. View price calendars to find the cheapest travel dates and explore real-time flight availability and pricing.
kayak.com.hk API
Search for flights and compare prices across airlines and routes, including flexible-date searches across multiple origin airports. View monthly price calendars to find the cheapest travel dates and get real-time fare information for any route.
almosafer.com API
Search and compare flights across multiple airlines with real-time pricing, filtering options, and a fare calendar to find the best deals. Look up airport details and airline information to plan your travel better.