spacex 1.0.2 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (126) hide show
  1. checksums.yaml +5 -5
  2. data/.github/workflows/ruby.yml +26 -0
  3. data/.gitignore +1 -0
  4. data/.rubocop.yml +6 -0
  5. data/.rubocop_todo.yml +1 -1
  6. data/CHANGELOG.md +54 -1
  7. data/CLAUDE.md +55 -0
  8. data/Dangerfile +28 -0
  9. data/Gemfile +12 -1
  10. data/README.md +52 -510
  11. data/docs/v3.md +525 -0
  12. data/docs/v4.md +179 -0
  13. data/lib/spacex/base_request.rb +8 -8
  14. data/lib/spacex/capsules.rb +10 -12
  15. data/lib/spacex/company.rb +7 -0
  16. data/lib/spacex/cores.rb +11 -14
  17. data/lib/spacex/crew.rb +15 -0
  18. data/lib/spacex/{dragon_capsules.rb → dragons.rb} +14 -16
  19. data/lib/spacex/history.rb +9 -2
  20. data/lib/spacex/landpads.rb +23 -0
  21. data/lib/spacex/launches.rb +35 -11
  22. data/lib/spacex/launchpads.rb +23 -0
  23. data/lib/spacex/models.rb +16 -0
  24. data/lib/spacex/payloads.rb +31 -2
  25. data/lib/spacex/rockets.rb +26 -3
  26. data/lib/spacex/ships.rb +22 -24
  27. data/lib/spacex/starlink.rb +16 -0
  28. data/lib/spacex/version.rb +1 -1
  29. data/lib/spacex.rb +2 -17
  30. data/spacex.gemspec +6 -9
  31. data/spec/coverage_helper.rb +5 -0
  32. data/spec/fixtures/spacex/v4/capsules/all.yml +122 -0
  33. data/spec/fixtures/spacex/v4/capsules/one.yml +89 -0
  34. data/spec/fixtures/spacex/v4/company.yml +80 -0
  35. data/spec/fixtures/spacex/v4/cores/all.yml +76 -0
  36. data/spec/fixtures/spacex/v4/cores/one.yml +75 -0
  37. data/spec/fixtures/spacex/v4/crew/all.yml +92 -0
  38. data/spec/fixtures/spacex/v4/crew/one.yml +74 -0
  39. data/spec/fixtures/spacex/v4/dragons/all.yml +101 -0
  40. data/spec/fixtures/spacex/v4/dragons/one.yml +189 -0
  41. data/spec/fixtures/spacex/v4/history/all.yml +85 -0
  42. data/spec/fixtures/spacex/v4/history/one.yml +168 -0
  43. data/spec/fixtures/spacex/v4/landpads/all.yml +85 -0
  44. data/spec/fixtures/spacex/v4/landpads/one.yml +172 -0
  45. data/spec/fixtures/spacex/v4/launches/all.yml +85 -0
  46. data/spec/fixtures/spacex/v4/launches/latest.yml +84 -0
  47. data/spec/fixtures/spacex/v4/launches/next.yml +84 -0
  48. data/spec/fixtures/spacex/v4/launches/one.yml +167 -0
  49. data/spec/fixtures/spacex/v4/launches/past.yml +85 -0
  50. data/spec/fixtures/spacex/v4/launches/upcoming.yml +97 -0
  51. data/spec/fixtures/spacex/v4/launchpads/all.yml +139 -0
  52. data/spec/fixtures/spacex/v4/launchpads/one.yml +225 -0
  53. data/spec/fixtures/spacex/v4/payloads/all.yml +85 -0
  54. data/spec/fixtures/spacex/v4/payloads/one.yml +167 -0
  55. data/spec/fixtures/spacex/v4/roadster.yml +90 -0
  56. data/spec/fixtures/spacex/v4/rockets/all.yml +76 -0
  57. data/spec/fixtures/spacex/v4/rockets/one.yml +84 -0
  58. data/spec/fixtures/spacex/v4/ships/all.yml +164 -0
  59. data/spec/fixtures/spacex/v4/ships/one.yml +248 -0
  60. data/spec/fixtures/spacex/v4/starlink/all.yml +17713 -0
  61. data/spec/fixtures/spacex/v4/starlink/one.yml +17798 -0
  62. data/spec/spacex/base_request_spec.rb +112 -0
  63. data/spec/spacex/capsules_spec.rb +19 -28
  64. data/spec/spacex/company_spec.rb +26 -0
  65. data/spec/spacex/cores_spec.rb +18 -31
  66. data/spec/spacex/crew_spec.rb +27 -0
  67. data/spec/spacex/dragons_spec.rb +39 -0
  68. data/spec/spacex/history_spec.rb +16 -40
  69. data/spec/spacex/landpads_spec.rb +35 -0
  70. data/spec/spacex/launches_spec.rb +28 -628
  71. data/spec/spacex/launchpads_spec.rb +34 -0
  72. data/spec/spacex/payloads_spec.rb +27 -51
  73. data/spec/spacex/roadster_spec.rb +5 -29
  74. data/spec/spacex/rockets_spec.rb +26 -194
  75. data/spec/spacex/ships_spec.rb +20 -51
  76. data/spec/spacex/starlink_spec.rb +28 -0
  77. data/spec/spacex/version_spec.rb +12 -0
  78. data/spec/spec_helper.rb +3 -9
  79. metadata +106 -137
  80. data/.ruby-version +0 -1
  81. data/.travis.yml +0 -21
  82. data/lib/spacex/api_info.rb +0 -7
  83. data/lib/spacex/company_info.rb +0 -7
  84. data/lib/spacex/endpoint.rb +0 -3
  85. data/lib/spacex/landing_pads.rb +0 -11
  86. data/lib/spacex/launch_pads.rb +0 -11
  87. data/lib/spacex/missions.rb +0 -18
  88. data/spec/fixtures/spacex/api_info/info.yml +0 -65
  89. data/spec/fixtures/spacex/capsules/C202.yml +0 -123
  90. data/spec/fixtures/spacex/capsules.yml +0 -83
  91. data/spec/fixtures/spacex/company_info/info.yml +0 -129
  92. data/spec/fixtures/spacex/cores/B1041.yml +0 -123
  93. data/spec/fixtures/spacex/cores.yml +0 -62
  94. data/spec/fixtures/spacex/dragon_capsules/info/dragon1.yml +0 -131
  95. data/spec/fixtures/spacex/dragon_capsules/info.yml +0 -77
  96. data/spec/fixtures/spacex/history/info/4.yml +0 -62
  97. data/spec/fixtures/spacex/history/info.yml +0 -62
  98. data/spec/fixtures/spacex/landing_pads/info/LZ-4.yml +0 -70
  99. data/spec/fixtures/spacex/landing_pads/info.yml +0 -68
  100. data/spec/fixtures/spacex/launch_pads/info/vafb_slc_4e.yml +0 -71
  101. data/spec/fixtures/spacex/launch_pads/info.yml +0 -104
  102. data/spec/fixtures/spacex/launches/68.yml +0 -69
  103. data/spec/fixtures/spacex/launches/all.yml +0 -62
  104. data/spec/fixtures/spacex/launches/info.yml +0 -62
  105. data/spec/fixtures/spacex/launches/latest.yml +0 -245
  106. data/spec/fixtures/spacex/launches/next.yml +0 -123
  107. data/spec/fixtures/spacex/launches/past.yml +0 -62
  108. data/spec/fixtures/spacex/launches/upcoming.yml +0 -64
  109. data/spec/fixtures/spacex/launches.yml +0 -62
  110. data/spec/fixtures/spacex/missions/F3364BF.yml +0 -157
  111. data/spec/fixtures/spacex/missions/info.yml +0 -62
  112. data/spec/fixtures/spacex/payloads/RatSat.yml +0 -62
  113. data/spec/fixtures/spacex/payloads/info.yml +0 -62
  114. data/spec/fixtures/spacex/roadster/info.yml +0 -133
  115. data/spec/fixtures/spacex/rockets/info/falcon1.yml +0 -139
  116. data/spec/fixtures/spacex/rockets/info/invalid.yml +0 -61
  117. data/spec/fixtures/spacex/rockets/info.yml +0 -105
  118. data/spec/fixtures/spacex/ships/info/AMERICANCHAMPION.yml +0 -125
  119. data/spec/fixtures/spacex/ships/info.yml +0 -139
  120. data/spec/spacex/api_info_spec.rb +0 -16
  121. data/spec/spacex/company_info_spec.rb +0 -27
  122. data/spec/spacex/dragon_capsules_spec.rb +0 -107
  123. data/spec/spacex/endpoint_spec.rb +0 -9
  124. data/spec/spacex/landing_pads_spec.rb +0 -72
  125. data/spec/spacex/launch_pads_spec.rb +0 -77
  126. data/spec/spacex/missions_spec.rb +0 -35
