Home / How we check fares
The methodWhere every number
comes from.
A fare on this site is a fact with a source and a date, never an estimate. This page says how we read them, how often we go back, and what we refuse to print.
One rule
Nothing is priced that an operator or a transport authority has not published. A train fare comes from the railway's own tariff page or ticket shop. A regulated taxi fare comes from the city's tariff order, not from a blog that quoted it. A coach fare comes from the coach company. If none of those exists, the option is described and left unpriced: a metered taxi is described as metered, and a "from" price is shown as a floor, never as the price.
The rule is enforced before a page can exist. Each record is checked when the site is built, and a fare, a timetable or a destination without a source URL and a verified date stops the build.
What we read, and how
For each of the 214 airports in 187 cities we open the operator's page for every way into the city that has a published fare: rail, metro, tram, bus, coach, boat, and the regulated fixed-fare taxi where the city sets one. From each we record the adult single fare, any group or return ticket that changes the total for a party, the first and last departure, the journey time, where the service actually leaves you, and the conditions that matter on arrival (luggage, validation, contactless).
Each fact is labelled by where it came from. Official means the operator or the authority stated it. Secondary means a reputable source reported it and we could not find the primary; the page says so, and the fact is re-checked sooner.
How often we go back
| Source | Re-check due | Withdrawn if not re-checked |
|---|---|---|
| Official (operator or authority) | 90 days | 180 days |
| Secondary | 45 days | 120 days |
"Withdrawn" is literal: the site cannot be published while any record is past its window. The date each airport's fares were last reviewed is in the page's structured data and in the sitemap, and the newest record on the site was reviewed on .
How the totals are made
Every option is priced for one to eight travelers. A per-person fare is multiplied; a group ticket is applied where the operator sells one; a per-vehicle fare (a fixed taxi rate, a pre-booked car) is not multiplied at all. That is the whole point of the site: the cheapest way for one person is often not the cheapest for four, and each page says at which party size the answer changes.
Prices are shown in the currency the operator charges, and a leg sold in another currency keeps its own. We do not convert.
How "Recommended" is decided
"Cheapest" and "fastest" are facts. "Recommended" is a judgement, so we make it with one rule, in numbers, applied the same way at every airport — the rule transport planners call generalised cost. Each option's fare for your party is added to the time it takes, on board, waiting and changing, with time valued at EUR 15 an hour per traveler. The lowest total is recommended, and the line under the badge says what it buys you over the cheapest option.
- Waiting counts as half the service's headway, never more than 15 minutes; a timetabled service with no stated headway is charged the full 15.
- A change of vehicle costs 15 minutes on top of the connection time: a platform to find, a second ticket, luggage carried twice.
- Anything that must be booked ahead costs each traveler 15 minutes.
- A "from" price is scored 25% above itself, because that is roughly what "from" turns out to mean, and it is named as a starting price wherever it wins.
- Fares in other currencies are compared at the European Central Bank's reference rates of 2026-10-30, or, for the 8 currencies the ECB does not publish (Albanian lek, Macedonian denar, Moldovan leu, convertible mark, Georgian lari, Armenian dram, UAE dirham, Qatari riyal), at each one's own central bank's official rate of its own date, and for the Peruvian sol, the Colombian peso, the Argentine peso, the Vietnamese dong and the New Taiwan dollar, which neither the ECB nor their own banks quote against the euro, at a cross rate from two official rates of the same day, both cited; the table below lists every rate the site uses, with its publisher and its day, and the 2026 Index's table shows only the rates of that frozen edition. The prices you see are never converted.
- A service that runs only part of the day — a night bus, or a coach with a morning-only timetable — is never recommended for "any time"; choose an arrival hour it covers and it competes like the rest.
Because a group's time counts once per person, a taxi becomes the recommendation for a family well before it becomes the cheapest thing on the page — and the page says at which party size that happens. Nothing about who pays us a commission enters the calculation: the rule reads the record and the exchange rates, and a check in the build refuses to publish if it ever reads anything else.
The exchange rates we use
Only to compare fares in different currencies; a price is always shown in the currency it is sold in.
| Currency | Per euro | Publisher | Day |
|---|---|---|---|
| Pound sterling (GBP) | 0.8338 | European Central Bank | 2026-10-30 |
| Swiss franc (CHF) | 0.9194 | European Central Bank | 2026-10-30 |
| Swedish krona (SEK) | 10.978 | European Central Bank | 2026-10-30 |
| Norwegian krone (NOK) | 10.312 | European Central Bank | 2026-10-30 |
| Danish krone (DKK) | 7.4735 | European Central Bank | 2026-10-30 |
| Polish złoty (PLN) | 4.4038 | European Central Bank | 2026-10-30 |
| Hungarian forint (HUF) | 366.33 | European Central Bank | 2026-10-30 |
| Czech koruna (CZK) | 24.353 | European Central Bank | 2026-10-30 |
| Romanian leu (RON) | 5.3447 | European Central Bank | 2026-10-30 |
| Turkish lira (TRY) | 55.8015 | European Central Bank | 2026-10-30 |
| Icelandic króna (ISK) | 136 | European Central Bank | 2026-10-30 |
| Japanese yen (JPY) | 175.68 | European Central Bank | 2026-10-30 |
| Thai baht (THB) | 37.683 | European Central Bank | 2026-10-30 |
| Singapore dollar (SGD) | 1.4282 | European Central Bank | 2026-10-30 |
| Hong Kong dollar (HKD) | 8.7652 | European Central Bank | 2026-10-30 |
| South Korean won (KRW) | 1491.76 | European Central Bank | 2026-10-30 |
| Malaysian ringgit (MYR) | 4.5325 | European Central Bank | 2026-10-30 |
| Indonesian rupiah (IDR) | 20275.17 | European Central Bank | 2026-10-30 |
| Mexican peso (MXN) | 21.1237 | European Central Bank | 2026-10-30 |
| US dollar (USD) | 1.1172 | European Central Bank | 2026-10-30 |
| Canadian dollar (CAD) | 1.5606 | European Central Bank | 2026-10-30 |
| Brazilian real (BRL) | 6.0692 | European Central Bank | 2026-10-30 |
| Albanian lek (ALL) | 91.97 | Bank of Albania | 2026-09-25 |
| Macedonian denar (MKD) | 61.633 | National Bank of the Republic of North Macedonia | 2026-10-04 |
| Moldovan leu (MDL) | 20.1068 | National Bank of Moldova | 2026-10-04 |
| Convertible mark (BAM) | 1.95583 | Central Bank of Bosnia and Herzegovina | 2026-10-03 |
| Georgian lari (GEL) | 2.9163 | National Bank of Georgia | 2026-10-22 |
| Armenian dram (AMD) | 405.23 | Central Bank of Armenia | 2026-10-22 |
| UAE dirham (AED) | 4.1102 | Central Bank of the UAE | 2026-10-22 |
| Qatari riyal (QAR) | 4.086 | Qatar Central Bank | 2026-10-23 |
| Peruvian sol (PEN) | 3.8554 | Central Reserve Bank of Peru and the European Central Bank | 2026-10-26 |
| Colombian peso (COP) | 3521.1 | Banco de la República and the European Central Bank | 2026-10-27 |
| Argentine peso (ARS) | 1715.7 | Central Bank of Argentina and the European Central Bank | 2026-10-27 |
| Vietnamese dong (VND) | 28684 | State Bank of Vietnam and the European Central Bank | 2026-10-23 |
| New Taiwan dollar (TWD) | 36.425 | Central Bank of the Republic of China (Taiwan) and the European Central Bank | 2026-10-22 |
Where to buy
When a ticket is sold in more than one place, its button opens a list of where to buy it. Our partners come first: they resell the same ticket and pay us a commission when you buy through them, and among them the one that pays more is listed higher. The operator's own site follows and pays us nothing — unless its own booking link is a partner programme, in which case it leads the list. Each seller sets its own price; the fare printed on the ticket is always the operator's.
That order is the only thing a commission touches. Which option is recommended, and the order of the options on every results page, come from the rule above and nothing else.
A few more partner links sit beside the board, never on it, in a separate "Partner offers" band, coloured apart from the transport options and labelled as paying us a commission: an eSIM for the country (Airalo), luggage storage (Radical Storage, or Bounce where Radical Storage lists no places), a check for a delayed or cancelled flight (AirHelp), car hire at island and resort airports (Discover Cars), and, at an airport where no pre-booked transfer is priced, a link to a transfer site (intui.travel or GetTransfer). The band appears on airport, route and destination pages. On the page for a train or bus line, and on the page for a station or district in the city, a box in the same colour as that band sets what four travelers pay on the public transport beside the price of a partner's private car for four (Welcome Pickups or Kiwitaxi), so a group can weigh the two. On a station or district page that car is priced to the city centre, and the box says the partner quotes your own address. It is outside the board and has no part in the ranking.
The transfer index
The European airport transfer index puts every airport on one scale, so it is the one place the site converts fares to euro. It reads the same records by the same rules, then adds its own: only firm fares rank, never a "from" price; each finding says what was measured and how many airports stand behind it; each edition is frozen on the day it is published. How the index is made sets out the method, the definitions, the rates and what is left out.
What we never do
- Print a fare we could not trace to its publisher.
- Invent a distance or a journey time; where none is published, the line is omitted.
- Let a booking commission change the order of the results or the option we recommend. Some links earn us a commission and are marked as sponsored; the fares beside them are the operator's own, not the seller's.
- Rank an option that does not reach the center as though it did. A cheaper ticket to the wrong station is not cheaper.
Found an error?
Fares change between our checks. If you paid a different price, or a service has moved, write to hello@airporttocitycenter.com with the airport, the option and, if you have it, a link or a photo of the tariff. We re-read the source and correct the record; the page's review date moves with it.
See also: who makes this site · what it stores.