Almosafer Flights Scraper – Saudi Arabia Fares
Pricing
from $0.50 / 1,000 results
Almosafer Flights Scraper – Saudi Arabia Fares
Scrape Almosafer (المسافر) flight fares for Saudi Arabia in SAR: one-way and round-trip prices across multiple routes with airlines, flight numbers, stops, layovers, baggage, refundability and seats left. Search routes from Jeddah, Riyadh, Dammam and more.
Pricing
from $0.50 / 1,000 results
Rating
0.0
(0)
Developer
Boring Internet Explorer
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
4 days ago
Last modified
Categories
Share
✈️ Almosafer المسافر Flights Scraper — Saudi Arabia (SAR)
Almosafer (المسافر) is Saudi Arabia's leading online travel agency, selling flights from 450+ airlines in Saudi riyals (SAR). This scraper runs a flight search for any route, date, cabin and passenger mix and returns every fare option as structured data — prices, airlines, flight numbers, stops, layovers, baggage, refundability and seats left — ready for price tracking, comparison and analysis.
Why use this scraper?
- 💰 Fare monitoring — track SAR prices on any route day by day
- 📊 Route benchmarking — compare airlines, direct vs connecting itineraries and cabins
- 🧳 Baggage and refund insights — see which fares include checked bags or are refundable
- 🏢 Travel agencies and OTAs — feed competitor price comparisons and dynamic pricing
- 📈 Market research — measure capacity, seat availability and low-cost carrier pricing in Saudi Arabia
- 🔔 Deal alerts — schedule runs and notify on price drops
- 🤖 AI and analytics pipelines — clean, flat JSON with full leg and segment detail
Search inputs
This is a flight actor, so the input is a set of dedicated search fields rather than URLs.
| Field | Type | Default | Description |
|---|---|---|---|
tripType | string | oneWay | oneWay or roundTrip. Round-trip results list outbound flights priced with the cheapest total round-trip fare. |
origin | string | — | 3-letter IATA code of the departure airport or city (e.g. JED, RUH, DMM). |
destination | string | — | 3-letter IATA code of the arrival airport or city (e.g. DXB, CAI, LON). |
departureDate | string | — | YYYY-MM-DD or relative to today (e.g. 14 days). |
returnDate | string | — | Required for round trips. YYYY-MM-DD or relative. |
adults | integer | 1 | Adults (12+). |
children | integer | 0 | Children (2–11). |
infants | integer | 0 | Infants (under 2), at most one per adult. Up to 9 passengers in total. |
cabinClass | string | Economy | Economy, PremiumEconomy, Business or First (First is shown by the site as Business fares). |
directFlightsOnly | boolean | false | Keep only non-stop itineraries. |
maxItems | integer | 50 | Maximum flights returned, cheapest first. |
proxyConfiguration | object | no proxy | Optional Apify proxy settings. |
Example input
{"tripType": "roundTrip","origins": ["JED", "RUH"],"destinations": ["DXB", "CAI"],"departureDate": "2026-11-20","returnDate": "2026-11-27","adults": 1,"cabinClass": "Economy","maxItems": 50,"proxyConfiguration": { "useApifyProxy": false }}
Output
Each flight option is stored as one record in the default dataset, cheapest first. Prices are numbers in SAR. For one-way searches price is the one-way fare for all travellers; for round trips it is the lowest total round-trip fare available with that outbound flight (priceScope: "roundTripFrom").
Example output
{"scrapedAt": "2026-10-07T16:29:23.551Z","url": "https://www.almosafer.com/en/flights/JED-DXB/2026-11-20/Economy/1Adult","title": "JED → DXB · Flynas · XY-509 · 14:30","price": 709.99,"currency": "SAR","country": "Saudi Arabia","market": "sa","itineraryId": "1c095a00XY-cda1b510_XY_ONE","tripType": "oneWay","priceScope": "oneWay","pricePerTraveller": 709.99,"basePrice": 445.99,"taxes": 264,"outboundPrice": 709.99,"origin": "JED","destination": "DXB","departureDate": "2026-11-20","returnDate": null,"adults": 1,"children": 0,"infants": 0,"cabinClass": "Economy","departureAirport": "JED","arrivalAirport": "DXB","departureDateTime": "2026-11-20T14:30:00","arrivalDateTime": "2026-11-20T18:30:00","durationMinutes": 180,"stops": 0,"airlines": ["Flynas"],"flightNumbers": ["XY-509"],"validatingAirline": "Flynas","refundable": false,"cabinBaggage": "1 x 7 kg","checkedBaggage": null,"seatsRemaining": 9,"hasFareFamilies": true,"tabbyEligible": true,"tamaraEligible": true,"loyaltyProgram": "flynas - nasmiles","legs": [{"direction": null,"departureAirport": "JED","arrivalAirport": "DXB","departureDateTime": "2026-11-20T14:30:00","arrivalDateTime": "2026-11-20T18:30:00","durationMinutes": 180,"stops": 0,"route": "JED - DXB","airlines": ["Flynas"],"flightNumbers": ["XY-509"],"layovers": [],"segments": [{"flightNumber": "XY-509","marketingAirline": "XY","operatingAirline": "XY","aircraft": null,"departureAirport": "JED","departureTerminal": "1","arrivalAirport": "DXB","arrivalTerminal": "1","departureDateTime": "2026-11-20T14:30:00","arrivalDateTime": "2026-11-20T18:30:00","durationMinutes": 180,"cabin": "Economy","seatsRemaining": 9}]}]}
Field reference
| Field | Type | Description |
|---|---|---|
scrapedAt | string | ISO 8601 scrape timestamp |
url | string | Almosafer search results page for this search |
title | string | Route, airline, first flight number and departure time |
price | number | Total price for all travellers (see Output) |
currency | string | SAR |
country / market | string | Saudi Arabia / sa |
itineraryId | string | Almosafer itinerary identifier |
tripType / priceScope | string | Search type; oneWay or roundTripFrom |
pricePerTraveller | number | Average price per traveller |
basePrice / taxes | number | Outbound fare before taxes and taxes |
outboundPrice | number | Price of the outbound flight alone |
origin / destination | string | Searched IATA codes |
departureDate / returnDate | string | Searched dates |
adults / children / infants | integer | Passenger mix |
cabinClass | string | Cabin of the fare |
departureAirport / arrivalAirport | string | Outbound airports |
departureDateTime / arrivalDateTime | string | Local outbound times |
durationMinutes | integer | Total outbound travel time |
stops | integer | Number of stops |
airlines / flightNumbers | array | Airlines and flight numbers |
validatingAirline | string | Ticketing airline |
refundable | boolean | Whether the fare is refundable |
cabinBaggage / checkedBaggage | string | Allowance; null checked baggage means not included |
seatsRemaining | integer | Seats left at this fare, when reported |
hasFareFamilies | boolean | Higher fare options exist |
tabbyEligible / tamaraEligible | boolean | Buy-now-pay-later eligibility |
loyaltyProgram | string | Airline loyalty programme |
legs | array | Per-leg detail: route, layovers (airport, terminal, minutes) and segments (aircraft, terminals, times, cabin) |
❓ FAQ
Which currency and country are used? Prices are in Saudi riyals (SAR) as shown to travellers in Saudi Arabia.
Can I search several routes at once? Yes. Provide multiple origins and destinations; each origin-destination pair is searched (same-airport pairs are skipped) and maxItems applies per pair.
Can I search by city name? Use IATA codes; city codes such as LON or NYC cover all airports in the city.
Does it return return-flight details for round trips? Results list outbound options priced with the lowest round-trip total. Run a separate one-way search for the return date to get return flights.
How are results ordered? Cheapest first, limited by maxItems.
How fresh is the data? Every run performs a live search, so prices and seats reflect the moment of scraping.
Is a proxy required? No, the default runs without a proxy. Enable Apify proxy if you scrape at high volume.
What if a route has no flights? The run finishes successfully with an empty dataset.
🔗 Want More Data?
- flyadeal Flight Fares Scraper
- flynas Flight Fares Scraper
- Riyadh Air Flights Scraper
- flydubai Fare Radar
🛠️ Need a custom scraper?
Need this scraper adapted to your use case — extra fields, additional filters, a different output format, or a new website? Reach out at boringinternetexplorer@gmail.com and we'll make it happen.