Flight

AFR1054

Flight history and live tracking for AFR1054, operated by Air France. Recent flights from the PlaneTrack independent receiver network, with departure and arrival times, aircraft used, and a real-time position feed.

Route

AirlineAir France
Typical originLFPG CHARLES DE GAULLE
Typical destinationDAAG HOUARI BOUMEDIENE
Distance740 nm

Flight history 256 flights since Aug 2025

DateFromToDepArrDurationAircraft
2026-10-02estimatedLFPGDAAG22:17 CEST23:00 CET1h 42mF-HEPJ
2026-10-01estimatedLFPBDAAG21:25 CEST22:06 CET1h 40mF-GKXV
2026-09-30estimated??05:57Z21:06Z15h 08mF-GKXC
2026-09-29estimatedLFPGDAAG21:59 CEST22:36 CET1h 36mF-GKXC
2026-09-28estimatedLFPGDAAG22:05 CEST22:46 CET1h 40mF-HEPF
2026-09-27estimated??05:50Z21:20Z15h 30mF-HEPD
2026-09-26partialDAAG?06:24 CETF-HEPF
2026-09-25LFPGDAAG22:08 CEST23:06 CET1h 57mF-HEPF
2026-09-24estimatedLFPGDAAG08:04 CEST22:44 CET15h 39mF-GKXY
2026-09-23estimatedLFPGDAAG07:54 CEST22:10 CET15h 15mF-HEPJ
2026-09-22LFPGDAAG21:35 CEST22:24 CET1h 48mF-HEPJ
2026-09-21LFPGDAAG22:25 CEST23:12 CET1h 46mF-HEPG
2026-09-20estimatedLFPGDAAG23:30 CEST00:06 CET1h 35mF-GKXQ
2026-09-19estimated??20:24Z20:56Z0h 32mF-GKXT
2026-09-18estimated??06:02Z20:30Z14h 27mF-GKXQ
2026-09-17estimatedLFPBDAAG21:29 CEST22:06 CET1h 36mF-GKXQ
2026-09-16estimatedLFPGDAAG21:30 CEST22:12 CET1h 41mF-GKXT
2026-09-15partialDAAG?06:37 CETF-HEPA
2026-09-14LFPBDAAG21:28 CEST22:15 CET1h 46mF-HEPA
2026-09-13estimatedLFPGDAAG07:52 CEST23:28 CET16h 35mF-GKXH
2026-09-12estimated??19:54Z21:30Z1h 35mF-GKXH
2026-09-11estimated??06:10Z21:32Z15h 21mF-GKXI
2026-09-10estimated??05:55Z20:58Z15h 03mF-HEPJ
2026-09-09estimated??05:58Z21:10Z15h 11mF-GTAJ
2026-09-08LFPBDAAG21:31 CEST22:24 CET1h 52mF-GTAJ
2026-09-06estimatedLFPGDAAG21:31 CEST22:24 CET1h 53mF-GKXS
2026-09-05estimatedLFPGDAAG07:31 CEST22:30 CET15h 58mF-GKXT
2026-09-04estimatedLFPGDAAG21:38 CEST22:24 CET1h 45mF-GKXT
2026-09-03estimatedLFPGDAAG08:08 CEST22:32 CET15h 23mF-GKXZ
Earlier flights (227) - back to 2025-08-15
DateFromToDepArrDurationAircraft
2026-09-02LFPGDAAG21:19 CEST22:08 CET1h 48mF-GKXZ
2026-09-01estimated??19:37Z21:27Z1h 50mF-GKXC
2026-08-31estimated??05:52Z21:02Z15h 09mF-HEPF
2026-08-30estimatedLFPGDAAG21:47 CEST22:42 CET1h 54mF-HEPF
2026-08-29estimatedLFPGDAAG07:35 CEST22:36 CET16h 00mF-GTAM
2026-08-28estimated??06:09Z22:10Z16h 00mF-GKXV
2026-08-27estimatedLFPGDAAG07:59 CEST23:18 CET16h 19mF-GKXV
2026-08-26estimated??06:05Z21:26Z15h 20mF-GTAK
2026-08-25partialLFPG?02:00 CESTF-GKXH
2026-08-24estimatedLFPGDAAG00:59 CEST00:58 CET0h 58mF-GKXH
2026-08-23estimatedLFPGDAAG07:54 CEST22:38 CET15h 43mF-GKXZ
2026-08-22estimatedLFPGDAAG22:33 CEST23:14 CET1h 40mF-GKXZ
2026-08-21estimated??19:59Z21:44Z1h 44mF-HEPF
2026-08-19estimatedLFPGDAAG22:17 CEST23:04 CET1h 47mF-GTAU
2026-08-18estimated??06:03Z21:48Z15h 44mF-GTAY
2026-08-17estimatedLFPGDAAG21:35 CEST22:26 CET1h 50mF-GTAY
2026-08-16partialDAAG?06:37 CETF-HEPA
2026-08-15estimatedLFPGDAAG09:04 CEST23:02 CET14h 57mF-GKXP
2026-08-14estimatedLFPGDAAG22:05 CEST22:56 CET1h 51mF-GKXP
2026-08-13estimatedLFPGDAAG07:50 CEST22:36 CET15h 45mF-GKXU
2026-08-12estimatedLFPGDAAG08:03 CEST22:40 CET15h 36mF-GKXJ
2026-08-11estimatedLFPGDAAG22:08 CEST23:08 CET1h 59mF-GKXJ
2026-07-23estimatedLFPGDAAG07:42 CEST22:36 CET15h 54mF-GKXJ
2026-07-22estimatedLFPGDAAG22:15 CEST23:06 CET1h 50mF-GKXJ
2026-07-21estimatedLFPGDAAG21:51 CEST22:32 CET1h 40mF-HEPK
2026-07-20estimatedLFPGDAAG07:55 CEST22:42 CET15h 47mF-GKXH
2026-07-19estimatedLFPGDAAG07:49 CEST22:52 CET16h 02mF-HEPJ
2026-07-18estimated??19:49Z21:24Z1h 34mF-HEPJ
2026-07-17estimated??05:55Z21:42Z15h 46mF-HEPK
2026-07-16estimatedLFPGDAAG07:37 CEST23:08 CET16h 30mF-GKXY
2026-07-15LFPGDAAG23:08 CEST23:56 CET1h 47mF-GKXY
2026-07-14estimatedLFPKDAAG07:37 CEST22:30 CET15h 52mF-GKXL
2026-07-13estimatedLFPGDAAG07:44 CEST22:46 CET16h 01mF-HEPG
2026-07-12estimatedLFPG?07:42 CEST21:16Z15h 33mF-HEPK
2026-07-11partialDAAG?06:20 CETF-GKXO
2026-07-10estimatedLFPGDAAG07:41 CEST23:14 CET16h 32mF-GKXO
2026-07-09LFPGDAAG22:25 CEST23:10 CET1h 44mF-GKXO
2026-07-08LFPMDAAG21:44 CEST22:28 CET1h 44mF-GKXI
2026-07-07estimatedLFPB?08:11 CEST22:03Z15h 51mF-GKXY
2026-07-06LFPBDAAG22:04 CEST22:52 CET1h 47mF-GKXY
2026-07-05estimatedLFPGDAAG08:00 CEST22:54 CET15h 54mF-GKXH
2026-07-04estimatedLFPB?07:26 CEST21:18Z15h 52mF-GKXI
2026-07-03partialDAAG?06:35 CETF-GKXN
2026-07-02estimatedLFPB?07:42 CEST22:58Z17h 15mF-GKXZ
2026-07-01estimatedLFPB?07:47 CEST21:02Z15h 14mF-HEPE
2026-06-29LFPBDAAG21:37 CEST22:24 CET1h 46mF-GKXH
2026-06-28LFPBDAAG21:48 CEST22:44 CET1h 55mF-HZFM
2026-06-27estimatedLFPBDAAG07:29 CEST22:52 CET16h 22mF-GKXO
2026-06-26estimatedLFPK?07:52 CEST23:36Z17h 43mF-HEPK
2026-06-25LFPGDAAG22:07 CEST22:58 CET1h 50mF-HEPK
2026-06-24estimatedLFPKDAAG07:46 CEST22:26 CET15h 40mF-GTAJ
2026-06-23estimatedLFPGDAAG07:46 CEST00:12 CET17h 25mF-HBND
2026-06-22estimatedDAAK?06:48 CET21:22Z15h 33mF-GKXM
2026-06-21estimatedLFPGDAAG22:25 CEST23:00 CET1h 34mF-GKXM
2026-06-20estimatedLFPG?07:40 CEST22:18Z16h 38mF-GKXP
2026-06-19estimatedLFPBDAAG07:50 CEST22:14 CET15h 23mF-GKXC
2026-06-18LFPGDAAG23:09 CEST00:08 CET1h 58mF-GKXC
2026-06-17LFPBDAAG21:50 CEST22:42 CET1h 51mF-GKXZ
2026-06-16estimatedDAAG?06:38 CET21:44Z16h 05mF-GKXY
2026-06-15partialDAAG?06:51 CETF-GTAZ
2026-06-14LFPBDAAG21:46 CEST22:38 CET1h 51mF-GTAZ
2026-06-13estimatedLFPBDAAG22:05 CEST22:48 CET1h 43mF-HBND
2026-06-12estimatedLFPG?07:51 CEST22:16Z16h 24mF-HZFM
2026-05-28estimatedLFPGDAAG21:39 CEST22:18 CET1h 38mF-HEPI
2026-05-27estimatedLFPGDAAG21:28 CEST22:16 CET1h 47mF-HEPI
2026-05-26estimatedLFPGDAAG21:27 CEST22:13 CET1h 45mF-HEPD
2026-05-25estimatedLFPGDAAG21:51 CEST22:30 CET1h 38mF-GRXF
2026-05-24estimatedDAAKDAAG06:41 CET22:30 CET15h 48mF-GRXF
2026-05-23estimatedLFPG?07:25 CEST21:32Z16h 06mF-GKXC
2026-05-22estimated?DAAG19:39Z22:22 CET1h 42mF-GKXC
2026-05-21estimatedLFPG?07:41 CEST21:06Z15h 24mF-GKXN
2026-05-20partialLFPB?03:28 CESTF-GKXZ
2026-05-19partialLFPG?04:17 CESTF-HEPB
2026-05-12estimatedLFPB?21:27 CEST21:10Z1h 42mF-HEPB
2026-05-11estimatedLFPB?07:54 CEST21:18Z15h 23mF-HEPD
2026-05-10estimatedDAAK?06:51 CET21:40Z15h 48mF-GRXF
2026-05-09estimated??06:30Z21:48Z15h 17mF-GKXH
2026-05-08estimatedLFPG?21:49 CEST21:32Z1h 42mF-GKXH
2026-05-07estimated??05:54Z22:46Z16h 51mF-GKXS
2026-05-06estimatedLFPBDAAG22:09 CEST22:50 CET1h 40mF-GKXS
2026-05-05estimatedLFPG?21:38 CEST21:18Z1h 39mF-GKXN
2026-05-04estimatedLFPG?08:06 CEST21:32Z15h 26mF-GKXH
2026-05-03estimatedLFPB?07:51 CEST21:06Z15h 14mF-HEPI
2026-05-02LFPBDAAG21:56 CEST22:56 CET1h 59mF-HEPI
2026-05-01estimatedLFPG?21:59 CEST21:34Z1h 34mF-GRXF
2026-04-30estimated??05:55Z21:28Z15h 32mF-HEPI
2026-04-29estimatedLFPG?22:06 CEST21:42Z1h 35mF-HEPI
2026-04-28partialDAAG?06:53 CETF-GTAU
2026-04-27partialDAAG?06:39 CETF-GKXI
2026-04-26partialDAAG?06:39 CETF-HEPB
2026-04-25partialDAAG?06:36 CETF-HEPG
2026-04-24estimated??05:49Z21:34Z15h 44mF-GKXL
2026-04-23estimated??19:42Z21:14Z1h 31mF-GKXL
2026-04-22estimated??05:42Z21:16Z15h 33mF-GKXC
2026-04-21estimatedLFPGDAAG07:56 CEST22:40 CET15h 43mF-HZFM
2026-04-20estimated??19:49Z21:32Z1h 42mF-HZFM
2026-04-19estimated??19:54Z20:50Z0h 55mF-GKXR
2026-04-18estimatedLFPGDAAG21:42 CEST22:24 CET1h 42mF-HEPK
2026-04-17estimatedLFPGDAAG21:31 CEST22:18 CET1h 46mF-HZFM
2026-04-16estimated??05:54Z21:34Z15h 39mF-HEPD
2026-04-15estimated??05:54Z21:48Z15h 53mF-GKXU
2026-04-14estimated??06:04Z20:58Z14h 53mF-HEPI
2026-04-13estimated??19:30Z21:04Z1h 33mF-HEPI
2026-04-12estimated??05:53Z21:10Z15h 16mF-HEPK
2026-04-11estimated??20:23Z22:12Z1h 48mF-HEPK
2026-04-05estimated??05:52Z21:08Z15h 16mF-GTAY
2026-04-04estimatedLFPGDAAG21:36 CEST22:18 CET1h 41mF-GTAY
2026-04-03estimatedLFPGDAAG22:31 CEST23:06 CET1h 35mF-GKXN
2026-04-02estimatedLFPGDAAG21:39 CEST22:12 CET1h 32mF-GKXZ
2026-03-31estimated??05:51Z21:20Z15h 28mF-GKXH
2026-03-30estimated??19:34Z20:58Z1h 23mF-GKXH
2026-03-29estimated??19:33Z20:58Z1h 24mF-HEPJ
2026-03-28estimated??20:02Z21:32Z1h 29mF-HEPG
2026-03-15estimated??05:17Z21:36Z16h 18mF-GKXJ
2026-03-14estimated?DAAG20:02Z22:26 CET1h 23mF-GKXJ
2026-03-13estimated??05:18Z21:58Z16h 39mF-GKXI
2026-03-12estimated??22:07Z23:44Z1h 36mF-GKXI
2026-03-11estimatedLFPGDAAG21:33 CET23:12 CET1h 39mF-GKXI
2026-03-10estimatedLFPGDAAG22:03 CET23:46 CET1h 42mF-GKXC
2026-03-09estimatedLFPGDAAG20:57 CET22:44 CET1h 46mF-HEPH
2026-03-08estimatedLFPGDAAG20:55 CET22:44 CET1h 49mF-HEPD
2026-03-07estimated??20:12Z21:56Z1h 44mF-GKXH
2026-03-06estimatedLFPGDAAG21:04 CET22:56 CET1h 52mF-GKXH
2026-03-05estimatedLFPGDAAG21:29 CET23:20 CET1h 51mF-GKXQ
2026-03-04estimatedLFPGDAAG21:21 CET23:10 CET1h 49mF-GKXP
2026-03-03estimatedLFPGDAAG21:05 CET22:50 CET1h 45mF-HEPB
2026-03-02estimatedLFPGDAAG21:28 CET23:20 CET1h 52mF-HEPB
2026-03-01estimatedLFPGDAAG21:06 CET22:46 CET1h 39mF-HEPE
2026-02-28estimatedLFPGDAAG21:15 CET23:02 CET1h 46mF-HEPE
2026-02-27LFPGDAAG20:50 CET22:52 CET2h 01mF-HZFM
2026-02-26LFPGDAAG21:21 CET23:16 CET1h 54mF-HEPE
2026-02-25LFPGDAAG20:57 CET23:00 CET2h 02mF-HEPG
2026-02-24LFPGDAAG21:03 CET23:04 CET2h 01mF-HZFM
2026-02-23LFPGDAAG21:02 CET22:56 CET1h 54mF-HEPJ
2026-02-22LFPGDAAG20:58 CET22:52 CET1h 54mF-GKXN
2026-02-21LFPGDAAG21:04 CET22:46 CET1h 42mF-HEPK
2026-02-20estimatedLFPGDAAG21:02 CET22:41 CET1h 39mF-GKXI
2026-02-19estimatedLFPGDAAG21:46 CET23:20 CET1h 33mF-GTAU
2026-02-18estimatedLFPGDAAG21:01 CET22:54 CET1h 52mF-GKXJ
2026-02-17estimatedLFPGDAAG06:42 CET22:54 CET16h 11mF-GTAM
2026-02-16estimatedLFPGDAAG21:16 CET22:48 CET1h 31mF-GTAM
2026-02-15estimatedLFPGDAAG22:10 CET23:56 CET1h 45mF-GKXJ
2026-02-14estimated?LFMN05:27Z22:44 CET16h 16mF-GTAZ
2026-02-13estimated??05:25Z21:54Z16h 28mF-HEPF
2026-02-12estimatedLFPGDAAG06:21 CET23:18 CET16h 56mF-GKXM
2026-02-11estimatedLFPG?21:20 CET22:04Z1h 43mF-GKXM
2026-02-10estimatedLFPGDAAG21:02 CET22:46 CET1h 44mF-GKXQ
2026-02-09LFPGDAAG21:58 CET23:41 CET1h 43mF-GKXZ
2026-02-08estimatedLFPGDAAG21:30 CET23:06 CET1h 36mF-GKXP
2026-02-07estimatedLFPGDAAG21:09 CET22:52 CET1h 42mF-HEPE
2026-02-06estimatedLFPGDAAG20:51 CET22:44 CET1h 52mF-HEPG
2026-02-05estimatedLFPGDAAG06:26 CET22:58 CET16h 31mF-HEPE
2026-02-04estimatedLFPGDAAG21:02 CET22:42 CET1h 40mF-HEPE
2026-02-03estimatedLFPGDAAG21:39 CET23:22 CET1h 43mF-GKXS
2026-02-02estimatedLFPGDAAG21:13 CET23:08 CET1h 55mF-GKXQ
2026-02-01LFPGDAAG21:05 CET22:50 CET1h 44mF-HEPI
2026-01-31estimatedLFPGDAAG20:59 CET22:38 CET1h 38mF-HEPH
2026-01-30LFPGDAAG21:12 CET22:58 CET1h 45mF-GKXP
2026-01-29estimatedLFPGDAAG21:00 CET22:42 CET1h 42mF-HEPK
2026-01-28estimatedLFPGDAAG21:11 CET22:48 CET1h 36mF-GTAZ
2026-01-27estimatedLFPGDAAG22:12 CET00:06 CET1h 54mF-GKXM
2026-01-26LFPGDAAG20:56 CET22:44 CET1h 47mF-GKXS
2026-01-25estimatedLFPGDAAG22:17 CET00:02 CET1h 44mF-HEPI
2026-01-24estimatedLFPGDAAG21:24 CET23:04 CET1h 40mF-GKXY
2026-01-23estimatedLFPGDAAG21:38 CET23:34 CET1h 55mF-GKXY
2026-01-22estimated??20:34Z22:14Z1h 39mF-HEPE
2026-01-21estimated??20:05Z21:52Z1h 47mF-HEPG
2026-01-20estimatedLFPGDAAG22:24 CET00:10 CET1h 46mF-HEPG
2026-01-19estimatedLFPGDAAG21:16 CET23:02 CET1h 46mF-HEPG
2026-01-18estimatedLFPGDAAG20:57 CET22:44 CET1h 47mF-GKXL
2026-01-09estimatedLFPGDAAG21:08 CET22:40 CET1h 31mF-GKXU
2026-01-08estimated??20:53Z22:36Z1h 42mF-HEPI
2026-01-07estimatedLFPGDAAG21:50 CET23:18 CET1h 27mF-GKXQ
2026-01-06estimatedLFPGDAAG21:52 CET23:26 CET1h 33mF-GKXS
2026-01-05estimatedLFPGDAAG23:00 CET00:40 CET1h 40mF-GKXO
2026-01-04estimated??20:10Z21:48Z1h 38mF-GKXU
2026-01-03estimatedLFPGDAAG21:43 CET23:22 CET1h 38mF-GKXI
2026-01-02estimatedLFPGDAAG22:09 CET23:54 CET1h 44mF-GKXT
2026-01-01estimatedLFPGDAAG21:44 CET23:22 CET1h 38mF-HEPJ
2025-12-31estimatedLFPGDAAG21:25 CET22:58 CET1h 32mF-GKXJ
2025-12-30estimatedLFPGDAAG21:16 CET22:52 CET1h 36mF-HBNB
2025-12-29estimatedLFPGDAAG21:18 CET22:58 CET1h 39mF-GTAU
2025-12-28estimatedLFPGDAAG22:03 CET23:44 CET1h 40mF-HEPE
2025-12-27estimatedLFPGDAAG21:23 CET23:04 CET1h 40mF-GKXR
2025-12-26estimatedLFPGDAAG21:21 CET23:00 CET1h 38mF-GKXH
2025-12-25estimatedLFPGDAAG21:06 CET22:46 CET1h 39mF-HEPG
2025-12-24estimatedLFPGDAAG21:27 CET23:06 CET1h 39mF-HEPD
2025-12-23estimatedLFPGDAAG21:35 CET23:14 CET1h 38mF-GTAU
2025-12-22estimatedLFPGDAAG20:52 CET22:38 CET1h 45mF-GKXR
2025-12-21estimated??20:26Z22:18Z1h 51mF-GKXR
2025-12-20estimatedLFPGDAAG20:52 CET22:36 CET1h 43mF-HEPI
2025-12-19estimatedLFPGDAAG22:49 CET00:26 CET1h 36mF-GTAQ
2025-12-18estimatedLFPGDAAG21:16 CET22:54 CET1h 38mF-GKXJ
2025-12-17estimatedLFPGDAAG21:31 CET23:00 CET1h 29mF-GTAY
2025-12-16estimatedLFPGDAAG21:13 CET22:52 CET1h 38mF-GKXN
2025-12-15estimatedLFPGDAAG21:32 CET23:14 CET1h 41mF-HEPA
2025-12-14estimatedLFPGDAAG21:58 CET23:36 CET1h 38mF-HEPJ
2025-12-13estimatedLFPGDAAG21:02 CET22:44 CET1h 41mF-GTAU
2025-12-12estimatedLFPGDAAG21:09 CET22:50 CET1h 41mF-GTAY
2025-12-11estimatedLFPGDAAG21:14 CET22:54 CET1h 39mF-GKXR
2025-12-10estimatedLFPGDAAG23:01 CET00:44 CET1h 42mF-HEPJ
2025-12-09estimatedLFPGDAAG21:17 CET23:10 CET1h 52mF-GKXH
2025-11-27estimatedLFPGDAAG21:51 CET23:20 CET1h 28mF-GKXH
2025-11-26estimatedLFPGDAAG21:32 CET22:52 CET1h 20mF-HEPI
2025-10-29estimatedLFPGDAAG20:58 CET22:38 CET1h 39mF-GKXT
2025-10-28estimatedLFPBDAAG21:05 CET22:40 CET1h 34mF-GKXR
2025-10-27estimated??05:56Z22:16Z16h 19mF-HEPE
2025-10-26estimated??05:21Z21:28Z16h 06mF-GRXF
2025-10-25estimated??06:14Z21:58Z15h 43mF-GKXY
2025-10-24estimated??05:50Z21:54Z16h 04mF-HEPB
2025-10-23estimatedLFPGDAAG23:36 CEST00:10 CET1h 33mF-HEPB
2025-10-22estimated??05:55Z21:50Z15h 54mF-GKXJ
2025-10-21estimatedLFPGDAAG17:31 CEST22:46 CET6h 14mF-GKXT
2025-10-20partialDAAG?06:40 CETF-HEPA
2025-10-14estimatedLFPGDAAG21:52 CEST22:26 CET1h 33mF-GRHY
2025-10-13estimatedLFPGDAAG22:12 CEST22:48 CET1h 35mF-GTAY
2025-10-07estimatedLFPGDAAG22:14 CEST22:46 CET1h 31mF-GRHY
2025-10-06estimatedLFPGDAAG22:31 CEST23:02 CET1h 30mF-GTAK
2025-10-05estimatedLFPGDAAG16:59 CEST22:56 CET6h 57mF-HEPB
2025-08-26estimated??00:00Z03:52Z3h 51mF-GKXH
2025-08-25estimated??15:11Z23:57Z8h 46mF-GKXH
2025-08-24estimated??00:00Z02:15Z2h 15mF-GTAS
2025-08-23partialLFPG?07:56 CESTF-GKXI
2025-08-21estimatedLFPGDAAG09:20 CEST22:50 CET14h 29mF-HEPD
2025-08-17partialDAAG?01:00 CETF-GTAT
2025-08-16estimatedLFPGDAAG22:59 CEST00:58 CET2h 59mF-GTAT
2025-08-15partialLFPG?02:33 CESTF-HEPG

Times are local to each airport. Hover for UTC. Flights marked estimated were completed with route prediction or partial coverage; partial records have a confirmed departure but no reliable arrival fix.

Open the live map Full history CSV API access
Follow this flight

Get an email when AFR1054 flies + if it runs late.

Data access

Live positions and 365-day history for this flight are available through the PlaneTrack API (commercial use from $29/month) and as one-off CSV extracts from our archive (from $9.99, with a free one-day sample). Questions: [email protected]