Diving into JSON with the SpaceX API and purrr

Dan Gray

2019/08/23

Summary

The data of the web and the machine age is typically free of schema. APIs provide a means to ingest this data into applications, databases and visualization tools. JSON is the go-to standard of storing nested data.

Using the brilliant purrr, and leveraging listviewer I explore and extract data from one of the SpaceX APIs.

# load libraries
library(listviewer)
library(jsonlite)
library(tidyverse)
library(purrr)
library(knitr)
library(kableExtra)
# setup
setwd("C:/Users/eoedd/Desktop//locstore/portfolio/static/data/")

# load input data
input <- read_json("past_launches.json")

# explore input
listviewer::jsonedit(input)

The previous launches .json file is an array of length 83 - with one list per launch. Each of these lists contains 24 elements, some themselves which are nested further of varying lengths and types.

# extract a particualr element
input %>%
  map(c(13,4,1,1,1)) %>% head(5)
## [[1]]
## [1] "Merlin1A"
## 
## [[2]]
## NULL
## 
## [[3]]
## NULL
## 
## [[4]]
## NULL
## 
## [[5]]
## NULL
# get mission-name
mnames <- map_chr(input, c(2))

head(mnames)
## [1] "FalconSat"            "DemoSat"              "Trailblazer"         
## [4] "RatSat"               "RazakSat"             "Falcon 9 Test Flight"
# build a LIST-COLUMN DF
(mdf <- input %>%
    set_names(mnames) %>% 
    enframe("mission_name", "mission_details"))
## # A tibble: 83 x 2
##    mission_name         mission_details
##    <chr>                <list>         
##  1 FalconSat            <list [24]>    
##  2 DemoSat              <list [24]>    
##  3 Trailblazer          <list [24]>    
##  4 RatSat               <list [23]>    
##  5 RazakSat             <list [23]>    
##  6 Falcon 9 Test Flight <list [23]>    
##  7 COTS 1               <list [23]>    
##  8 COTS 2               <list [23]>    
##  9 CRS-1                <list [23]>    
## 10 CRS-2                <list [23]>    
## # ... with 73 more rows

It is helpful to practice extracting the required elements, using the “name-shortcuts” on one single list.

