SpaceX API Versions Save

:rocket: Open Source REST API for SpaceX launch, rocket, core, capsule, starlink, launchpad, and landing pad data.

v4.0.0

3 years ago

v3.1.0

5 years ago

Features

  • Added new timeline field to launches with presskit timeline events offset according to webcast launch time
  • Added gridfins and legs boolean in launch cores section
  • Added youtube_id field to all launches for easier url building
  • Added /cores/upcoming and /cores/past to show cores that have or have not launched - b0184f1
  • Added /capsules/upcoming and /capsules/past to show caps that have or have not launched - b0184f1
  • Added /landpad endpoint - 0253c0e

Fixes

  • Fixed bug in orbit update script causing high API usage - dc48e07
  • Fixed parsing bug in upcoming launch script for TDB launches - 51a6f28
  • Fixed parsing bug in upcoming launch script for launches with mid, early, and late launch dates - a13aace
  • Fixed order of appearanch for /dragons endpoint - fe40a55
  • Fixed broken Reddit links in upcoming launch script - d8b484e

Scripts

  • Added webcast script to auto update webcast link/youtube_id as soon as it is posted - b37df98
  • Added launchpad updater script for attempt/success counts - 7a34812
  • Added landing pad updater script for attempt/success counts - 1ff486a
  • Added missions updating to ships script - 566e9ad
  • Added cores update script + scrape subreddit wiki for updates - 1fb50f7
  • Added capsule update script - 82f5e10
  • Added fairing catch attempt/success counts to ships script - 1cfa2b1

Misc

  • Migrated from Travis CI to Circle CI

v3.0.0

5 years ago

Features

  • Added ability to sort on any field where an endpoint returns an array - #129
  • Added array of links to official SpaceX flickr photos for rockets, dragon capsules, launches, and the tesla roadster
  • Added tentative_max_precision field for more information about partial dates in upcoming launches. Values can include hour, day, month, quarter, half, or year. This provides important context about how precise the future date is
  • Added link to api status page - 42aec55
  • Added reusable date parsing utility - 0d8ebc0
  • Added ability to pretty print json results with the pretty=true querystring - d8c51e6
  • Added ability to mask and filter specific json fields from the response to reduce JSON payload size - 9558453 - ( thanks @jhpratt )
  • Added script to update payload orbit params on an hourly basis - 03777f4
  • Added missions endpoint with additional data regarding groups of 2 or more launches by the same company
  • Added arg_of_pericenter and mean_anomaly to current orbital params for full Keplerian element support
  • Added automated update script to pull updated launch times from the r/SpaceX wiki manifest every 10 min
  • Added automated script to pull current orbital data from the SpaceTrack API every hour
  • Added automated script to pull current lat/long, status, course, and speed of SpaceX support ships from MarineTraffic.com every 10 min
  • Updated docker compose to use alpine redis to reduce image size - 3e70fd1
  • Updated production logger to strip private info from response object - d9b47c1
  • Switched from day.js to moment.js in update scripts for improved UTC support - bf596e5

Fixes

  • Fixed bug where duplicates might show up in payload endpoint - 5e608d5
  • Fixed bug where v3 rocket id was removed - 82c2568
  • Fixed bug where roadster epoch was displayed as a string instead of an int - 884c713

Docs Changes

  • Now using Postman for docs
  • A Postman collection with all the new endpoints is available here
  • Added link to community made apps/bots/clients here

Endpoint Changes

  • /v2/launches/all ----> /v3/launches
  • /v2/launches ----> /v3/launches/past
  • /v2/info/history ----> /v3/history
  • /v2/info/roadster ----> /v3/roadster
  • /v2/parts/cores ----> /v3/cores
  • /v2/parts/caps ----> /v3/capsules
  • /v2/capsules ----> /v3/dragons

Database Changes

  • Added flickr_images, landing_intent, arg_of_pericenter, mean_anomaly, fairings, ships, static_fire_date_unix, is_tentative, and tentative_max_precision to launches
  • Added reuse_count to capsules
  • Added reuse_count to cores
  • Added Ships collection
  • Added Missions collection
  • Updated rtls_attempts and asds_attempts in cores to be an int instead of boolean
  • In rockets, id is now rocket_id, rocketid is now id, and type is now rocket_type to bring the fields in line with the launch fields
  • In launchpads, id is now site_id, padid is now id, and full_name is now site_name_long to bring the fields in line with the launch fields
  • The reuse object is no longer included on v3 launches. Reuse information has been moved into each core, payload, and fairing object
  • capsules, cores, and ships endpoints now have a new array format for the missions array. The new format provides more context, and allows the flight number to be passed in easily as a query param to quickly get launch data: /launches/18
    • Old:
      "missions": [
          "CRS-4"
      ]
      
    • New:
      "missions": [
            {
              "name": "CRS-4",
              "flight": 18
            }
      ]
      

v2.8.0

5 years ago

TLDR

  • Migrated from east U.S. Heroku to central U.S. Linode
  • New orbital, distance, and speed data on FH roadster
  • More background details added to Dragon 1/2
  • Faster logging
  • Docs moved from wiki to repo

