Operator coverage
Which intercity carriers serve which pairs of places, as one downloadable graph. It maps the reach of every carrier we hold, across every country they run in.
The graph holds 293,523 directed legs between 11,241 places, carried by 2,093 operators across 211 countries. 56.1% are mapped from an operator’s published service area covering both ends, which is evidence the carrier serves the corridor.
- 293,523Legs
- 2,093Operators
- 11,241Places
- 211Countries reached
What a leg in this file claims
164,657 of 293,523 legs, 56.1% of the graph, are mapped from an operator’s service area.
- Derived
- 164,657 legs, 56.1%. The carrier’s own published service area, a mapped route relation or an archival route file covers both places at a distance its mode plausibly carries people. Read it as: this carrier probably serves this corridor.
- Observed
- 128,866 legs, 43.9%. A register names the carrier and both endpoints: an interstate coach authorization, an interdepartmental timetable, or a port connection with a sailing seen on the snapshot date.
- Measured
- Every leg carries its basis in the file, so a reader can filter the graph on it and cite exactly the subset they used.
- Where the observed legs are
- 61,910 of the 128,866 observed legs touch Brazil, because its regulator publishes interstate coach authorizations and most regulators do not. 161 countries carry at least one observed leg and 50 carry none.
Evidence by mode
Air is built from a carrier feed rebuilt daily, filled in from an archive where that feed has never carried the pair. Rail comes from operator service areas and mapped route relations, and coach adds the national registers that publish authorisations.
| Mode | Legs | Operators | Observed | Derived | Derived share |
|---|---|---|---|---|---|
| Train | 105,808 | 456 | 14,786 | 91,022 | 86.0% |
| Coach | 116,410 | 724 | 85,900 | 30,510 | 26.2% |
| Flight | 60,175 | 653 | 26,652 | 33,523 | 55.7% |
| Ferry | 11,130 | 256 | 1,528 | 9,602 | 86.3% |
Coverage is concentrated
366,697 operator and leg pairs across 2,093 carriers, sorted by how much of the graph each one carries and cut into ten equal groups.
- 67.8%1 to 10%
- 15.4%11 to 20%
- 8.2%21 to 30%
- 4.2%31 to 40%
- 2.1%41 to 50%
- 1.1%51 to 60%
- 0.6%61 to 70%
- 0.3%71 to 80%
- 0.2%81 to 90%
- 0.1%91 to 100%
- Busiest 1%
- 21 carriers, 24.7% of all operator and leg pairs.
- Busiest 5%
- 105 carriers, 52.5% of all operator and leg pairs.
- Busiest 10%
- 209 carriers, 67.8% of all operator and leg pairs.
- Busiest 25%
- 523 carriers, 87.9% of all operator and leg pairs.
- Busiest 50%
- 1,047 carriers, 97.6% of all operator and leg pairs.
Operators by country
The graph reaches 211 countries. The 20 with the most legs are below, and the full table is in coverage_by_country.csv.
| Country | Carriers serving | Legs | Cross border | Observed | Places |
|---|---|---|---|---|---|
| Brazil | 267 | 63,865 | 0.6% | 96.9% | 1,384 |
| India | 128 | 29,128 | 6.3% | 71.6% | 1,041 |
| United States | 261 | 19,236 | 19.9% | 17.1% | 847 |
| Germany | 300 | 18,680 | 47.7% | 18.6% | 345 |
| China | 200 | 15,634 | 13.2% | 19.4% | 748 |
| United Kingdom | 242 | 13,351 | 34.4% | 19.7% | 340 |
| Russia | 210 | 13,322 | 17.4% | 0.1% | 503 |
| Italy | 233 | 12,915 | 48.6% | 29.0% | 294 |
| Spain | 204 | 11,483 | 38.6% | 21.0% | 207 |
| Japan | 189 | 9,815 | 8.2% | 19.9% | 546 |
| France | 232 | 8,663 | 55.9% | 33.1% | 139 |
| Poland | 107 | 7,746 | 50.0% | 14.4% | 131 |
| Türkiye | 189 | 6,372 | 32.3% | 36.1% | 225 |
| Indonesia | 70 | 5,666 | 9.7% | 41.9% | 238 |
| Thailand | 145 | 4,873 | 24.1% | 81.1% | 157 |
| Netherlands | 140 | 4,705 | 60.3% | 22.4% | 90 |
| Philippines | 132 | 4,230 | 11.9% | 34.3% | 256 |
| Canada | 112 | 4,065 | 41.5% | 30.8% | 155 |
| Austria | 120 | 3,779 | 88.6% | 21.4% | 29 |
| Greece | 180 | 3,601 | 59.1% | 30.0% | 99 |
Where the graph is thin
An absent row looks exactly like an absent service.
- One mode only
- 71 of the 211 countries the graph reaches are reached by a single mode. For 71 of them that mode is air: flights are in the file and there is no surface network at all.
- Barely reached
- 13 countries carry fewer than ten legs. 152 of the 11,241 places in the gazetteer carry no leg at all.
- In the registry, not in the graph
- 4 country codes have a registered carrier and no place in the gazetteer: CS, FO, NR, SZ. Those carriers contribute nothing to the graph.
- A code that is no longer a country
- The operator registry still files a carrier under CS, withdrawn from ISO 3166-1 in 2006. The row is kept and flagged rather than remapped.
What this file is not
Six things this file does not hold.
- Not a timetable
- Departure times, arrival times, calendars, fares, vehicles and seat counts all sit outside this file.
- Frequency is a weight
- The frequency column rises with how much evidence stands behind a leg: one count per authorization row for an observed coach leg, a route weight for an air leg. It is not departures per day and it is not comparable between modes.
- Detour is a constant
- The detour factor is one number per mode, applied to the great circle distance when a journey time is worked out. It is not a measured path ratio for the corridor it sits on.
- Direction is mostly symmetry
- The file holds 254,862 directed place pairs, and 252,128 of them also carry the opposite direction. A pair that appears one way only is usually how a register filed it.
- Endpoints are settlements
- Places come from a settlement gazetteer, so a corridor whose endpoint is too small to appear in it is missing entirely rather than marked absent.
- Absence is not evidence
- Register-backed coverage follows the regulators that publish openly, and grows with each new register we read.
Download
Version 1.0.0, as a Frictionless data package. Every resource carries a Table Schema describing every column, including how each one was built.
| File | Rows | Size | SHA-256 |
|---|---|---|---|
| data/coverage_by_country.csv | 215 | 33 kB | 657a4ff21a871f63 |
| data/legs.csv.gz | 293,523 | 2.8 MB | de5815bfddbdddea |
| data/legs.parquet | 293,523 | 2.4 MB | 3ec5000ce6365c9b |
| data/operators.csv | 2,093 | 360 kB | 3798e2faf5754ace |
| data/places.csv | 11,241 | 1.6 MB | 16bcff0bafc6cc73 |
| datapackage.json | 39 kB | b54112e199ac65ec |
- Citation
- Orlero (2026). Operator coverage, version 1.0.0. https://orlero.com/en-us/data/operator-coverage
- License
- CC BY 4.0. It also covers the EU database right, and attribution is the only condition.
- DOI
- Pending. Cite the URL and the version.
- Rebuild it
- node tools/data/operator-coverage-package.mjs regenerates every file here from the source graph. The output is deterministic, so the same commit gives the same bytes.
Where the graph came from
Attribution is given per package rather than per row: one leg can carry a carrier from a mapped route relation and another from an authorization register, so a single source column on the row would be false about one of them.
| Source | License | Last refreshed upstream |
|---|---|---|
| GeoNames | CC BY 4.0 | Rebuilt daily |
| Virtual Radar Server standing data | CC0 1.0 | Rebuilt daily |
| OpenFlights routes and airlines | ODbL 1.0 | August 6, 2014 |
| OurAirports | Public domain | Rebuilt daily |
| Mobility Database | CC0 1.0 for the catalogue; each feed carries its own licence | Continuously maintained |
| ANTT, Brazil: interstate coach authorisations | CC BY 4.0 | Continuously maintained |
| MTOP, Uruguay: interdepartmental coach timetables | CC BY 4.0 | Continuously maintained |
| Ferryhopper port connection graph | No published open licence | September 12, 2026 |
| OpenStreetMap route relations, via Overpass | ODbL 1.0 | Continuously maintained |