Here map_df returns a data frame, by applying the extract [ operator to the lists within the data frame column named mission_details.

# define EXTRACTS on a SINGLE mission
one_mission <- mdf$mission_details[[1]]

# extract single element details
one_mission[c("flight_number", "launch_year", 
              "launch_date_local", "launch_success", "details")]
## $flight_number
## [1] 1
## 
## $launch_year
## [1] "2006"
## 
## $launch_date_local
## [1] "2006-03-25T10:30:00+12:00"
## 
## $launch_success
## [1] FALSE
## 
## $details
## [1] "Engine failure at 33 seconds and loss of vehicle"
# build a initial DF of basic details
launches_df <-map_df(mdf$mission_details, `[`, c("mission_name", "flight_number", "launch_year", 
                                   "launch_date_local", "launch_success"))

One has to be careful dealing with lists containing incomplete elements (NULLs) as the map_* functions do not handle these variations.

Here I define a function to replace NULLs with NA, so that all elements are kept when executing any map_* variant.

# define function to replace NULLs with NA
safe_extract <- function(list, index) {
  res <- list[index]
  null_here <- map_lgl(res, is.null)
  res[null_here] <- NA
  res
}

The pluck function facilitates simple extraction of single elements from within a nested list using integer positions or named strings.

Each additional accessor refers to another propagation down the chain of nesting. In this case, the .json file is well named making extraction uncomplicated.

# extract nested details of interest using "pluck"
# example: using numbered indices
mdf$mission_details %>% map(~ pluck(.,13,4,1,1,1)) %>% tail(5)
## [[1]]
## [1] "GOQUEST"
## 
## [[2]]
## NULL
## 
## [[3]]
## [1] "GOMSTREE"
## 
## [[4]]
## NULL
## 
## [[5]]
## NULL
# using names
rname <- mdf$mission_details %>% map_chr(~ pluck(.,"rocket","rocket_name")) %>%
  safe_extract() %>% unlist()
rtype <- mdf$mission_details %>% map_chr(~ pluck(.,"rocket","rocket_type")) %>% 
  safe_extract %>% unlist()

cserial <- mdf$mission_details %>% map_chr(~ pluck(.,"rocket","first_stage","cores",1,"core_serial")) %>%
  safe_extract() %>% unlist()
fcount <- mdf$mission_details %>% map_int(~ pluck(.,"rocket","first_stage","cores",1,"flight")) %>%
  safe_extract() %>% unlist()

lintent <- mdf$mission_details %>% map_lgl(~ pluck(.,"rocket","first_stage","cores",1,"landing_intent")) %>% 
  safe_extract() %>% unlist()
ltype<-mdf$mission_details %>% map(~ pluck(.,"rocket","first_stage","cores",1,"landing_type")) %>% 
  safe_extract() %>% unlist()

cust <-mdf$mission_details %>% map_chr(~ pluck(.,"rocket","second_stage","payloads",1,"customers",1)) %>%
  safe_extract() %>% unlist()
man <- mdf$mission_details %>% map_chr(~ pluck(.,"rocket","second_stage","payloads",1,"manufacturer")) %>%
  safe_extract() %>% unlist()
pload <- mdf$mission_details %>% map(~ pluck(.,"rocket","second_stage","payloads",1,"payload_mass_kg")) %>%
  safe_extract() %>% unlist()
orb <- mdf$mission_details %>% map_chr(~ pluck(.,"rocket","second_stage","payloads",1,"orbit")) %>%
  safe_extract() %>% unlist()
vlink <- mdf$mission_details %>% map_chr(~ pluck(.,"links","video_link")) %>%  
  safe_extract() %>% unlist()

Mutating the extracts to our original data frame to build a rectangular table of launch information.

# combine with initial DF
launches_df %>%  mutate(rocket_name = rname,
                        rocket_type = rtype,
                        core_serial = cserial,
                        flight_count = fcount,
                        landing_intent = lintent,
                        landing_type = ltype,
                        customer = cust,
                        manufacturer = man,
                        payload = pload,
                        orbit = orb,
                        youtube_video = vlink) ->launches_df
library(formattable)

launches_df %>% mutate(dt = row.names(.),
                       flight_count = color_bar("lightgreen")(flight_count)) %>% 
  select(dt, everything()) %>% 
  knitr::kable(escape = F) %>%
  kable_styling(bootstrap_options = c("striped"),
                font_size = 12)
dt mission_name flight_number launch_year launch_date_local launch_success rocket_name rocket_type core_serial flight_count landing_intent landing_type customer manufacturer payload orbit youtube_video
1 FalconSat 1 2006 2006-03-25T10:30:00+12:00 FALSE Falcon 1 Merlin A Merlin1A 1 FALSE NA DARPA SSTL 20.00 LEO https://www.youtube.com/watch?v=0a_00nJ_Y88
2 DemoSat 2 2007 2007-03-21T13:10:00+12:00 FALSE Falcon 1 Merlin A Merlin2A 1 FALSE NA DARPA SpaceX NA LEO https://www.youtube.com/watch?v=Lk4zQ2wP-Nc
3 Trailblazer 3 2008 2008-08-02T15:34:00+12:00 FALSE Falcon 1 Merlin C Merlin1C 1 FALSE NA NASA Space Dev NA LEO https://www.youtube.com/watch?v=v0w9p3U8860
4 RatSat 4 2008 2008-09-28T11:15:00+12:00 TRUE Falcon 1 Merlin C Merlin2C 1 FALSE NA SpaceX SpaceX 165.00 LEO https://www.youtube.com/watch?v=dLQ2tZEH6G0
5 RazakSat 5 2009 2009-07-13T15:35:00+12:00 TRUE Falcon 1 Merlin C Merlin3C 1 FALSE NA ATSB Satrec 200.00 LEO https://www.youtube.com/watch?v=yTaIDooc8Og
6 Falcon 9 Test Flight 6 2010 2010-06-04T14:45:00-04:00 TRUE Falcon 9 v1.0 B0003 1 FALSE NA SpaceX SpaceX NA LEO https://www.youtube.com/watch?v=nxSxgBKlYws
7 COTS 1 7 2010 2010-12-08T11:43:00-04:00 TRUE Falcon 9 v1.0 B0004 1 FALSE NA NASA(COTS) SpaceX NA LEO https://www.youtube.com/watch?v=cdLITgWKe_0
8 COTS 2 8 2012 2012-05-22T03:44:00-04:00 TRUE Falcon 9 v1.0 B0005 1 FALSE NA NASA(COTS) SpaceX 525.00 LEO https://www.youtube.com/watch?v=tpQzDbAY7yI
9 CRS-1 9 2012 2012-10-08T20:35:00-04:00 TRUE Falcon 9 v1.0 B0006 1 FALSE NA NASA (CRS) SpaceX 400.00 ISS https://www.youtube.com/watch?v=-Vk3hiV_zXU
10 CRS-2 10 2013 2013-03-01T15:10:00-04:00 TRUE Falcon 9 v1.0 B0007 1 FALSE NA NASA (CRS) SpaceX 677.00 ISS https://www.youtube.com/watch?v=ik0ElKl5kW4
11 CASSIOPE 11 2013 2013-09-29T09:00:00-07:00 TRUE Falcon 9 v1.1 B1003 1 TRUE Ocean MDA MDA 500.00 PO https://www.youtube.com/watch?v=uFefasS6bhc
12 SES-8 12 2013 2013-12-03T18:41:00-04:00 TRUE Falcon 9 v1.1 B1004 1 FALSE NA SES Orbital ATK 3170.00 GTO https://www.youtube.com/watch?v=aAj5xapImEs
13 Thaicom 6 13 2014 2014-01-06T14:06:00-04:00 TRUE Falcon 9 v1.1 B1005 1 FALSE NA Thaicom Orbital ATK 3325.00 GTO https://www.youtube.com/watch?v=AnSNRzMEmCU
14 CRS-3 14 2014 2014-04-18T15:25:00-04:00 TRUE Falcon 9 v1.1 B1006 1 TRUE Ocean NASA (CRS) SpaceX 2296.00 ISS https://www.youtube.com/watch?v=Od-lON4bTyQ
15 OG-2 Mission 1 15 2014 2014-07-14T11:15:00-04:00 TRUE Falcon 9 v1.1 B1007 1 TRUE Ocean Orbcomm Boeing 1316.00 LEO https://www.youtube.com/watch?v=lbHnSu-DLR4
16 AsiaSat 8 16 2014 2014-08-05T04:00:00-04:00 TRUE Falcon 9 v1.1 B1008 1 FALSE NA AsiaSat SSL 4535.00 GTO https://www.youtube.com/watch?v=essrkMGlw5s
17 AsiaSat 6 17 2014 2014-09-07T01:00:00-04:00 TRUE Falcon 9 v1.1 B1011 1 FALSE NA AsiaSat SSL 4428.00 GTO https://www.youtube.com/watch?v=39ninsyTRk8
18 CRS-4 18 2014 2014-09-21T01:52:00-04:00 TRUE Falcon 9 v1.1 B1010 1 TRUE Ocean NASA (CRS) SpaceX 2216.00 ISS https://www.youtube.com/watch?v=7YkCh7uOw1Y
19 CRS-5 19 2015 2015-01-10T05:47:00-04:00 TRUE Falcon 9 v1.1 B1012 1 TRUE ASDS NASA (CRS) SpaceX 2395.00 ISS https://www.youtube.com/watch?v=p7x-SumbynI
20 DSCOVR 20 2015 2015-02-11T19:03:00-04:00 TRUE Falcon 9 v1.1 B1013 1 TRUE Ocean NASA Sierra Nevada 570.00 ES-L1 https://www.youtube.com/watch?v=OvHJSIKP0Hg
21 ABS-3A / Eutelsat 115W B 21 2015 2015-03-02T23:50:00-04:00 TRUE Falcon 9 v1.1 B1014 1 FALSE NA ABS Boeing 1954.00 GTO https://www.youtube.com/watch?v=mN7lyaCBzT8
22 CRS-6 22 2015 2015-04-14T16:10:00-04:00 TRUE Falcon 9 v1.1 B1015 1 TRUE ASDS NASA (CRS) SpaceX 1898.00 ISS https://www.youtube.com/watch?v=csVpa25iqH0
23 TürkmenÄlem 52°E / MonacoSAT 23 2015 2015-04-27T19:03:00-04:00 TRUE Falcon 9 v1.1 B1016 1 FALSE NA Turkmenistan National Space Agency Thales Alenia Space 4707.00 GTO https://www.youtube.com/watch?v=nBwAYT_ogj4
24 CRS-7 24 2015 2015-06-28T10:21:00-04:00 FALSE Falcon 9 v1.1 B1018 1 TRUE ASDS NASA (CRS) SpaceX 2477.00 ISS https://www.youtube.com/watch?v=PuNymhcTtSQ
25 OG-2 Mission 2 25 2015 2015-12-22T21:29:00-04:00 TRUE Falcon 9 FT B1019 1 TRUE RTLS Orbcomm Boeing 2034.00 LEO https://www.youtube.com/watch?v=O5bTbVbe4e4
26 Jason 3 26 2016 2016-01-17T08:42:00-07:00 TRUE Falcon 9 v1.1 B1017 1 TRUE ASDS NASA Thales Alenia Space 553.00 PO https://www.youtube.com/watch?v=ivdKRJzl6y0
27 SES-9 27 2016 2016-03-04T19:35:00-04:00 TRUE Falcon 9 FT B1020 1 TRUE ASDS SES Boeing 5271.00 GTO https://www.youtube.com/watch?v=muDPSyO7-A0
28 CRS-8 28 2016 2016-04-08T16:43:00-04:00 TRUE Falcon 9 FT B1021 1 TRUE ASDS NASA (CRS) SpaceX 3136.00 ISS https://www.youtube.com/watch?v=7pUAydjne5M
29 JCSAT-2B 29 2016 2016-05-06T01:21:00-04:00 TRUE Falcon 9 FT B1022 1 TRUE ASDS SKY Perfect JSAT Group SSL 4696.00 GTO https://www.youtube.com/watch?v=L0bMeDj76ig
30 Thaicom 8 30 2016 2016-05-27T17:39:00-04:00 TRUE Falcon 9 FT B1023 1 TRUE ASDS Thaicom Orbital ATK 3100.00 GTO https://www.youtube.com/watch?v=zBYC4f79iXc
31 ABS-2A / Eutelsat 117W B 31 2016 2016-06-15T10:29:00-04:00 TRUE Falcon 9 FT B1024 1 TRUE ASDS ABS Boeing 1800.00 GTO https://www.youtube.com/watch?v=gLNmtUEvI5A
32 CRS-9 32 2016 2016-07-18T00:45:00-04:00 TRUE Falcon 9 FT B1025 1 TRUE RTLS NASA (CRS) SpaceX 2257.00 ISS https://www.youtube.com/watch?v=ThIdCuSsJh8
33 JCSAT-16 33 2016 2016-08-14T01:26:00-04:00 TRUE Falcon 9 FT B1026 1 TRUE ASDS SKY Perfect JCSAT Group SSL 4600.00 GTO https://www.youtube.com/watch?v=QZTCEO0gvLo
34 Amos-6 34 2016 2016-09-01T09:07:00-04:00 FALSE Falcon 9 FT B1028 1 TRUE ASDS Spacecom Israel Aerospace Industries 5500.00 GTO https://www.youtube.com/watch?v=_BgJEXQkjNQ
35 Iridium NEXT Mission 1 35 2017 2017-01-14T10:54:00-07:00 TRUE Falcon 9 FT B1029 1 TRUE ASDS Iridium Communications Thales Alenia Space 9600.00 PO https://www.youtube.com/watch?v=7WimRhydggo
36 CRS-10 36 2017 2017-02-19T10:39:00-04:00 TRUE Falcon 9 FT B1031 1 TRUE RTLS NASA (CRS) SpaceX 2490.00 ISS https://www.youtube.com/watch?v=giNhaEzv_PI
37 EchoStar 23 37 2017 2017-03-16T02:00:00-04:00 TRUE Falcon 9 FT B1030 1 FALSE NA EchoStar Airbus Defence and Space 5600.00 GTO https://www.youtube.com/watch?v=lZmqbL-hz7U
38 SES-10 38 2017 2017-03-30T18:27:00-04:00 TRUE Falcon 9 FT B1021 2 TRUE ASDS SES Airbus Defence and Space 5300.00 GTO https://www.youtube.com/watch?v=xsZSXav4wI8
39 NROL-76 39 2017 2017-05-01T07:15:00-04:00 TRUE Falcon 9 FT B1032 1 TRUE RTLS NRO Boeing NA LEO https://www.youtube.com/watch?v=EzQpkQ1etdA
40 Inmarsat-5 F4 40 2017 2017-05-15T19:21:00-04:00 TRUE Falcon 9 FT B1034 1 FALSE NA Inmarsat Boeing 6070.00 GTO https://www.youtube.com/watch?v=ynMYE64IEKs
41 CRS-11 41 2017 2017-06-03T17:07:00-04:00 TRUE Falcon 9 FT B1035 1 TRUE RTLS NASA (CRS) SpaceX 2708.00 ISS https://www.youtube.com/watch?v=JuZBOUMsYws
42 BulgariaSat-1 42 2017 2017-06-23T15:10:00-04:00 TRUE Falcon 9 FT B1029 2 TRUE ASDS Bulgaria Sat SSL 3669.00 GTO https://www.youtube.com/watch?v=Y8mLi-rRTh8
43 Iridium NEXT Mission 2 43 2017 2017-06-25T13:25:00-07:00 TRUE Falcon 9 FT B1036 1 TRUE ASDS Iridium Communications Thales Alenia Space 9600.00 PO https://www.youtube.com/watch?v=7tIwZg8F9b8
44 Intelsat 35e 44 2017 2017-07-05T19:35:00-04:00 TRUE Falcon 9 FT B1037 1 FALSE NA Intelsat Boeing 6761.00 GTO https://www.youtube.com/watch?v=MIHVPCj25Z0
45 CRS-12 45 2017 2017-08-14T12:31:00-04:00 TRUE Falcon 9 FT B1039 1 TRUE RTLS NASA (CRS) SpaceX 2910.00 ISS https://www.youtube.com/watch?v=vLxWsYx8dbo
46 FormoSat-5 46 2017 2017-08-24T11:50:00-07:00 TRUE Falcon 9 FT B1038 1 TRUE ASDS NSPO (Taiwan) NSPO 475.00 SSO https://www.youtube.com/watch?v=J4u3ZN2g_MI
47 Boeing X-37B OTV-5 47 2017 2017-09-07T09:50:00-04:00 TRUE Falcon 9 FT B1040 1 TRUE RTLS USAF Boeing Defense 4990.00 LEO https://www.youtube.com/watch?v=9M6Zvi-fFv4
48 Iridium NEXT Mission 3 48 2017 2017-10-09T05:37:00-07:00 TRUE Falcon 9 FT B1041 1 TRUE ASDS Iridium Communications Thales Alenia Space 9600.00 PO https://www.youtube.com/watch?v=SB4N4xF2B2w&feature=youtu.be
49 SES-11 / Echostar 105 49 2017 2017-10-11T18:53:00-04:00 TRUE Falcon 9 FT B1031 2 TRUE ASDS SES Airbus Defence and Space 5200.00 GTO https://www.youtube.com/watch?v=iv1zeGSvhIw
50 KoreaSat 5A 50 2017 2017-10-30T15:34:00-04:00 TRUE Falcon 9 FT B1042 1 TRUE ASDS KT Corporation Thales Alenia Space 3700.00 GTO https://www.youtube.com/watch?v=RUjH14vhLxA
51 CRS-13 51 2017 2017-12-15T10:36:00-05:00 TRUE Falcon 9 FT B1035 2 TRUE RTLS NASA (CRS) SpaceX 2205.00 ISS https://www.youtube.com/watch?v=OPHbqY9LHCs
52 Iridium NEXT Mission 4 52 2017 2017-12-22T17:27:23-08:00 TRUE Falcon 9 FT B1036 2 TRUE Ocean Iridium Communications Thales Alenia Space 9600.00 PO https://www.youtube.com/watch?v=wtdjCwo6d3Q
53 ZUMA 53 2018 2018-01-07T20:00:00-05:00 TRUE Falcon 9 FT B1043 1 TRUE RTLS Northrop Grumman Northrop Grumman NA LEO https://www.youtube.com/watch?v=0PWu3BRxn60
54 SES-16 / GovSat-1 54 2018 2018-01-31T16:25:00-05:00 TRUE Falcon 9 FT B1032 2 TRUE Ocean GovSat Orbital ATK 4230.00 GTO https://www.youtube.com/watch?v=ScYUA51-POQ
55 Falcon Heavy Test Flight 55 2018 2018-02-06T15:45:00-05:00 TRUE Falcon Heavy FT B1033 1 TRUE ASDS SpaceX Tesla 1350.00 HCO https://www.youtube.com/watch?v=wbSwFU6tY1c
56 Paz / Starlink Demo 56 2018 2018-02-22T06:17:00-08:00 TRUE Falcon 9 FT B1038 2 FALSE NA HisdeSAT Airbus Defence and Space 1350.00 SSO https://www.youtube.com/watch?v=-p-PToD2URA
57 Hispasat 30W-6 57 2018 2018-03-06T00:33:00-05:00 TRUE Falcon 9 FT B1044 1 FALSE NA Hispasat SSL 6092.00 GTO https://www.youtube.com/watch?v=Kpfrp-GMKKM
58 Iridium NEXT Mission 5 58 2018 2018-03-30T07:13:51-08:00 TRUE Falcon 9 FT B1041 2 FALSE NA Iridium Communications Thales Alenia Space 9600.00 PO https://www.youtube.com/watch?v=mp0TW8vkCLg
59 CRS-14 59 2018 2018-04-02T16:30:41-04:00 TRUE Falcon 9 FT B1039 2 FALSE NA NASA (CRS) SpaceX 2760.00 ISS https://www.youtube.com/watch?v=BPQHG-LevZM
60 TESS 60 2018 2018-04-18T18:51:00-04:00 TRUE Falcon 9 FT B1045 1 TRUE ASDS NASA Orbital ATK 350.00 HEO https://www.youtube.com/watch?v=aY-0uBIYYKk
61 Bangabandhu-1 61 2018 2018-05-11T16:14:00-04:00 TRUE Falcon 9 FT B1046 1 TRUE ASDS Bangladesh Gov Thales Alenia Space 3750.00 GTO https://www.youtube.com/watch?v=rQEqKZ7CJlk
62 Iridium NEXT Mission 6 62 2018 2018-05-22T12:47:58-08:00 TRUE Falcon 9 FT B1043 2 FALSE NA Iridium Communications Thales Alenia Space 4300.00 PO https://www.youtube.com/watch?v=I_0GgKfwCSk
63 SES-12 63 2018 2018-06-04T00:45:00-04:00 TRUE Falcon 9 FT B1040 2 FALSE NA SES Airbus Defence and Space 5383.85 GTO https://www.youtube.com/watch?v=2hcM5hqQ45s
64 CRS-15 64 2018 2018-06-29T05:42:00-04:00 TRUE Falcon 9 FT B1045 2 FALSE NA NASA (CRS) SpaceX 2410.00 ISS https://www.youtube.com/watch?v=ycMagB1s8XM
65 Telstar 19V 65 2018 2018-07-22T01:50:00-04:00 TRUE Falcon 9 FT B1047 1 TRUE ASDS Telesat SSL 7076.00 GTO https://www.youtube.com/watch?v=xybp6zLaGx4
66 Iridium NEXT Mission 7 66 2018 2018-07-25T04:39:26-07:00 TRUE Falcon 9 FT B1048 1 TRUE ASDS Iridium Communications Thales Alenia Space 9600.00 PO https://www.youtube.com/watch?v=vsDknmK30C0
67 Merah Putih 67 2018 2018-08-07T01:18:00-04:00 TRUE Falcon 9 FT B1046 2 TRUE ASDS Telkom SSL 5800.00 GTO https://www.youtube.com/watch?v=FjfQNBYv2IY
68 Telstar 18V 68 2018 2018-09-10T00:45:00-04:00 TRUE Falcon 9 FT B1049 1 TRUE ASDS Telesat SSL 7060.00 GTO https://www.youtube.com/watch?v=Apw3xqwsG1U
69 SAOCOM 1A 69 2018 2018-10-07T19:22:00-07:00 TRUE Falcon 9 FT B1048 2 TRUE RTLS CONAE INVAP 2800.00 SSO https://www.youtube.com/watch?v=vr_C6LQ7mHc
70 Es’hail 2 70 2018 2018-11-15T15:46:00-05:00 TRUE Falcon 9 FT B1047 2 TRUE ASDS Es’hailSat Mitsubishi Electric 3000.00 GTO https://www.youtube.com/watch?v=PhTbzc-BqKs&feature=youtu.be
71 SSO-A 71 2018 2018-12-03T10:34:00-08:00 TRUE Falcon 9 FT B1046 3 TRUE ASDS Spaceflight Industries, Inc Spaceflight Industries, Inc 4000.00 SSO https://www.youtube.com/watch?v=Wq8kS6UoOrQ
72 CRS-16 72 2018 2018-12-05T13:16:00-05:00 TRUE Falcon 9 FT B1050 1 TRUE RTLS NASA (CRS) SpaceX 2573.00 ISS https://www.youtube.com/watch?v=Esh1jHT9oTA
73 GPS III SV01 73 2018 2018-12-23T08:51:00-05:00 TRUE Falcon 9 FT B1054 1 FALSE NA USAF Lockheed Martin 4400.00 MEO https://youtu.be/yRiLPoy_Mzc
74 Iridium NEXT Mission 8 74 2019 2019-01-11T07:31:00-08:00 TRUE Falcon 9 FT B1049 2 TRUE ASDS Iridium Communications Thales Alenia Space 9600.00 PO https://youtu.be/VshdafZvwrg
75 Nusantara Satu (PSN-6) / S5 / Beresheet 75 2019 2019-02-21T20:45:00-05:00 TRUE Falcon 9 FT B1048 3 TRUE ASDS Pasifik Satelit Nusantara SSL 5000.00 GTO https://www.youtube.com/watch?v=XS0E35aYJcU
76 CCtCap Demo Mission 1 76 2019 2019-03-02T02:45:00-05:00 TRUE Falcon 9 FT B1051 1 TRUE ASDS NASA (CCtCap) SpaceX 12259.00 ISS https://youtu.be/2ZL0tbOZYhE
77 ArabSat 6A 77 2019 2019-04-11T18:35:00-04:00 TRUE Falcon Heavy FT B1055 1 TRUE ASDS Arabsat Lockheed Martin 6000.00 GTO https://youtu.be/TXMGu2d8c8g
78 CRS-17 78 2019 2019-05-04T02:48:00-04:00 TRUE Falcon 9 FT B1056 1 TRUE ASDS NASA (CRS) SpaceX 2482.00 ISS https://youtu.be/AQFhX5TvP0M
79 Starlink 1 (v0.9) 79 2019 2019-05-23T22:30:00-04:00 TRUE Falcon 9 FT B1049 3 TRUE ASDS SpaceX SpaceX 13620.00 VLEO https://www.youtube.com/watch?v=riBaVeDTEWI
80 RADARSAT Constellation 80 2019 2019-06-12T07:17:00-07:00 TRUE Falcon 9 FT B1051 2 TRUE RTLS CSA Maxar Technologies 1425.00 SSO https://youtu.be/8A2nJd9Urk8
81 STP-2 81 2019 2019-06-24T23:30:00-04:00 TRUE Falcon Heavy FT B1057 1 TRUE ASDS USAF Sierra Nevada Corporation 600.00 MEO https://youtu.be/WxH4CAlhtiQ
82 CRS-18 82 2019 2019-07-25T18:01:00-04:00 TRUE Falcon 9 FT B1056 2 TRUE RTLS NASA (CRS) SpaceX 2227.70 ISS https://youtu.be/SlgrxVuP5jk
83 Amos-17 83 2019 2019-08-06T18:52:00-04:00 TRUE Falcon 9 FT B1047 3 FALSE NA Spacecom Boeing Satellite Systems 6500.00 GTO https://youtu.be/fZh82-WcCuo