Norwegian Air Flights Scraper: Low-Fare Prices
Pricing
from $8.32 / 1,000 results
Norwegian Air Flights Scraper: Low-Fare Prices
Scrape Norwegian Air (norwegian.com) cheapest daily fares between two airports by IATA code over a date range. Get price, currency, cabin, stops, sold-out flags and booking deep links. Export to JSON, CSV or Excel.
Pricing
from $8.32 / 1,000 results
Rating
0.0
(0)
Developer
Scrapers Lat
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
14 hours ago
Last modified
Categories
Share
Norwegian Air Flights Scraper
Here is one real result, with every field the actor returns:
{"origin": "OSL","originName": "Oslo","destination": "LON","destinationName": "London (All airports)","departureDate": "2026-09-15","departureDateTime": "2026-09-15T00:00:00","flightNumber": null,"currency": "GBP","stops": 0,"transit": false,"isInterliningRoute": false,"soldOut": false,"direction": "outbound","isLowestFareOfDay": true,"recordType": "fare","priceMin": 39,"priceMax": 129,"priceAvg": 71.5,"cheapestDay": "2026-09-15","pricedDays": 8,"aiCheapestDays": null,"aiPriceRange": null,"aiVolatility": null,"aiRecommendation": null,"aiInsight": null,"source": "fare-calendar","deepLink": "https://www.norwegian.com/uk/booking/flight-tickets/select-flight/?adults=1&children=0&infants=0¤cy=GBP&origin=OSL&destination=LON&outbound=2026-09-15&isRoundTrip=false","observedAt": "2026-08-16T03:26:59.016Z","error": null,"fareType": "LowFare","cabin": "Economy","price": 39,"displayPrice": "39.00","standardPrice": null,"isAgreementPrice": false,"fareOptions": null}
This actor reads Norwegian Air's public low-fare calendar and returns the cheapest available fare for every day on a route over the date range you choose, for one-way or round trips, in the currency and cabin you pick.
📥 Input · 📤 Output · 💰 Pricing · ▶️ Examples
Table of contents
- What it does
- Use cases
- Quickstart
- Input reference
- Output reference
- Example output record
- Run via API and CLI
- Fetch results
- Billing and limits
- FAQ and troubleshooting
- More scrapers at scrapers.lat
What it does
Give it two airport IATA codes and a date range and it returns the cheapest Norwegian Air fare for each day in that range, not just the single cheapest day. Each day is one priced row by default.
- Every day of the route across your date range, with the lowest fare Norwegian sells that day.
- Prices in GBP, NOK, EUR, USD, SEK or DKK, for Economy or Premium cabin.
- Round trips in one run: enable Include return flights to also scan the return leg (tagged
direction: "inbound"). - Sold-out days, transit/connection flags, agreement-price flag and a ready-to-open booking deep link per day.
isLowestFareOfDaymarks the cheapest day across the range for each leg.
Every run also adds a free per-route price summary on each row: priceMin, priceMax, priceAvg, cheapestDay and pricedDays across your date range, so you can spot the cheapest day to fly without any extra processing.
What it does not do: Norwegian's public low-fare calendar exposes the cheapest fare per day, not each individual flight number or a per-flight seat map, so those fields are not populated. The source field is always fare-calendar so you know which tier produced each row.
Use cases
- Norwegian Air fare tracking and flight price monitoring for a route over weeks or months.
- Find the cheapest day to fly Oslo to London (and any other Norwegian route) from a single run.
- Cheap flight deal alerts and fare drop detection for travel deal sites and newsletters.
- Feed a travel metasearch, fare comparison or price prediction dataset with daily low-fare data.
- Build a flexible-dates fare calendar for a booking tool or trip planner app.
- Budget travel research: compare Economy vs Premium fares across GBP, NOK, EUR, USD, SEK or DKK.
- Airline revenue and competitor pricing analysis across the Norwegian Air network.
- Get an AI book-now-vs-wait recommendation per route to decide whether fares are likely to rise.
Quickstart
{"origin": "OSL","destination": "LON","departureDateFrom": "2026-09-15","departureDateTo": "2026-09-22","currency": "GBP","maxFlights": 50}
Round trip in NOK, one row per flight with fares nested:
{"origin": "OSL","destination": "LON","departureDateFrom": "2026-09-15","departureDateTo": "2026-09-18","includeReturn": true,"returnDateFrom": "2026-09-25","returnDateTo": "2026-09-28","currency": "NOK","collapseFares": true}
Input reference
| Name | Type | Required | Description | Example |
|---|---|---|---|---|
origin | string | yes | Departure airport IATA code. Use LON for all London airports. | "OSL" |
destination | string | yes | Arrival airport IATA code. | "LON" |
departureDateFrom | string | no | Earliest outbound date (YYYY-MM-DD). Empty picks a near-future date; past dates move forward. | "2026-09-15" |
departureDateTo | string | no | Latest outbound date (YYYY-MM-DD). Empty uses the same day as from. | "2026-09-22" |
tripType | string | no | oneWay or round. round also scans the return leg. | "oneWay" |
includeReturn | boolean | no | Also scan the return leg over the return date range, tagged inbound. | true |
returnDateFrom | string | no | Earliest inbound date (YYYY-MM-DD). Round trips only. | "2026-09-25" |
returnDateTo | string | no | Latest inbound date (YYYY-MM-DD). Round trips only. | "2026-09-28" |
collapseFares | boolean | no | Nest the day's fare in a fareOptions array instead of flat fields. | false |
cabinType | string | no | economy or premium. Premium only on routes that sell it. | "economy" |
currency | string | no | GBP, NOK, EUR, USD, SEK or DKK. | "GBP" |
includeTransit | boolean | no | Include fares with a transit/connection. Off returns direct only. | false |
adults | integer | no | Number of adult passengers (1 to 9). | 1 |
withAiPriceInsight | boolean | no | Paid AI add-on ($0.012 per route, off by default, disabled for free users). Adds one AI price analysis per route: cheapest days, price range, volatility and a book-now-vs-wait recommendation. | false |
maxFlights | integer | no | Max priced day records to collect. Free plans are capped at 10. | 50 |
Output reference
| Name | Type | Description |
|---|---|---|
origin | string | Origin airport IATA code. |
originName | string | Origin airport name. |
destination | string | Destination airport IATA code. |
destinationName | string | Destination airport name. |
departureDate | string | Departure day (YYYY-MM-DD). |
departureDateTime | string | Departure day as an ISO date-time. |
flightNumber | null | Not exposed at the calendar tier. |
fareType | string | null | Fare type (LowFare / Premium LowFare). Null in collapsed mode. |
cabin | string | null | Cabin (Economy / Premium). Null in collapsed mode. |
price | number | null | Cheapest fare for the day. Null when sold out. |
displayPrice | string | null | Formatted display price from Norwegian. |
standardPrice | number | null | Standard (non-discounted) price when present. |
currency | string | Currency of the prices. |
isAgreementPrice | boolean | Whether the fare is an agreement/corporate price. |
stops | number | Number of transit stops (0 for direct). |
transit | boolean | Whether the cheapest option requires a transit. |
isInterliningRoute | boolean | Whether the route is an interlining route. |
soldOut | boolean | No fare available for the day. |
fareOptions | array | null | All fares for the day (collapsed mode only). |
direction | string | outbound or inbound. |
isLowestFareOfDay | boolean | Lowest fare across the requested range for this leg. |
recordType | string | fare for a priced day row, ai_price_insight for a per-route AI summary row. |
priceMin | number | null | Free enrichment: lowest fare for this route/leg over the range. |
priceMax | number | null | Free enrichment: highest fare for this route/leg over the range. |
priceAvg | number | null | Free enrichment: average fare for this route/leg over the range. |
cheapestDay | string | null | Free enrichment: cheapest date to fly for this route/leg. |
pricedDays | number | null | Free enrichment: number of days with a bookable fare. |
aiCheapestDays | array | null | AI add-on: best day(s) to fly per the AI analysis. Null unless withAiPriceInsight is on. |
aiPriceRange | string | null | AI add-on: plain-English summary of the price range and volatility. |
aiVolatility | string | null | AI add-on: fare volatility rating (low, medium, high). |
aiRecommendation | string | null | AI add-on: book-now-vs-wait recommendation. |
aiInsight | string | null | AI add-on: short buyer-facing insight for the route. |
source | string | Data source tier (fare-calendar). |
deepLink | string | Booking link for the day. |
observedAt | string | When the record was scraped (ISO). |
error | string | null | Error message on a failed day, otherwise null. |
Example output record
Round-trip run with collapseFares enabled, prices in NOK (real inbound record):
{"origin": "LON","originName": "London (All airports)","destination": "OSL","destinationName": "Oslo","departureDate": "2026-09-25","departureDateTime": "2026-09-25T00:00:00","flightNumber": null,"currency": "NOK","stops": 0,"transit": false,"isInterliningRoute": false,"soldOut": false,"direction": "inbound","isLowestFareOfDay": true,"source": "fare-calendar","deepLink": "https://www.norwegian.com/uk/booking/flight-tickets/select-flight/?adults=1&children=0&infants=0¤cy=NOK&origin=LON&destination=OSL&outbound=2026-09-25&isRoundTrip=false","observedAt": "2026-08-16T03:27:36.596Z","error": null,"fareType": null,"cabin": null,"price": 748,"displayPrice": " 748","fareOptions": [{"fareType": "LowFare","cabin": "Economy","price": 748,"displayPrice": " 748","standardPrice": null,"isAgreementPrice": false}]}
Run via API and CLI
Start a run with the Apify API:
curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~norwegian-flights-scraper/runs?token=$APIFY_TOKEN" \-H "content-type: application/json" \-d '{"origin":"OSL","destination":"LON","departureDateFrom":"2026-09-15","departureDateTo":"2026-09-22","currency":"GBP"}'
With the Apify CLI:
apify call scrapers_lat/norwegian-flights-scraper \--input='{"origin":"OSL","destination":"LON","departureDateFrom":"2026-09-15","departureDateTo":"2026-09-22"}'
Fetch results
$curl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=$APIFY_TOKEN&format=json"
Swap format=json for csv or xlsx to export a spreadsheet.
Billing and limits
- Pay per result: you are charged one
resultevent ($0.008) for each priced day record pushed to the dataset. The free per-route price summary (priceMin,priceMax,priceAvg,cheapestDay,pricedDays) is included at no extra cost. - AI price insight (optional): when you enable
withAiPriceInsight, the actor adds oneai_price_insightevent ($0.012 per route) for a buyer-facing AI analysis of the fare calendar. It is off by default, disabled for free Apify users, and billed only when a usable insight is produced (never on an AI error or missing key). - No charge on failure: rows that carry only an
error(for example a route Norwegian does not fly) are not billed. - Free Apify plans are capped at 10 results per run. Paid plans run uncapped up to your
maxFlights. - A spend cap is enforced: once your configured
maxTotalChargeUsdis reached the run stops emitting and charging further results.
FAQ and troubleshooting
Why is flightNumber always null?
Norwegian's public low-fare calendar returns the cheapest fare per day, not each individual flight, so flight numbers and per-flight seat maps are not available. Every row is tagged source: "fare-calendar" for transparency.
Can I get every flight of the day, not just the cheapest? Not from the public calendar. This actor returns the lowest bookable fare per day for the route, which is what the Norwegian low-fare calendar exposes.
A day returned no price.
That day is either sold out or has no Norwegian service. It is marked soldOut: true with price: null.
Why did my run return an error row?
If Norwegian does not operate the route (or the dates are unavailable), you get one row with an error message and no charge.
Which currency and cabin do I get?
Whatever you set in currency and cabinType. Premium prices only appear on routes where Norwegian sells a Premium cabin.
More scrapers at scrapers.lat
- Ryanair Flights Scraper
- Frontier Flights Scraper
- Wizz Air Flights Scraper
Browse the full catalog at scrapers.lat.