@@ -0,0 +1,97 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://api.spacexdata.com/v4/launches/upcoming
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ User-Agent:
11
+ - Faraday v2.14.1
12
+ Accept-Encoding:
13
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
14
+ Accept:
15
+ - "*/*"
16
+ response:
17
+ status:
18
+ code: 200
19
+ message: OK
20
+ headers:
21
+ Date:
22
+ - Sat, 21 Mar 2026 19:44:09 GMT
23
+ Content-Type:
24
+ - application/json; charset=utf-8
25
+ Content-Length:
26
+ - '19544'
27
+ Connection:
28
+ - keep-alive
29
+ Access-Control-Allow-Origin:
30
+ - "*"
31
+ Access-Control-Expose-Headers:
32
+ - spacex-api-cache,spacex-api-response-time
33
+ Alt-Svc:
34
+ - h3=":443"; ma=86400
35
+ Cache-Control:
36
+ - max-age=20
37
+ Content-Security-Policy:
38
+ - 'default-src ''self'';base-uri ''self'';block-all-mixed-content;font-src ''self''
39
+ https: data:;frame-ancestors ''self'';img-src ''self'' data:;object-src ''none'';script-src
40
+ ''self'';script-src-attr ''none'';style-src ''self'' https: ''unsafe-inline'';upgrade-insecure-requests'
41
+ Etag:
42
+ - '"4c58-ZIlO+/3g40KHEcdXKTtRGbg3544"'
43
+ Expect-Ct:
44
+ - max-age=0
45
+ Referrer-Policy:
46
+ - no-referrer
47
+ Server:
48
+ - cloudflare
49
+ Spacex-Api-Cache:
50
+ - HIT
51
+ Spacex-Api-Cache-Online:
52
+ - 'true'
53
+ Spacex-Api-Response-Time:
54
+ - 0ms
55
+ Strict-Transport-Security:
56
+ - max-age=15552000; includeSubDomains
57
+ Vary:
58
+ - Accept-Encoding
59
+ - Origin
60
+ X-Content-Type-Options:
61
+ - nosniff
62
+ X-Dns-Prefetch-Control:
63
+ - 'off'
64
+ X-Download-Options:
65
+ - noopen
66
+ X-Frame-Options:
67
+ - SAMEORIGIN
68
+ X-Permitted-Cross-Domain-Policies:
69
+ - none
70
+ X-Xss-Protection:
71
+ - '0'
72
+ Cf-Cache-Status:
73
+ - DYNAMIC
74
+ Nel:
75
+ - '{"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}'
76
+ Report-To:
77
+ - '{"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=FGywe1eAsvVmN4W8Hq8Fglo%2FtZxup%2F4%2FT6Peb4S0A%2FLWRIMx4PFNlLMTxqNgIXa5JL8y8Too438mPGq6nz8epLZBq6RPYbL7bhyoNPCz6jcQEQ%3D%3D"}]}'
78
+ Cf-Ray:
79
+ - 9dff73189803fc7d-YYZ
80
+ body:
81
+ encoding: ASCII-8BIT
82
+ string: '[{"fairings":{"reused":null,"recovery_attempt":null,"recovered":null,"ships":[]},"links":{"patch":{"small":null,"large":null},"reddit":{"campaign":null,"launch":null,"media":null,"recovery":null},"flickr":{"small":[],"original":[]},"presskit":null,"webcast":"https://youtu.be/pY628jRd6gM","youtube_id":"pY628jRd6gM","article":null,"wikipedia":null},"static_fire_date_utc":null,"static_fire_date_unix":null,"net":false,"window":null,"rocket":"5e9d0d95eda69974db09d1ed","success":null,"failures":[],"details":null,"crew":[],"ships":[],"capsules":[],"payloads":["5fe3b86eb3467846b324217c"],"launchpad":"5e9e4502f509094188566f88","flight_number":188,"name":"USSF-44","date_utc":"2022-11-01T13:41:00.000Z","date_unix":1667310060,"date_local":"2022-11-01T09:41:00-04:00","date_precision":"hour","upcoming":true,"cores":[{"core":"5fe3b8f2b3467846b3242181","flight":1,"gridfins":true,"legs":true,"reused":false,"landing_attempt":null,"landing_success":null,"landing_type":null,"landpad":null},{"core":"5fe3b8fbb3467846b3242182","flight":1,"gridfins":true,"legs":true,"reused":false,"landing_attempt":null,"landing_success":null,"landing_type":null,"landpad":null},{"core":"5fe3b906b3467846b3242183","flight":1,"gridfins":true,"legs":true,"reused":false,"landing_attempt":null,"landing_success":null,"landing_type":null,"landpad":null}],"auto_update":true,"tbd":false,"launch_library_id":"2306e0bc-e1a3-4a4a-9285-e1a94073655e","id":"6243aec2af52800c6e91925d"},{"fairings":{"reused":null,"recovery_attempt":null,"recovered":null,"ships":[]},"links":{"patch":{"small":"https://images2.imgbox.com/a9/9a/NXVkTZCE_o.png","large":"https://images2.imgbox.com/e3/cc/hN96PmST_o.png"},"reddit":{"campaign":"https://www.reddit.com/r/spacex/comments/jhu37i/starlink_general_discussion_and_deployment_thread/","launch":null,"media":null,"recovery":"https://www.reddit.com/r/spacex/comments/k2ts1q/rspacex_fleet_updates_discussion_thread/"},"flickr":{"small":[],"original":[]},"presskit":null,"webcast":"https://youtu.be/iYtH2khNIgU","youtube_id":"iYtH2khNIgU","article":null,"wikipedia":null},"static_fire_date_utc":null,"static_fire_date_unix":null,"net":false,"window":null,"rocket":"5e9d0d95eda69973a809d1ec","success":null,"failures":[],"details":null,"crew":[],"ships":[],"capsules":[],"payloads":["631616aeffc78f3b8567071b"],"launchpad":"5e9e4501f509094ba4566f84","flight_number":188,"name":"Starlink
83
+ 4-36 (v1.5)","date_utc":"2022-10-20T14:50:00.000Z","date_unix":1666277400,"date_local":"2022-10-20T10:50:00-04:00","date_precision":"hour","upcoming":true,"cores":[{"core":null,"flight":null,"gridfins":null,"legs":null,"reused":null,"landing_attempt":null,"landing_success":null,"landing_type":null,"landpad":null}],"auto_update":true,"tbd":false,"launch_library_id":"aa88b853-9e04-4a28-9433-d87799331b1b","id":"63161345ffc78f3b8567070d"},{"fairings":{"reused":null,"recovery_attempt":null,"recovered":null,"ships":[]},"links":{"patch":{"small":null,"large":null},"reddit":{"campaign":null,"launch":null,"media":null,"recovery":null},"flickr":{"small":[],"original":[]},"presskit":null,"webcast":null,"youtube_id":null,"article":null,"wikipedia":null},"static_fire_date_utc":null,"static_fire_date_unix":null,"net":false,"window":null,"rocket":"5e9d0d95eda69973a809d1ec","success":null,"failures":[],"details":null,"crew":[],"ships":[],"capsules":[],"payloads":[],"launchpad":"5e9e4501f509094ba4566f84","flight_number":188,"name":"Galaxy
84
+ 33 (15R) & 34 (12R)","date_utc":"2022-10-08T23:05:00.000Z","date_unix":1665270300,"date_local":"2022-10-08T19:05:00-04:00","date_precision":"hour","upcoming":true,"cores":[{"core":null,"flight":null,"gridfins":true,"legs":true,"reused":false,"landing_attempt":null,"landing_success":null,"landing_type":null,"landpad":null}],"auto_update":true,"tbd":false,"launch_library_id":"13977bd5-45d2-4ed1-9a4a-9fefeee0723a","id":"633f71240531f07b4fdf59bb"},{"fairings":{"reused":null,"recovery_attempt":null,"recovered":null,"ships":[]},"links":{"patch":{"small":null,"large":null},"reddit":{"campaign":null,"launch":null,"media":null,"recovery":null},"flickr":{"small":[],"original":[]},"presskit":null,"webcast":null,"youtube_id":null,"article":null,"wikipedia":null},"static_fire_date_utc":null,"static_fire_date_unix":null,"net":false,"window":null,"rocket":"5e9d0d95eda69973a809d1ec","success":null,"failures":[],"details":null,"crew":[],"ships":[],"capsules":[],"payloads":[],"launchpad":"5e9e4501f509094ba4566f84","flight_number":188,"name":"Hotbird
85
+ 13F","date_utc":"2022-10-15T05:22:00.000Z","date_unix":1665811320,"date_local":"2022-10-15T01:22:00-04:00","date_precision":"hour","upcoming":true,"cores":[{"core":null,"flight":null,"gridfins":true,"legs":true,"reused":false,"landing_attempt":null,"landing_success":null,"landing_type":null,"landpad":null}],"auto_update":true,"tbd":false,"launch_library_id":null,"id":"633f71370531f07b4fdf59bc"},{"fairings":{"reused":null,"recovery_attempt":null,"recovered":null,"ships":[]},"links":{"patch":{"small":null,"large":null},"reddit":{"campaign":null,"launch":null,"media":null,"recovery":null},"flickr":{"small":[],"original":[]},"presskit":null,"webcast":null,"youtube_id":null,"article":null,"wikipedia":null},"static_fire_date_utc":null,"static_fire_date_unix":null,"net":false,"window":null,"rocket":"5e9d0d95eda69973a809d1ec","success":null,"failures":[],"details":null,"crew":[],"ships":[],"capsules":[],"payloads":[],"launchpad":"5e9e4501f509094ba4566f84","flight_number":189,"name":"Hotbird
86
+ 13G","date_utc":"2022-11-03T03:24:00.000Z","date_unix":1667445840,"date_local":"2022-11-02T23:24:00-04:00","date_precision":"hour","upcoming":true,"cores":[{"core":null,"flight":null,"gridfins":true,"legs":true,"reused":false,"landing_attempt":null,"landing_success":null,"landing_type":null,"landpad":null}],"auto_update":true,"tbd":false,"launch_library_id":null,"id":"633f71dd0531f07b4fdf59c1"},{"fairings":{"reused":null,"recovery_attempt":null,"recovered":null,"ships":[]},"links":{"patch":{"small":null,"large":null},"reddit":{"campaign":null,"launch":null,"media":null,"recovery":null},"flickr":{"small":[],"original":[]},"presskit":null,"webcast":null,"youtube_id":null,"article":null,"wikipedia":null},"static_fire_date_utc":null,"static_fire_date_unix":null,"net":false,"window":null,"rocket":"5e9d0d95eda69973a809d1ec","success":null,"failures":[],"details":null,"crew":[],"ships":[],"capsules":[],"payloads":[],"launchpad":"5e9e4501f509094ba4566f84","flight_number":191,"name":"Galaxy
87
+ 31 (23R) & 32 (17R)","date_utc":"2022-11-08T00:00:00.000Z","date_unix":1667865600,"date_local":"2022-11-07T19:00:00-05:00","date_precision":"day","upcoming":true,"cores":[{"core":null,"flight":null,"gridfins":true,"legs":true,"reused":false,"landing_attempt":null,"landing_success":null,"landing_type":null,"landpad":null}],"auto_update":true,"tbd":false,"launch_library_id":null,"id":"633f71a90531f07b4fdf59be"},{"fairings":{"reused":null,"recovery_attempt":null,"recovered":null,"ships":[]},"links":{"patch":{"small":null,"large":null},"reddit":{"campaign":null,"launch":null,"media":null,"recovery":null},"flickr":{"small":[],"original":[]},"presskit":null,"webcast":null,"youtube_id":null,"article":null,"wikipedia":null},"static_fire_date_utc":null,"static_fire_date_unix":null,"net":false,"window":null,"rocket":"5e9d0d95eda69973a809d1ec","success":null,"failures":[],"details":null,"crew":[],"ships":[],"capsules":[],"payloads":[],"launchpad":"5e9e4501f509094ba4566f84","flight_number":192,"name":"Eutelsat
88
+ 10B","date_utc":"2022-11-15T00:00:00.000Z","date_unix":1668470400,"date_local":"2022-11-14T19:00:00-05:00","date_precision":"day","upcoming":true,"cores":[{"core":null,"flight":null,"gridfins":true,"legs":true,"reused":false,"landing_attempt":null,"landing_success":null,"landing_type":null,"landpad":null}],"auto_update":true,"tbd":false,"launch_library_id":null,"id":"633f71b60531f07b4fdf59bf"},{"fairings":{"reused":null,"recovery_attempt":null,"recovered":null,"ships":[]},"links":{"patch":{"small":null,"large":null},"reddit":{"campaign":null,"launch":null,"media":null,"recovery":null},"flickr":{"small":[],"original":[]},"presskit":null,"webcast":null,"youtube_id":null,"article":null,"wikipedia":null},"static_fire_date_utc":null,"static_fire_date_unix":null,"net":false,"window":null,"rocket":"5e9d0d95eda69973a809d1ec","success":null,"failures":[],"details":null,"crew":[],"ships":[],"capsules":[],"payloads":[],"launchpad":"5e9e4501f509094ba4566f84","flight_number":193,"name":"ispace
89
+ Mission 1 & Rashid","date_utc":"2022-11-22T00:00:00.000Z","date_unix":1669075200,"date_local":"2022-11-21T19:00:00-05:00","date_precision":"day","upcoming":true,"cores":[{"core":null,"flight":null,"gridfins":true,"legs":true,"reused":false,"landing_attempt":null,"landing_success":null,"landing_type":null,"landpad":null}],"auto_update":true,"tbd":false,"launch_library_id":null,"id":"633f723d0531f07b4fdf59c4"},{"fairings":null,"links":{"patch":{"small":null,"large":null},"reddit":{"campaign":null,"launch":null,"media":null,"recovery":null},"flickr":{"small":[],"original":[]},"presskit":null,"webcast":null,"youtube_id":null,"article":null,"wikipedia":null},"static_fire_date_utc":null,"static_fire_date_unix":null,"net":false,"window":null,"rocket":"5e9d0d95eda69973a809d1ec","success":null,"failures":[],"details":null,"crew":[],"ships":[],"capsules":[],"payloads":[],"launchpad":"5e9e4502f509094188566f88","flight_number":194,"name":"CRS-26","date_utc":"2022-11-18T22:00:00.000Z","date_unix":1668808800,"date_local":"2022-11-18T17:00:00-05:00","date_precision":"hour","upcoming":true,"cores":[{"core":null,"flight":null,"gridfins":true,"legs":true,"reused":false,"landing_attempt":null,"landing_success":null,"landing_type":null,"landpad":null}],"auto_update":true,"tbd":false,"launch_library_id":null,"id":"633f71cc0531f07b4fdf59c0"},{"fairings":{"reused":null,"recovery_attempt":null,"recovered":null,"ships":[]},"links":{"patch":{"small":"https://images2.imgbox.com/a9/9a/NXVkTZCE_o.png","large":"https://images2.imgbox.com/e3/cc/hN96PmST_o.png"},"reddit":{"campaign":"https://www.reddit.com/r/spacex/comments/jhu37i/starlink_general_discussion_and_deployment_thread/","launch":null,"media":null,"recovery":"https://www.reddit.com/r/spacex/comments/k2ts1q/rspacex_fleet_updates_discussion_thread/"},"flickr":{"small":[],"original":[]},"presskit":null,"webcast":"https://youtu.be/wcq7xiTOPRg","youtube_id":"wcq7xiTOPRg","article":null,"wikipedia":null},"static_fire_date_utc":null,"static_fire_date_unix":null,"net":false,"window":null,"rocket":"5e9d0d95eda69973a809d1ec","success":null,"failures":[],"details":null,"crew":[],"ships":[],"capsules":[],"payloads":[],"launchpad":"5e9e4501f509094ba4566f84","flight_number":195,"name":"Starlink
90
+ 4-37 (v1.5)","date_utc":"2022-11-01T00:00:00.000Z","date_unix":1667260800,"date_local":"2022-10-31T20:00:00-04:00","date_precision":"month","upcoming":true,"cores":[{"core":null,"flight":null,"gridfins":null,"legs":null,"reused":null,"landing_attempt":null,"landing_success":null,"landing_type":null,"landpad":null}],"auto_update":true,"tbd":false,"launch_library_id":null,"id":"633f71820531f07b4fdf59bd"},{"fairings":{"reused":null,"recovery_attempt":null,"recovered":null,"ships":[]},"links":{"patch":{"small":null,"large":null},"reddit":{"campaign":null,"launch":null,"media":null,"recovery":null},"flickr":{"small":[],"original":[]},"presskit":null,"webcast":null,"youtube_id":null,"article":null,"wikipedia":null},"static_fire_date_utc":null,"static_fire_date_unix":null,"net":false,"window":null,"rocket":"5e9d0d95eda69973a809d1ec","success":null,"failures":[],"details":null,"crew":[],"ships":[],"capsules":[],"payloads":["6243b788af52800c6e91926b"],"launchpad":"5e9e4501f509094ba4566f84","flight_number":196,"name":"O3b
91
+ mPower 1,2","date_utc":"2022-11-01T00:00:00.000Z","date_unix":1667260800,"date_local":"2022-10-31T20:00:00-04:00","date_precision":"month","upcoming":true,"cores":[{"core":null,"flight":null,"gridfins":null,"legs":null,"reused":null,"landing_attempt":null,"landing_success":null,"landing_type":null,"landpad":null}],"auto_update":true,"tbd":false,"launch_library_id":null,"id":"6243ba08af52800c6e919270"},{"fairings":{"reused":null,"recovery_attempt":null,"recovered":null,"ships":[]},"links":{"patch":{"small":null,"large":null},"reddit":{"campaign":null,"launch":null,"media":null,"recovery":null},"flickr":{"small":[],"original":[]},"presskit":null,"webcast":null,"youtube_id":null,"article":null,"wikipedia":null},"static_fire_date_utc":null,"static_fire_date_unix":null,"net":false,"window":null,"rocket":"5e9d0d95eda69973a809d1ec","success":null,"failures":[],"details":null,"crew":[],"ships":[],"capsules":[],"payloads":[],"launchpad":"5e9e4502f509092b78566f87","flight_number":197,"name":"SWOT","date_utc":"2022-12-05T00:00:00.000Z","date_unix":1670198400,"date_local":"2022-12-04T16:00:00-08:00","date_precision":"day","upcoming":true,"cores":[{"core":null,"flight":null,"gridfins":true,"legs":true,"reused":false,"landing_attempt":null,"landing_success":null,"landing_type":null,"landpad":null}],"auto_update":true,"tbd":false,"launch_library_id":null,"id":"633f724c0531f07b4fdf59c5"},{"fairings":{"reused":null,"recovery_attempt":null,"recovered":null,"ships":[]},"links":{"patch":{"small":null,"large":null},"reddit":{"campaign":null,"launch":null,"media":null,"recovery":null},"flickr":{"small":[],"original":[]},"presskit":null,"webcast":null,"youtube_id":null,"article":null,"wikipedia":null},"static_fire_date_utc":null,"static_fire_date_unix":null,"net":false,"window":null,"rocket":"5e9d0d95eda69973a809d1ec","success":null,"failures":[],"details":null,"crew":[],"ships":[],"capsules":[],"payloads":[],"launchpad":"5e9e4501f509094ba4566f84","flight_number":198,"name":"SES-18
92
+ & SES-19","date_utc":"2022-11-01T00:00:00.000Z","date_unix":1667260800,"date_local":"2022-10-31T20:00:00-04:00","date_precision":"month","upcoming":true,"cores":[{"core":null,"flight":null,"gridfins":true,"legs":true,"reused":false,"landing_attempt":null,"landing_success":null,"landing_type":null,"landpad":null}],"auto_update":true,"tbd":false,"launch_library_id":null,"id":"633f72000531f07b4fdf59c2"},{"fairings":{"reused":null,"recovery_attempt":null,"recovered":null,"ships":[]},"links":{"patch":{"small":null,"large":null},"reddit":{"campaign":null,"launch":null,"media":null,"recovery":null},"flickr":{"small":[],"original":[]},"presskit":null,"webcast":null,"youtube_id":null,"article":null,"wikipedia":null},"static_fire_date_utc":null,"static_fire_date_unix":null,"net":false,"window":null,"rocket":"5e9d0d95eda69973a809d1ec","success":null,"failures":[],"details":null,"crew":[],"ships":[],"capsules":[],"payloads":[],"launchpad":"5e9e4501f509094ba4566f84","flight_number":198,"name":"Transporter-6","date_utc":"2022-12-01T00:00:00.000Z","date_unix":1669852800,"date_local":"2022-11-30T19:00:00-05:00","date_precision":"month","upcoming":true,"cores":[{"core":null,"flight":null,"gridfins":true,"legs":true,"reused":false,"landing_attempt":null,"landing_success":null,"landing_type":null,"landpad":null}],"auto_update":true,"tbd":false,"launch_library_id":null,"id":"633f72580531f07b4fdf59c6"},{"fairings":{"reused":null,"recovery_attempt":null,"recovered":null,"ships":[]},"links":{"patch":{"small":null,"large":null},"reddit":{"campaign":null,"launch":null,"media":null,"recovery":null},"flickr":{"small":[],"original":[]},"presskit":null,"webcast":null,"youtube_id":null,"article":null,"wikipedia":null},"static_fire_date_utc":null,"static_fire_date_unix":null,"net":false,"window":null,"rocket":"5e9d0d95eda69973a809d1ec","success":null,"failures":[],"details":null,"crew":[],"ships":[],"capsules":[],"payloads":["63161760ffc78f3b8567071c"],"launchpad":"5e9e4502f509092b78566f87","flight_number":199,"name":"TTL-1","date_utc":"2022-12-01T00:00:00.000Z","date_unix":1669852800,"date_local":"2022-11-30T16:00:00-08:00","date_precision":"month","upcoming":true,"cores":[{"core":null,"flight":null,"gridfins":null,"legs":null,"reused":null,"landing_attempt":null,"landing_success":null,"landing_type":null,"landpad":null}],"auto_update":true,"tbd":false,"launch_library_id":null,"id":"63161384ffc78f3b8567070e"},{"fairings":{"reused":null,"recovery_attempt":null,"recovered":null,"ships":[]},"links":{"patch":{"small":null,"large":null},"reddit":{"campaign":null,"launch":null,"media":null,"recovery":null},"flickr":{"small":[],"original":[]},"presskit":null,"webcast":null,"youtube_id":null,"article":null,"wikipedia":null},"static_fire_date_utc":null,"static_fire_date_unix":null,"net":false,"window":null,"rocket":"5e9d0d95eda69973a809d1ec","success":null,"failures":[],"details":null,"crew":[],"ships":[],"capsules":[],"payloads":["6243b896af52800c6e91926e"],"launchpad":"5e9e4501f509094ba4566f84","flight_number":200,"name":"WorldView
93
+ Legion 1 & 2","date_utc":"2022-12-01T00:00:00.000Z","date_unix":1669852800,"date_local":"2022-11-30T19:00:00-05:00","date_precision":"month","upcoming":true,"cores":[{"core":null,"flight":null,"gridfins":null,"legs":null,"reused":null,"landing_attempt":null,"landing_success":null,"landing_type":null,"landpad":null}],"auto_update":true,"tbd":false,"launch_library_id":null,"id":"6243ae58af52800c6e91925a"},{"fairings":{"reused":null,"recovery_attempt":null,"recovered":null,"ships":[]},"links":{"patch":{"small":null,"large":null},"reddit":{"campaign":null,"launch":null,"media":null,"recovery":null},"flickr":{"small":[],"original":[]},"presskit":null,"webcast":null,"youtube_id":null,"article":null,"wikipedia":null},"static_fire_date_utc":null,"static_fire_date_unix":null,"net":false,"window":null,"rocket":"5e9d0d95eda69974db09d1ed","success":null,"failures":[],"details":null,"crew":[],"ships":[],"capsules":[],"payloads":[],"launchpad":"5e9e4502f509094188566f88","flight_number":202,"name":"Viasat-3
94
+ & Arcturus","date_utc":"2022-12-01T00:00:00.000Z","date_unix":1669852800,"date_local":"2022-11-30T19:00:00-05:00","date_precision":"month","upcoming":true,"cores":[{"core":null,"flight":null,"gridfins":true,"legs":true,"reused":false,"landing_attempt":null,"landing_success":null,"landing_type":null,"landpad":null},{"core":null,"flight":null,"gridfins":true,"legs":true,"reused":false,"landing_attempt":null,"landing_success":null,"landing_type":null,"landpad":null},{"core":null,"flight":null,"gridfins":true,"legs":true,"reused":false,"landing_attempt":null,"landing_success":null,"landing_type":null,"landpad":null}],"auto_update":true,"tbd":false,"launch_library_id":null,"id":"633f72130531f07b4fdf59c3"},{"fairings":{"reused":null,"recovery_attempt":null,"recovered":null,"ships":[]},"links":{"patch":{"small":null,"large":null},"reddit":{"campaign":null,"launch":null,"media":null,"recovery":null},"flickr":{"small":[],"original":[]},"presskit":null,"webcast":null,"youtube_id":null,"article":null,"wikipedia":null},"static_fire_date_utc":null,"static_fire_date_unix":null,"net":false,"window":null,"rocket":"5e9d0d95eda69973a809d1ec","success":null,"failures":[],"details":null,"crew":[],"ships":[],"capsules":[],"payloads":["6243b788af52800c6e91926b"],"launchpad":"5e9e4501f509094ba4566f84","flight_number":203,"name":"O3b
95
+ mPower 3.4","date_utc":"2022-12-01T00:00:00.000Z","date_unix":1669852800,"date_local":"2022-11-30T19:00:00-05:00","date_precision":"month","upcoming":true,"cores":[{"core":null,"flight":null,"gridfins":null,"legs":null,"reused":null,"landing_attempt":null,"landing_success":null,"landing_type":null,"landpad":null}],"auto_update":true,"tbd":false,"launch_library_id":null,"id":"6243ae7daf52800c6e91925b"}]'
96
+ recorded_at: Sat, 21 Mar 2026 19:44:09 GMT
97
+ recorded_with: VCR 6.4.0
@@ -0,0 +1,139 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://api.spacexdata.com/v4/launchpads/
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ User-Agent:
11
+ - Faraday v2.14.1
12
+ Accept-Encoding:
13
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
14
+ Accept:
15
+ - "*/*"
16
+ response:
17
+ status:
18
+ code: 200
19
+ message: OK
20
+ headers:
21
+ Date:
22
+ - Sat, 21 Mar 2026 19:46:07 GMT
23
+ Content-Type:
24
+ - application/json; charset=utf-8
25
+ Content-Length:
26
+ - '10815'
27
+ Connection:
28
+ - keep-alive
29
+ Access-Control-Allow-Origin:
30
+ - "*"
31
+ Access-Control-Expose-Headers:
32
+ - spacex-api-cache,spacex-api-response-time
33
+ Alt-Svc:
34
+ - h3=":443"; ma=86400
35
+ Cache-Control:
36
+ - max-age=300
37
+ Content-Security-Policy:
38
+ - 'default-src ''self'';base-uri ''self'';block-all-mixed-content;font-src ''self''
39
+ https: data:;frame-ancestors ''self'';img-src ''self'' data:;object-src ''none'';script-src
40
+ ''self'';script-src-attr ''none'';style-src ''self'' https: ''unsafe-inline'';upgrade-insecure-requests'
41
+ Etag:
42
+ - '"2a3f-5t/XURehoCQY1XetRG/agXQF4ZQ"'
43
+ Expect-Ct:
44
+ - max-age=0
45
+ Referrer-Policy:
46
+ - no-referrer
47
+ Server:
48
+ - cloudflare
49
+ Spacex-Api-Cache:
50
+ - MISS
51
+ Spacex-Api-Cache-Online:
52
+ - 'true'
53
+ Spacex-Api-Response-Time:
54
+ - 4ms
55
+ Strict-Transport-Security:
56
+ - max-age=15552000; includeSubDomains
57
+ Vary:
58
+ - Accept-Encoding
59
+ - Origin
60
+ X-Content-Type-Options:
61
+ - nosniff
62
+ X-Dns-Prefetch-Control:
63
+ - 'off'
64
+ X-Download-Options:
65
+ - noopen
66
+ X-Frame-Options:
67
+ - SAMEORIGIN
68
+ X-Permitted-Cross-Domain-Policies:
69
+ - none
70
+ X-Xss-Protection:
71
+ - '0'
72
+ Cf-Cache-Status:
73
+ - DYNAMIC
74
+ Nel:
75
+ - '{"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}'
76
+ Report-To:
77
+ - '{"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=qkdc8vT7WdoAq75U2Byf4u5EiAg%2B5y9OFnmPRsV678%2Blmgj3NEDWJ05vGjyXzFwd8hKtSYLc%2FABobDasf4RrrT%2FHp5EdMkId0St8Y9daokznpA%3D%3D"}]}'
78
+ Cf-Ray:
79
+ - 9dff75fe1d0e0c26-YYZ
80
+ body:
81
+ encoding: ASCII-8BIT
82
+ string: '[{"images":{"large":["https://i.imgur.com/7uXe1Kv.png"]},"name":"VAFB
83
+ SLC 3W","full_name":"Vandenberg Space Force Base Space Launch Complex 3W","locality":"Vandenberg
84
+ Space Force Base","region":"California","latitude":34.6440904,"longitude":-120.5931438,"launch_attempts":0,"launch_successes":0,"rockets":["5e9d0d95eda69955f709d1eb"],"timezone":"America/Los_Angeles","launches":[],"status":"retired","details":"SpaceX''s
85
+ original west coast launch pad for Falcon 1. It was used in a static fire
86
+ test but was never employed for a launch, and was abandoned due to range scheduling
87
+ conflicts arising from overflying other active pads.","id":"5e9e4501f5090910d4566f83"},{"images":{"large":["https://i.imgur.com/9oEMXwa.png"]},"name":"CCSFS
88
+ SLC 40","full_name":"Cape Canaveral Space Force Station Space Launch Complex
89
+ 40","locality":"Cape Canaveral","region":"Florida","latitude":28.5618571,"longitude":-80.577366,"launch_attempts":99,"launch_successes":97,"rockets":["5e9d0d95eda69973a809d1ec"],"timezone":"America/New_York","launches":["5eb87cddffd86e000604b32f","5eb87cdeffd86e000604b330","5eb87cdfffd86e000604b331","5eb87ce0ffd86e000604b332","5eb87ce1ffd86e000604b333","5eb87ce2ffd86e000604b335","5eb87ce3ffd86e000604b336","5eb87ce4ffd86e000604b337","5eb87ce4ffd86e000604b338","5eb87ce5ffd86e000604b339","5eb87ce6ffd86e000604b33a","5eb87ce7ffd86e000604b33b","5eb87ce8ffd86e000604b33c","5eb87ceaffd86e000604b33d","5eb87ceaffd86e000604b33e","5eb87cecffd86e000604b33f","5eb87cedffd86e000604b340","5eb87ceeffd86e000604b341","5eb87cefffd86e000604b342","5eb87cf2ffd86e000604b344","5eb87cf3ffd86e000604b345","5eb87cf5ffd86e000604b346","5eb87cf6ffd86e000604b347","5eb87cf8ffd86e000604b348","5eb87cf9ffd86e000604b349","5eb87cfaffd86e000604b34a","5eb87cfbffd86e000604b34b","5eb87d0effd86e000604b35c","5eb87d10ffd86e000604b35e","5eb87d11ffd86e000604b35f","5eb87d15ffd86e000604b362","5eb87d16ffd86e000604b364","5eb87d18ffd86e000604b365","5eb87d1bffd86e000604b368","5eb87d1cffd86e000604b369","5eb87d1effd86e000604b36a","5eb87d20ffd86e000604b36c","5eb87d22ffd86e000604b36d","5eb87d26ffd86e000604b371","5eb87d27ffd86e000604b372","5eb87d2affd86e000604b374","5eb87d2effd86e000604b377","5eb87d30ffd86e000604b378","5eb87d36ffd86e000604b37b","5eb87d37ffd86e000604b37c","5eb87d39ffd86e000604b37d","5eb87d39ffd86e000604b37e","5eb87d3bffd86e000604b37f","5eb87d3cffd86e000604b380","5eb87d3fffd86e000604b382","5eb87d41ffd86e000604b383","5eb87d42ffd86e000604b384","5eb87d45ffd86e000604b387","5eb87d46ffd86e000604b389","5eb87d4affd86e000604b38b","5eb87d50ffd86e000604b394","5ed981d91f30554030d45c2a","5eb87d47ffd86e000604b38a","5ef6a2e70059c33cee4a8293","5eb87d4cffd86e000604b38d","5fb95b3f3a88ae63c954603c","5eb87d4bffd86e000604b38c","5eb87d4fffd86e000604b393","5fd386aa7faea57d297c86c1","5ff6554f9257f579ee3a6c5f","600f9a5e8f798e2a4d5f979c","600f9a718f798e2a4d5f979d","60428aafc041c16716f73cd7","60428ac4c041c16716f73cd8","605b4b6aaa5433645e37d03f","6079bd1c9a06446e8c61bf76","6079bd399a06446e8c61bf77","5fe3af6db3467846b3242160","5eb87d4effd86e000604b390","600f9b6d8f798e2a4d5f979f","618faad2563d69573ed8ca9d","6161c94c6db1a92bfba85349","5fe3afc1b3467846b3242164","61bf3e31cd5ab50b0d936345","6161d32d6db1a92bfba85359","61fc01dae0dc5662b76489a7","61fc0243e0dc5662b76489ae","6234908cf051102e1fcedac4","6243ad8baf52800c6e919252","6243ada6af52800c6e919253","62582a6f5988f159024b964b","625828f25988f159024b9643","6243ae24af52800c6e919258","6243ae0aaf52800c6e919257","62a9f08b20413d2695d88711","6243aea5af52800c6e91925c","62a9f0c920413d2695d88712","62a9f0f820413d2695d88714","62a9f12820413d2695d88716","62a9f86420413d2695d88719","62f3b5200f55c50e192a4e6c","62f3b5330f55c50e192a4e6e","63161329ffc78f3b8567070b","63161339ffc78f3b8567070c"],"status":"active","details":"SpaceX''s
90
+ primary Falcon 9 pad, where all east coast Falcon 9s launched prior to the
91
+ AMOS-6 anomaly. Previously used alongside SLC-41 to launch Titan rockets for
92
+ the US Air Force, the pad was heavily damaged by the AMOS-6 anomaly in September
93
+ 2016. It returned to flight with CRS-13 on December 15, 2017, boasting an
94
+ upgraded throwback-style Transporter-Erector modeled after that at LC-39A.","id":"5e9e4501f509094ba4566f84"},{"images":{"large":["https://i.imgur.com/ZzTTC5p.png"]},"name":"STLS","full_name":"SpaceX
95
+ South Texas Launch Site","locality":"Boca Chica Village","region":"Texas","latitude":25.9972641,"longitude":-97.1560845,"launch_attempts":0,"launch_successes":0,"rockets":[],"timezone":"America/Chicago","launches":[],"status":"under
96
+ construction","details":"SpaceX''s new private launch site currently under
97
+ construction for suborbital test flights of Starship, and potentially orbital
98
+ flights of the full super heavy stack (previously referred to as BFR) in the
99
+ future. Currently planned to enter use with static fires and test hops of
100
+ the Starhopper, with the first tethered hop successfully occurring in March
101
+ 2019. It was previously going to be used for Falcon 9 and Falcon Heavy flights,
102
+ but this no longer appears to be likely due to its construction timeline and
103
+ existing launch sites being sufficient to handle present demand. Due to the
104
+ Caribbean islands and off-shore oil wells, it will be limited to very few
105
+ possible launch trajectories, and current Texas law only allows a limited
106
+ number of beach closures per year for orbital launches.","id":"5e9e4502f5090927f8566f85"},{"images":{"large":["https://i.imgur.com/GGPgsVs.png"]},"name":"Kwajalein
107
+ Atoll","full_name":"Kwajalein Atoll Omelek Island","locality":"Omelek Island","region":"Marshall
108
+ Islands","latitude":9.0477206,"longitude":167.7431292,"launch_attempts":5,"launch_successes":2,"rockets":["5e9d0d95eda69955f709d1eb"],"timezone":"Pacific/Kwajalein","launches":["5eb87cd9ffd86e000604b32a","5eb87cdaffd86e000604b32b","5eb87cdbffd86e000604b32c","5eb87cdbffd86e000604b32d","5eb87cdcffd86e000604b32e"],"status":"retired","details":"SpaceX''s
109
+ original pad, where all of the Falcon 1 flights occurred (from 2006 to 2009).
110
+ It would have also been the launch site of the Falcon 1e and the Falcon 9,
111
+ but it was abandoned as SpaceX ended the Falcon 1 program and decided against
112
+ upgrading it to support Falcon 9, likely due to its remote location and ensuing
113
+ logistics complexities.","id":"5e9e4502f5090995de566f86"},{"images":{"large":["https://i.imgur.com/asp5L08.png"]},"name":"VAFB
114
+ SLC 4E","full_name":"Vandenberg Space Force Base Space Launch Complex 4E","locality":"Vandenberg
115
+ Space Force Base","region":"California","latitude":34.632093,"longitude":-120.610829,"launch_attempts":28,"launch_successes":27,"rockets":["5e9d0d95eda69973a809d1ec"],"timezone":"America/Los_Angeles","launches":["5eb87ce1ffd86e000604b334","5eb87cf0ffd86e000604b343","5eb87cfdffd86e000604b34c","5eb87d05ffd86e000604b354","5eb87d08ffd86e000604b357","5eb87d0affd86e000604b359","5eb87d0fffd86e000604b35d","5eb87d14ffd86e000604b361","5eb87d16ffd86e000604b363","5eb87d1affd86e000604b367","5eb87d1fffd86e000604b36b","5eb87d23ffd86e000604b36e","5eb87d25ffd86e000604b370","5eb87d28ffd86e000604b373","5eb87d31ffd86e000604b379","5ed983aa1f30554030d45c31","60e3bf0d73359e1e20335c37","5fe3b107b3467846b324216b","61bba806437241381bf7061e","607a34e35a906a44023e085e","61fc0203e0dc5662b76489a8","6243adcaaf52800c6e919254","6258290d5988f159024b9644","5fe3af43b3467846b324215e","62a9f0e320413d2695d88713","62a9f10b20413d2695d88715","62f3b4ff0f55c50e192a4e6b","62f3b53a0f55c50e192a4e6f"],"status":"active","details":"SpaceX''s
116
+ primary west coast launch pad for polar orbits and sun-synchronous orbits,
117
+ primarily used for Iridium NEXT and scientific satellite launches. The pad
118
+ was used for the debut of Falcon 9 v1.1 in the rocket''s first ever non-dragon
119
+ mission, CASSIOPE, in September 2013. It is SpaceX''s only remaining pad with
120
+ the old-style transporter/erector, which reclines prior to launch instead
121
+ of using a throwback procedure. It is also capable of launching Falcon Heavy
122
+ (although some pad modifications would be needed, but no west coast Falcon
123
+ Heavy missions are currently planned).","id":"5e9e4502f509092b78566f87"},{"images":{"large":["https://i.imgur.com/1jwU0Pk.png"]},"name":"KSC
124
+ LC 39A","full_name":"Kennedy Space Center Historic Launch Complex 39A","locality":"Cape
125
+ Canaveral","region":"Florida","latitude":28.6080585,"longitude":-80.6039558,"launch_attempts":55,"launch_successes":55,"rockets":["5e9d0d95eda69973a809d1ec","5e9d0d95eda69974db09d1ed"],"timezone":"America/New_York","launches":["5eb87cfeffd86e000604b34d","5eb87cfeffd86e000604b34e","5eb87d00ffd86e000604b34f","5eb87d01ffd86e000604b350","5eb87d01ffd86e000604b351","5eb87d03ffd86e000604b352","5eb87d04ffd86e000604b353","5eb87d06ffd86e000604b355","5eb87d07ffd86e000604b356","5eb87d09ffd86e000604b358","5eb87d0cffd86e000604b35a","5eb87d0dffd86e000604b35b","5eb87d13ffd86e000604b360","5eb87d19ffd86e000604b366","5eb87d24ffd86e000604b36f","5eb87d2bffd86e000604b375","5eb87d2dffd86e000604b376","5eb87d35ffd86e000604b37a","5eb87d3dffd86e000604b381","5eb87d43ffd86e000604b385","5eb87d44ffd86e000604b386","5eb87d46ffd86e000604b388","5ed9819a1f30554030d45c29","5ef6a1e90059c33cee4a828a","5ef6a2090059c33cee4a828b","5ef6a2bf0059c33cee4a828c","5eb87d4dffd86e000604b38e","5eb87d4effd86e000604b391","5f8399fb818d8b59f5740d43","5fbfecce54ceb10a5664c80a","5fbfecfe54ceb10a5664c80b","600f9a8d8f798e2a4d5f979e","5fe3af58b3467846b324215f","605b4b7daa5433645e37d040","605b4b95aa5433645e37d041","5fe3af84b3467846b3242161","5fe3b11eb3467846b324216c","607a37565a906a44023e0866","5fe3b15eb3467846b324216d","6161c88d6db1a92bfba85348","6161d2006db1a92bfba85356","61d5eca1f88e4c5fc91f1eb7","61e048bbbe8d8b66799018d0","61e048ffbe8d8b66799018d1","61fc0224e0dc5662b76489ab","61eefaa89eb1064137a1bd73","6243ade2af52800c6e919255","62582a855988f159024b964c","62615ebc0ec008379be596fa","6278481757b51b752c5c5a5f","6243ae40af52800c6e919259","62a9f8b320413d2695d8871b","62f3b5290f55c50e192a4e6d","62a9f89a20413d2695d8871a","62dd70d5202306255024d139"],"status":"active","details":"NASA''s
126
+ historic pad that launched most of the Saturn V and Space Shuttle missions,
127
+ including Apollo 11. SpaceX initially leased solely for Falcon Heavy and Crew
128
+ Dragon launches, but the company has also used it for others as well following
129
+ the damage to SLC-40 in the AMOS-6 explosion. After completing the necessary
130
+ modifications, the first launch SpaceX performed on the pad was CRS-10 in
131
+ February 2017. After SLC-40 was back online, 39A was upgraded to support Falcon
132
+ Heavy and complete the removal of the shuttle-era Rotating Service Structure.
133
+ More recently, a crew access arm and other safety equipment has been installed
134
+ in order to launch commercial crew missions. 39A also occasionally launches
135
+ other Falcon 9 missions between Falcon Heavy and Crew Dragon launches, depending
136
+ on pad scheduling. The pad may also potentially be upgraded in the future
137
+ for use with the BFR.","id":"5e9e4502f509094188566f88"}]'
138
+ recorded_at: Sat, 21 Mar 2026 19:46:07 GMT
139
+ recorded_with: VCR 6.4.0
@@ -0,0 +1,225 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://api.spacexdata.com/v4/launchpads/
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ User-Agent:
11
+ - Faraday v2.14.1
12
+ Accept-Encoding:
13
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
14
+ Accept:
15
+ - "*/*"
16
+ response:
17
+ status:
18
+ code: 200
19
+ message: OK
20
+ headers:
21
+ Date:
22
+ - Sat, 21 Mar 2026 19:46:07 GMT
23
+ Content-Type:
24
+ - application/json; charset=utf-8
25
+ Content-Length:
26
+ - '10815'
27
+ Connection:
28
+ - keep-alive
29
+ Access-Control-Allow-Origin:
30
+ - "*"
31
+ Access-Control-Expose-Headers:
32
+ - spacex-api-cache,spacex-api-response-time
33
+ Alt-Svc:
34
+ - h3=":443"; ma=86400
35
+ Cache-Control:
36
+ - max-age=300
37
+ Content-Security-Policy:
38
+ - 'default-src ''self'';base-uri ''self'';block-all-mixed-content;font-src ''self''
39
+ https: data:;frame-ancestors ''self'';img-src ''self'' data:;object-src ''none'';script-src
40
+ ''self'';script-src-attr ''none'';style-src ''self'' https: ''unsafe-inline'';upgrade-insecure-requests'
41
+ Etag:
42
+ - '"2a3f-5t/XURehoCQY1XetRG/agXQF4ZQ"'
43
+ Expect-Ct:
44
+ - max-age=0
45
+ Referrer-Policy:
46
+ - no-referrer
47
+ Server:
48
+ - cloudflare
49
+ Spacex-Api-Cache:
50
+ - HIT
51
+ Spacex-Api-Cache-Online:
52
+ - 'true'
53
+ Spacex-Api-Response-Time:
54
+ - 1ms
55
+ Strict-Transport-Security:
56
+ - max-age=15552000; includeSubDomains
57
+ Vary:
58
+ - Accept-Encoding
59
+ - Origin
60
+ X-Content-Type-Options:
61
+ - nosniff
62
+ X-Dns-Prefetch-Control:
63
+ - 'off'
64
+ X-Download-Options:
65
+ - noopen
66
+ X-Frame-Options:
67
+ - SAMEORIGIN
68
+ X-Permitted-Cross-Domain-Policies:
69
+ - none
70
+ X-Xss-Protection:
71
+ - '0'
72
+ Cf-Cache-Status:
73
+ - DYNAMIC
74
+ Nel:
75
+ - '{"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}'
76
+ Report-To:
77
+ - '{"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=TVGLwPmOY5ppXXjQwLKGg82iE%2BpGjmwNUK6aFzysG7k2j3i1uynoleOCiSL16LYUK%2FToFfojJsgzk9ARX9HAQECRSEX0Jqp6CoWkvrk6lpGHaw%3D%3D"}]}'
78
+ Cf-Ray:
79
+ - 9dff75ff2de5f00c-YYZ
80
+ body:
81
+ encoding: ASCII-8BIT
82
+ string: '[{"images":{"large":["https://i.imgur.com/7uXe1Kv.png"]},"name":"VAFB
83
+ SLC 3W","full_name":"Vandenberg Space Force Base Space Launch Complex 3W","locality":"Vandenberg
84
+ Space Force Base","region":"California","latitude":34.6440904,"longitude":-120.5931438,"launch_attempts":0,"launch_successes":0,"rockets":["5e9d0d95eda69955f709d1eb"],"timezone":"America/Los_Angeles","launches":[],"status":"retired","details":"SpaceX''s
85
+ original west coast launch pad for Falcon 1. It was used in a static fire
86
+ test but was never employed for a launch, and was abandoned due to range scheduling
87
+ conflicts arising from overflying other active pads.","id":"5e9e4501f5090910d4566f83"},{"images":{"large":["https://i.imgur.com/9oEMXwa.png"]},"name":"CCSFS
88
+ SLC 40","full_name":"Cape Canaveral Space Force Station Space Launch Complex
89
+ 40","locality":"Cape Canaveral","region":"Florida","latitude":28.5618571,"longitude":-80.577366,"launch_attempts":99,"launch_successes":97,"rockets":["5e9d0d95eda69973a809d1ec"],"timezone":"America/New_York","launches":["5eb87cddffd86e000604b32f","5eb87cdeffd86e000604b330","5eb87cdfffd86e000604b331","5eb87ce0ffd86e000604b332","5eb87ce1ffd86e000604b333","5eb87ce2ffd86e000604b335","5eb87ce3ffd86e000604b336","5eb87ce4ffd86e000604b337","5eb87ce4ffd86e000604b338","5eb87ce5ffd86e000604b339","5eb87ce6ffd86e000604b33a","5eb87ce7ffd86e000604b33b","5eb87ce8ffd86e000604b33c","5eb87ceaffd86e000604b33d","5eb87ceaffd86e000604b33e","5eb87cecffd86e000604b33f","5eb87cedffd86e000604b340","5eb87ceeffd86e000604b341","5eb87cefffd86e000604b342","5eb87cf2ffd86e000604b344","5eb87cf3ffd86e000604b345","5eb87cf5ffd86e000604b346","5eb87cf6ffd86e000604b347","5eb87cf8ffd86e000604b348","5eb87cf9ffd86e000604b349","5eb87cfaffd86e000604b34a","5eb87cfbffd86e000604b34b","5eb87d0effd86e000604b35c","5eb87d10ffd86e000604b35e","5eb87d11ffd86e000604b35f","5eb87d15ffd86e000604b362","5eb87d16ffd86e000604b364","5eb87d18ffd86e000604b365","5eb87d1bffd86e000604b368","5eb87d1cffd86e000604b369","5eb87d1effd86e000604b36a","5eb87d20ffd86e000604b36c","5eb87d22ffd86e000604b36d","5eb87d26ffd86e000604b371","5eb87d27ffd86e000604b372","5eb87d2affd86e000604b374","5eb87d2effd86e000604b377","5eb87d30ffd86e000604b378","5eb87d36ffd86e000604b37b","5eb87d37ffd86e000604b37c","5eb87d39ffd86e000604b37d","5eb87d39ffd86e000604b37e","5eb87d3bffd86e000604b37f","5eb87d3cffd86e000604b380","5eb87d3fffd86e000604b382","5eb87d41ffd86e000604b383","5eb87d42ffd86e000604b384","5eb87d45ffd86e000604b387","5eb87d46ffd86e000604b389","5eb87d4affd86e000604b38b","5eb87d50ffd86e000604b394","5ed981d91f30554030d45c2a","5eb87d47ffd86e000604b38a","5ef6a2e70059c33cee4a8293","5eb87d4cffd86e000604b38d","5fb95b3f3a88ae63c954603c","5eb87d4bffd86e000604b38c","5eb87d4fffd86e000604b393","5fd386aa7faea57d297c86c1","5ff6554f9257f579ee3a6c5f","600f9a5e8f798e2a4d5f979c","600f9a718f798e2a4d5f979d","60428aafc041c16716f73cd7","60428ac4c041c16716f73cd8","605b4b6aaa5433645e37d03f","6079bd1c9a06446e8c61bf76","6079bd399a06446e8c61bf77","5fe3af6db3467846b3242160","5eb87d4effd86e000604b390","600f9b6d8f798e2a4d5f979f","618faad2563d69573ed8ca9d","6161c94c6db1a92bfba85349","5fe3afc1b3467846b3242164","61bf3e31cd5ab50b0d936345","6161d32d6db1a92bfba85359","61fc01dae0dc5662b76489a7","61fc0243e0dc5662b76489ae","6234908cf051102e1fcedac4","6243ad8baf52800c6e919252","6243ada6af52800c6e919253","62582a6f5988f159024b964b","625828f25988f159024b9643","6243ae24af52800c6e919258","6243ae0aaf52800c6e919257","62a9f08b20413d2695d88711","6243aea5af52800c6e91925c","62a9f0c920413d2695d88712","62a9f0f820413d2695d88714","62a9f12820413d2695d88716","62a9f86420413d2695d88719","62f3b5200f55c50e192a4e6c","62f3b5330f55c50e192a4e6e","63161329ffc78f3b8567070b","63161339ffc78f3b8567070c"],"status":"active","details":"SpaceX''s
90
+ primary Falcon 9 pad, where all east coast Falcon 9s launched prior to the
91
+ AMOS-6 anomaly. Previously used alongside SLC-41 to launch Titan rockets for
92
+ the US Air Force, the pad was heavily damaged by the AMOS-6 anomaly in September
93
+ 2016. It returned to flight with CRS-13 on December 15, 2017, boasting an
94
+ upgraded throwback-style Transporter-Erector modeled after that at LC-39A.","id":"5e9e4501f509094ba4566f84"},{"images":{"large":["https://i.imgur.com/ZzTTC5p.png"]},"name":"STLS","full_name":"SpaceX
95
+ South Texas Launch Site","locality":"Boca Chica Village","region":"Texas","latitude":25.9972641,"longitude":-97.1560845,"launch_attempts":0,"launch_successes":0,"rockets":[],"timezone":"America/Chicago","launches":[],"status":"under
96
+ construction","details":"SpaceX''s new private launch site currently under
97
+ construction for suborbital test flights of Starship, and potentially orbital
98
+ flights of the full super heavy stack (previously referred to as BFR) in the
99
+ future. Currently planned to enter use with static fires and test hops of
100
+ the Starhopper, with the first tethered hop successfully occurring in March
101
+ 2019. It was previously going to be used for Falcon 9 and Falcon Heavy flights,
102
+ but this no longer appears to be likely due to its construction timeline and
103
+ existing launch sites being sufficient to handle present demand. Due to the
104
+ Caribbean islands and off-shore oil wells, it will be limited to very few
105
+ possible launch trajectories, and current Texas law only allows a limited
106
+ number of beach closures per year for orbital launches.","id":"5e9e4502f5090927f8566f85"},{"images":{"large":["https://i.imgur.com/GGPgsVs.png"]},"name":"Kwajalein
107
+ Atoll","full_name":"Kwajalein Atoll Omelek Island","locality":"Omelek Island","region":"Marshall
108
+ Islands","latitude":9.0477206,"longitude":167.7431292,"launch_attempts":5,"launch_successes":2,"rockets":["5e9d0d95eda69955f709d1eb"],"timezone":"Pacific/Kwajalein","launches":["5eb87cd9ffd86e000604b32a","5eb87cdaffd86e000604b32b","5eb87cdbffd86e000604b32c","5eb87cdbffd86e000604b32d","5eb87cdcffd86e000604b32e"],"status":"retired","details":"SpaceX''s
109
+ original pad, where all of the Falcon 1 flights occurred (from 2006 to 2009).
110
+ It would have also been the launch site of the Falcon 1e and the Falcon 9,
111
+ but it was abandoned as SpaceX ended the Falcon 1 program and decided against
112
+ upgrading it to support Falcon 9, likely due to its remote location and ensuing
113
+ logistics complexities.","id":"5e9e4502f5090995de566f86"},{"images":{"large":["https://i.imgur.com/asp5L08.png"]},"name":"VAFB
114
+ SLC 4E","full_name":"Vandenberg Space Force Base Space Launch Complex 4E","locality":"Vandenberg
115
+ Space Force Base","region":"California","latitude":34.632093,"longitude":-120.610829,"launch_attempts":28,"launch_successes":27,"rockets":["5e9d0d95eda69973a809d1ec"],"timezone":"America/Los_Angeles","launches":["5eb87ce1ffd86e000604b334","5eb87cf0ffd86e000604b343","5eb87cfdffd86e000604b34c","5eb87d05ffd86e000604b354","5eb87d08ffd86e000604b357","5eb87d0affd86e000604b359","5eb87d0fffd86e000604b35d","5eb87d14ffd86e000604b361","5eb87d16ffd86e000604b363","5eb87d1affd86e000604b367","5eb87d1fffd86e000604b36b","5eb87d23ffd86e000604b36e","5eb87d25ffd86e000604b370","5eb87d28ffd86e000604b373","5eb87d31ffd86e000604b379","5ed983aa1f30554030d45c31","60e3bf0d73359e1e20335c37","5fe3b107b3467846b324216b","61bba806437241381bf7061e","607a34e35a906a44023e085e","61fc0203e0dc5662b76489a8","6243adcaaf52800c6e919254","6258290d5988f159024b9644","5fe3af43b3467846b324215e","62a9f0e320413d2695d88713","62a9f10b20413d2695d88715","62f3b4ff0f55c50e192a4e6b","62f3b53a0f55c50e192a4e6f"],"status":"active","details":"SpaceX''s
116
+ primary west coast launch pad for polar orbits and sun-synchronous orbits,
117
+ primarily used for Iridium NEXT and scientific satellite launches. The pad
118
+ was used for the debut of Falcon 9 v1.1 in the rocket''s first ever non-dragon
119
+ mission, CASSIOPE, in September 2013. It is SpaceX''s only remaining pad with
120
+ the old-style transporter/erector, which reclines prior to launch instead
121
+ of using a throwback procedure. It is also capable of launching Falcon Heavy
122
+ (although some pad modifications would be needed, but no west coast Falcon
123
+ Heavy missions are currently planned).","id":"5e9e4502f509092b78566f87"},{"images":{"large":["https://i.imgur.com/1jwU0Pk.png"]},"name":"KSC
124
+ LC 39A","full_name":"Kennedy Space Center Historic Launch Complex 39A","locality":"Cape
125
+ Canaveral","region":"Florida","latitude":28.6080585,"longitude":-80.6039558,"launch_attempts":55,"launch_successes":55,"rockets":["5e9d0d95eda69973a809d1ec","5e9d0d95eda69974db09d1ed"],"timezone":"America/New_York","launches":["5eb87cfeffd86e000604b34d","5eb87cfeffd86e000604b34e","5eb87d00ffd86e000604b34f","5eb87d01ffd86e000604b350","5eb87d01ffd86e000604b351","5eb87d03ffd86e000604b352","5eb87d04ffd86e000604b353","5eb87d06ffd86e000604b355","5eb87d07ffd86e000604b356","5eb87d09ffd86e000604b358","5eb87d0cffd86e000604b35a","5eb87d0dffd86e000604b35b","5eb87d13ffd86e000604b360","5eb87d19ffd86e000604b366","5eb87d24ffd86e000604b36f","5eb87d2bffd86e000604b375","5eb87d2dffd86e000604b376","5eb87d35ffd86e000604b37a","5eb87d3dffd86e000604b381","5eb87d43ffd86e000604b385","5eb87d44ffd86e000604b386","5eb87d46ffd86e000604b388","5ed9819a1f30554030d45c29","5ef6a1e90059c33cee4a828a","5ef6a2090059c33cee4a828b","5ef6a2bf0059c33cee4a828c","5eb87d4dffd86e000604b38e","5eb87d4effd86e000604b391","5f8399fb818d8b59f5740d43","5fbfecce54ceb10a5664c80a","5fbfecfe54ceb10a5664c80b","600f9a8d8f798e2a4d5f979e","5fe3af58b3467846b324215f","605b4b7daa5433645e37d040","605b4b95aa5433645e37d041","5fe3af84b3467846b3242161","5fe3b11eb3467846b324216c","607a37565a906a44023e0866","5fe3b15eb3467846b324216d","6161c88d6db1a92bfba85348","6161d2006db1a92bfba85356","61d5eca1f88e4c5fc91f1eb7","61e048bbbe8d8b66799018d0","61e048ffbe8d8b66799018d1","61fc0224e0dc5662b76489ab","61eefaa89eb1064137a1bd73","6243ade2af52800c6e919255","62582a855988f159024b964c","62615ebc0ec008379be596fa","6278481757b51b752c5c5a5f","6243ae40af52800c6e919259","62a9f8b320413d2695d8871b","62f3b5290f55c50e192a4e6d","62a9f89a20413d2695d8871a","62dd70d5202306255024d139"],"status":"active","details":"NASA''s
126
+ historic pad that launched most of the Saturn V and Space Shuttle missions,
127
+ including Apollo 11. SpaceX initially leased solely for Falcon Heavy and Crew
128
+ Dragon launches, but the company has also used it for others as well following
129
+ the damage to SLC-40 in the AMOS-6 explosion. After completing the necessary
130
+ modifications, the first launch SpaceX performed on the pad was CRS-10 in
131
+ February 2017. After SLC-40 was back online, 39A was upgraded to support Falcon
132
+ Heavy and complete the removal of the shuttle-era Rotating Service Structure.
133
+ More recently, a crew access arm and other safety equipment has been installed
134
+ in order to launch commercial crew missions. 39A also occasionally launches
135
+ other Falcon 9 missions between Falcon Heavy and Crew Dragon launches, depending
136
+ on pad scheduling. The pad may also potentially be upgraded in the future
137
+ for use with the BFR.","id":"5e9e4502f509094188566f88"}]'
138
+ recorded_at: Sat, 21 Mar 2026 19:46:07 GMT
139
+ - request:
140
+ method: get
141
+ uri: https://api.spacexdata.com/v4/launchpads/5e9e4501f5090910d4566f83
142
+ body:
143
+ encoding: US-ASCII
144
+ string: ''
145
+ headers:
146
+ User-Agent:
147
+ - Faraday v2.14.1
148
+ Accept-Encoding:
149
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
150
+ Accept:
151
+ - "*/*"
152
+ response:
153
+ status:
154
+ code: 200
155
+ message: OK
156
+ headers:
157
+ Date:
158
+ - Sat, 21 Mar 2026 19:46:24 GMT
159
+ Content-Type:
160
+ - application/json; charset=utf-8
161
+ Content-Length:
162
+ - '663'
163
+ Connection:
164
+ - keep-alive
165
+ Access-Control-Allow-Origin:
166
+ - "*"
167
+ Access-Control-Expose-Headers:
168
+ - spacex-api-cache,spacex-api-response-time
169
+ Alt-Svc:
170
+ - h3=":443"; ma=86400
171
+ Cache-Control:
172
+ - max-age=300
173
+ Content-Security-Policy:
174
+ - 'default-src ''self'';base-uri ''self'';block-all-mixed-content;font-src ''self''
175
+ https: data:;frame-ancestors ''self'';img-src ''self'' data:;object-src ''none'';script-src
176
+ ''self'';script-src-attr ''none'';style-src ''self'' https: ''unsafe-inline'';upgrade-insecure-requests'
177
+ Etag:
178
+ - '"297-/gZsDoW++6s7l3GGCJYyLWSMvss"'
179
+ Expect-Ct:
180
+ - max-age=0
181
+ Referrer-Policy:
182
+ - no-referrer
183
+ Server:
184
+ - cloudflare
185
+ Spacex-Api-Cache:
186
+ - MISS
187
+ Spacex-Api-Cache-Online:
188
+ - 'true'
189
+ Spacex-Api-Response-Time:
190
+ - 3ms
191
+ Strict-Transport-Security:
192
+ - max-age=15552000; includeSubDomains
193
+ Vary:
194
+ - Accept-Encoding
195
+ - Origin
196
+ X-Content-Type-Options:
197
+ - nosniff
198
+ X-Dns-Prefetch-Control:
199
+ - 'off'
200
+ X-Download-Options:
201
+ - noopen
202
+ X-Frame-Options:
203
+ - SAMEORIGIN
204
+ X-Permitted-Cross-Domain-Policies:
205
+ - none
206
+ X-Xss-Protection:
207
+ - '0'
208
+ Cf-Cache-Status:
209
+ - DYNAMIC
210
+ Nel:
211
+ - '{"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}'
212
+ Report-To:
213
+ - '{"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=UB9UyaQSw0%2BpzUJg4uQ3JcnvtLuN773I8X45MZ%2FtwaLBx7Ymev7lqikcG6zJQVWem8z5uIal40pHz%2FPdaJR3udns8Ax9nk6SNuZkqvtLpsTPMQ%3D%3D"}]}'
214
+ Cf-Ray:
215
+ - 9dff76644e32ac31-YYZ
216
+ body:
217
+ encoding: ASCII-8BIT
218
+ string: '{"images":{"large":["https://i.imgur.com/7uXe1Kv.png"]},"name":"VAFB
219
+ SLC 3W","full_name":"Vandenberg Space Force Base Space Launch Complex 3W","locality":"Vandenberg
220
+ Space Force Base","region":"California","latitude":34.6440904,"longitude":-120.5931438,"launch_attempts":0,"launch_successes":0,"rockets":["5e9d0d95eda69955f709d1eb"],"timezone":"America/Los_Angeles","launches":[],"status":"retired","details":"SpaceX''s
221
+ original west coast launch pad for Falcon 1. It was used in a static fire
222
+ test but was never employed for a launch, and was abandoned due to range scheduling
223
+ conflicts arising from overflying other active pads.","id":"5e9e4501f5090910d4566f83"}'
224
+ recorded_at: Sat, 21 Mar 2026 19:46:24 GMT
225
+ recorded_with: VCR 6.4.0