Features & Fixes 5669d0e47f64db155fce735a19b72b77fedad6a5 - Changed koa-logger to koa-pino-logger for a ~20% reduction in high volume response latency 399039c0c455ee47842121511962a87e4c2efd9a - Fixed query builders where entire Koa request object was being passed to builders instead of just the object containing querystrings d728fdff82eb375e15616e3c83f2428dc1f34cd4 - Fixed bug showing incorrect order for all launches when sorting in descending order #107 78a33e269b79ad1f5ae3ff2e2f7aa8c00a257e20 - Fixed bug preventing users from using the flight_number correctly with the all launches endpoint #109 e880ead83b31ed49afee467ee4d248bf25256b98 - Fixed bug in invalid date tests where the dates tested weren't actually invalid 3689db4d9082ca124f4012417f2451ddf75e852f - Fixed bug that allowed caching in dev environments by default 37a24bca77d418b4078cdd2e4474cee03fc520bc - Added new mongo connection param to remove URL parser deprecation warnings 0cce078d9f9e5a22be2a71b984fc2d376f24dc08 - Added new endpoint to house Falcon Heavy Roadster data /info/roadster 409cb439013b42a855245374d9aa006a46d403f3 - Added script to update roadster orbital data every 10 min 578578242f28008514d29e47e339ea9721c1f14f - Added new PowerShell wrapper link to readme 6b09770d16c9ba24385d16eada5ebce696a4d9e8 - Moved docs from wiki to docs folder for portability & versioning

Server Changes

  • The API has migrated to a central U.S. Linode server instead of the north Virginia Heroku server, now latency should be balanced from coast to coast.
  • The same development pipeline will be used, and successful Travis CI builds on master will automatically deploy changes and restart PM2

Database Changes

  • Added new info on the Falcon Heavy Tesla Roadster's orbital parameters, speed, and distance from earth/mars
  • Combined Dragon 2 and Crew Dragon into a single Dragon 2 object
  • Added original_launch_unix fields for all cores and capsules
  • Added rocketid to rockets with an arbitrary number id, see #1 for discussion
  • Added padid to launchpads with an arbitrary number id, see #1 for discussion
  • Added description and wikipedia to capsules for Dragon 1 + 2
  • Added norad_id to all launch payloads if available
  • Added nationality to all launch payloads
  • Added manufacturer to all launch payloads

v2.7.0

5 years ago

Features & Fixes

  • Mission patch PNG size reduced 70-80% using compression (thanks @garyjacobs)
  • Added detailed orbital parameters for every payload
  • Fixed typo preventing cores from being sorted by number of ASDS launches
  • Added list of community made API clients to the readme
  • Added second_stage_block querystring to allow launch sorting by second stage block number
  • Fixed typo preventing travis ci from running tests sequentially, causing long build times
  • Readme header updated to only use HTML instead of an HTML/Markdown mix that caused issues on certain viewing platforms
  • Added gitlab mirrored repository as a backup
  • Added limit querystring to limit number of documents returned
  • Consolidated past, upcoming, and all launch tests into a single test (DRY)
  • Increased jest timeout length from 5sec to 10sec for longer running tests

Database Changes

  • Added orbit_params object to every payload of every past and upcoming launch
  • Added block number to all second stage objects for hybrid launches
  • Added event_date_unix to all history milestones for easier date parsing

v2.6.0

5 years ago

Features & Fixes

  • Added yarn caching for faster Travis builds
  • Updated mongo connection syntax to use async / await
  • Added endpoint for next upcoming launch (thanks @pascoemitch)
  • Increased mongo driver connection pool size to prevent traffic surge bottlenecks
  • Decreased caching time for launches to 30sec to reduce database query load
  • All rocket data now sorted by original launch data instead of rocket id
  • Added /v2/info/history endpoint with important company milestones
  • Added tentative BFR data to rocket endpoints

Database Changes

  • Added mission_name field for easier access to common mission names
  • Added wikipedia field in links for easy access to Wikipedia summaries on launches
  • History collection added
  • BFR added to list of rockets

v2.5.0

6 years ago

Features & Fixes

  • Redis route caching times adjusted for quicker launch updates
  • Added date format parsing in #80 to allow for any standardized date formats in query strings
  • Tests now lint first, allowing for earlier syntax error checks
  • Added sorting to rocket endpoints for consistent ordering
  • Switched from NPM to Yarn for faster dependency management
  • Removed jest cli option blocking multi worker testing pools
  • Moved query logic out of routes and into controllers
  • Made all query builders anonymous functions by default

Database Changes

  • Added mission_patch_small filed with links to smaller image versions

v2.4.0

6 years ago

Features & Fixes

  • Migration from Express to Koa in #78
  • Reduced Docker image size by ~30% to 19MB
  • Added Redis route caching, reduced average response time from >250ms to <90ms
  • Added Docker-Compose file for easy App + Redis deployment
  • Updated all tests to use async/await
  • Cap and Core sorting changed to launch date instead of serial in 89ac881
  • Reduced npm dependencies by ~10%

v2.3.0

6 years ago

Features & Fixes

  • Tests added for query builders in b0b0ad3, f09b3b1, 21c8425 which brings test coverage to 98%
  • Abstraction added for fetching upcoming/past launches from a single function e75731e. (Rafael Ramalho)
  • Added querystring option to show unique mongo document id's 93610a5
  • Added querystring option to filter launches and cores by block number ddd24c7
  • Added querystring option to pretty print JSON output for debugging 188cf22
  • Added jsdoc for builders and helper functions 3a5d25d

v2.2.0

6 years ago

Features & Fixes

  • Added current flight number to launch core data
  • Dragon data is now on its own endpoint /v2/capsules
  • Vehicle endpoint is now Rocket endpoint /v2/rockets instead of /v2/vehicles
  • All rocket data has identical schema for easy comparisons
  • Added ordering support for past and upcoming launches in #65
  • Updated style guide to Airbnb standards
  • Removed needless variable assignments in 4bbe8115482f44dc5601134b15eb265506af5e92
  • Some refactoring for mongo driver version 3 breaking changes
    • database url updated to new mongo standard
    • moved projection (used to hide document id from results) out of the find method
  • Removed unnecessary files like app.json and single line config file