Emirates Skywards Miles Scraper avatar

Emirates Skywards Miles Scraper

Pricing

from $0.40 / 1,000 results

Go to Apify Store
Emirates Skywards Miles Scraper

Emirates Skywards Miles Scraper

Skywards miles calculator at scale: pull Emirates & flydubai earn miles (Skywards + Tier) for every route, cabin & tier in one run. Price a whole network in minutes.

Pricing

from $0.40 / 1,000 results

Rating

5.0

(1)

Developer

Leafy

Leafy

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

14 days ago

Last modified

Share

Emirates & flydubai Skywards Miles Scraper

Bulk-calculate Skywards earn miles across Emirates (EK) and flydubai (FZ) for any route, cabin, and tier — thousands of routes in one run, straight to a clean spreadsheet.

Feed it a list of airports (or exact route pairs), pick your airlines, cabins, and Skywards tiers, and get back every combination priced out: Skywards Miles and Tier Miles for each fare bucket. No login, no manual clicking through the Miles Calculator one route at a time.


Why use this

The official Miles Calculator prices one airline, one route, one cabin, one tier at a time through a web form. Pricing a network by hand is days of clicking. This actor:

  • Fans out automatically across every airline × origin × destination × cabin × tier you give it.
  • Covers Emirates and flydubai in one run, with the correct fare buckets for each.
  • Returns clean, flat rows ready for CSV / Excel / Google Sheets / a database.
  • Streams results live — rows appear as they're scraped, so big jobs show progress immediately.
  • Scales to hundreds of thousands of rows (the tools this is based on processed 500k+).

What you get

One row per airline × route × cabin × tier × fare. Export to CSV, JSON, or Excel, or pull via API.

{
"Direction": "One Way",
"Airline": "Emirates",
"Leaving from": "DXB",
"Going to": "LHR",
"Cabin Class": "Business",
"Skywards Tier": "Gold",
"Fare": "Business Flex",
"Skywards Miles": 6900,
"Tier Miles": 5250,
"Notes": "batch-6",
"Scraped At": "2026-07-10T20:03:48.504Z"
}
FieldTypeDescription
DirectionstringOne Way or Round Trip
AirlinestringEmirates or flydubai
Leaving fromstringOrigin IATA code
Going tostringDestination IATA code
Cabin ClassstringEconomy, Premium Economy, Business, First (flydubai: Economy/Business only)
Skywards TierstringBlue, Silver, Gold, Platinum
FarestringEmirates: e.g. Business Flex, Economy Saver, First Flexplus. flydubai: Economy Lite/Value/Flex, Business
Skywards MilesintegerRedeemable miles earned
Tier MilesintegerMiles counting toward tier status
Notesstring | nullWhatever you typed in the optional Notes input, copied onto every row (else null)
Scraped AtstringISO 8601 UTC timestamp of when that route was scraped

How it works

  1. Builds every airline × route × cabin × tier combination from your input (or your explicit route pairs), skipping cabins an airline doesn't offer (e.g. flydubai First).
  2. Calls the public Miles Calculator API once per combination, in parallel, with the right airline code.
  3. Expands each response into fare rows using each airline's own fare buckets (Emirates: FlexPlus/Flex/Saver/Special, First = FlexPlus+Flex; flydubai Economy: Lite/Value/Flex; flydubai Business: Business).
  4. Normalizes the miles and streams each row to your dataset live.

Input

{
"milesType": "earn",
"airlines": ["Emirates", "flydubai"],
"routeInputMethod": "cross",
"crossOrigins": ["DXB"],
"crossDestinations": ["LHR", "JFK", "KTM"],
"cabinClasses": ["Economy", "Business", "First"],
"tiers": ["Blue", "Gold"],
"journeyType": "One Way",
"notes": "batch-6"
}
FieldTypeRequiredDefaultWhat it does
milesTypestringyesearnearn is the only option today. spend / upgrade are shown in the dropdown but coming soon — picking one stops the run with a note.
airlinesstring[]yesbothEmirates, flydubai, or both. flydubai only prices Economy/Business.
routeInputMethodstringyescrossWhich route option you're using: cross (Option 1), network (Option 2), or pairs (Option 3) — see below.
cabinClassesstring[]yesall 4Cabins to price (unsupported ones are skipped per airline).
tiersstring[]yesall 4Skywards tiers to price.
journeyTypestringnoOne WayOne Way or Round Trip.
notesstringnoFree text copied into a Notes column on every row — tag/label your run.
maxConcurrencyintno10Parallel API calls (1–50).
maxRequestRetriesintno3Retries before a request is logged as failed.

Routes: pick ONE option, fill in only its field(s)

All three options live in the Routes section. routeInputMethod decides which field(s) the actor reads.

OptionrouteInputMethodWhat it pricesIts field(s)
Option 1 — Cross (default)crossEvery origin paired with every destinationcrossOrigins and crossDestinations (free text)
Option 2 — Origin → allnetworkEvery airport the airline serves, from your origin(s)networkOrigins (dropdown, multi-select, default DXB)
Option 3 — Route pairspairsExactly the FROM-TO routes you listroutePairs (free text, e.g. "DXB-LHR")

Option 2 — one airline, all its routes

Pick a single airline, choose Option 2, and set the origin:

{ "airlines": ["flydubai"], "routeInputMethod": "network", "networkOrigins": ["DXB"], "cabinClasses": ["Economy", "Business"], "tiers": ["Blue", "Gold", "Silver", "Platinum"] }

That prices every flydubai route from DXB (146 destinations). Emirates works the same way (144 airports). You can select several origins — each is priced against the whole network, so 3 origins ≈ 3× the calls (the run warns you). Tip: these runs are large, so narrow with cabins/tiers to keep cost down.


FAQ

What's the difference between Emirates and flydubai here? Both earn Emirates Skywards miles. Emirates (EK) has 4 cabins and FlexPlus/Flex/Saver/Special fares; flydubai (FZ) has Economy (Lite/Value/Flex) and Business only. The actor handles each airline's fare structure automatically and tags every row with the Airline.

Which miles are these — earning or redeeming? Earning. Skywards Miles are redeemable miles you earn; Tier Miles count toward Silver/Gold/Platinum status. Spend (redemption) and cabin-upgrade miles are coming soon — they're listed under milesType in the input so you can see what's next.

Why do Emirates First-class rows only show FlexPlus and Flex? First doesn't sell Saver/Special buckets, so only those two are returned — matching the calculator.

I selected First but got no flydubai rows for it. flydubai doesn't offer Premium Economy or First — those cabins are simply skipped for flydubai. Emirates rows still include them.

Some combos came back blank. Why? Neither airline flies (or partner-prices) every airport pair. Blank rows mean the combo was checked and returned no miles — the actor keeps them so you can see it was checked (the Fare/miles columns are empty).

What's the Notes column? Whatever you type in the optional Notes input is copied onto every row — handy for tagging a batch, client, or date. Leave it blank and the column is empty.

What's Scraped At? An ISO 8601 UTC timestamp of when each route was fetched, so you always know how fresh a row is.

Do I need a proxy? No — proxy is off and the actor runs directly (the endpoint is open and global). Advanced users can still route through Apify Proxy via the API (see below).

Are the numbers guaranteed accurate? They come straight from the live Miles Calculator and change when earn rates are updated. Always treated as a snapshot at run time (see Scraped At).


Known airport codes

Airport fields are free text — enter any 3-letter IATA code. For reference, here are all the airports Emirates and flydubai currently serve (253 in total; use the originAll method to hit a whole network without typing them):

ABJ ABV ACC ADD ADL AER AHB AJF AKL ALA ALG AMD AMM AMS AQI AQJ ARN ASB ASM ATH AWZ
BAH BCN BEG BEY BGW BGY BHX BKK BLQ BLR BND BNE BOG BOM BOS BRU BSL BSR BTS BUD BUS
CAG CAI CAN CCJ CCU CDG CEB CFU CGK CGP CHC CKY CMB CMN COK CPH CPT CRK CTA
DAC DAR DBV DEL DFW DME DMM DPS DSS DUB DUR DUS DXB DYU
EAM EBB EBL EDI ELQ ESB EVN EWR EZE FCO FEG FRA FRU
GAN GBB GIG GIZ GLA GRU GVA GYD HAM HAN HAS HBE HEL HGA HKG HKT HND HOF HRE HRI HYD
IAD IAH ICN IEV IFN IKA ISB IST ISU JED JFK JIB JMK JNB JRO JTR JUB
KBV KHI KIH KIX KRK KRR KRT KTM KUF KUL KUT KWI KZN
LAD LAX LCA LED LGW LHE LHR LIS LJU LKO LOS LRR LUN LYP LYS
MAA MAD MAN MBA MCO MCT MCX MED MEL MEX MGQ MHD MIA MLA MLE MNL MRU MRV MUC MUX MXP
NBO NCE NCL NJF NMA NQZ NRT NUM ODS OLB OPO ORD OSL OSS OTP OVB
PEE PEK PER PEW PNH PRG PSA PVG PZU RGN RIX ROV RUH
SAW SEA SEZ SFO SGN SIN SJJ SKD SKG SKP SKT SLL SOF SSH STN SVO SVX SYD SYZ SZG
TBS TGD TIF TIV TLL TLV TPE TRV TUN TUU UET UFA ULH
VCE VIE VKO VNO VOG VOZ WAW YNB YUL YYZ ZAG ZNZ ZRH ZVH ZVJ ZYL

Contact / feedback

Bug reports and feature requests (redemption miles, upgrade pricing, more Skywards partner airlines) welcome — email the developer @leafydevjr@gmail.com.