SpaceX (Community API) website screenshot

SpaceX (Community API)

Community-maintained, open-source REST and GraphQL API for SpaceX data — launches, rockets, capsules, cores, crew, dragons, payloads, ships, landpads, launchpads, Starlink satellites, the Tesla Roadster ephemeris, company info, and historical events. Operated by the r-spacex community (the same group behind the r/SpaceX subreddit) and licensed Apache 2.0. The canonical hosted base URL is https://api.spacexdata.com and the canonical source repository is https://github.com/r-spacex/SpaceX-API. The API is currently in MAINTENANCE-ONLY MODE as of 2024. New launches and missions are NOT being added to the dataset; the project remains online for historical lookups and as a teaching/sample API. This makes it an excellent fixture for SDK tutorials, MCP server demos, and API design exercises, but it is no longer a live source of upcoming SpaceX flight data. The data is organized as a MongoDB document store with cross-resource UUID references; the /query endpoints expose mongoose-paginate-v2 with full MongoDB find()/options semantics. Authentication is only required for destructive (create/update/delete) admin routes; all read operations are public. This community project is not affiliated with, endorsed by, or officially connected to Space Exploration Technologies Corp.

2 APIs 0 Features
SpaceLaunchSatellitesStarlinkFalcon 9Falcon HeavyDragonRocketsOpen SourceCommunityRESTGraphQLOpen Data

APIs

SpaceX REST API (v4 + v5)

Open-source REST API exposing all SpaceX launch, rocket, capsule, core, crew, dragon, ship, landpad, launchpad, payload, Starlink, Roadster, company, and history data. v4 is the...

SpaceX GraphQL API (community)

Community-maintained GraphQL gateways over the SpaceX REST data, providing typed schema access and nested-field selection across launches, rockets, missions, payloads, ships, an...

Collections

GraphQL

SpaceX (Community API) GraphQL API

Community-maintained GraphQL gateways over the SpaceX REST data, providing typed schema access and nested-field selection across launches, rockets, missions, payloads, ships, an...

GRAPHQL

Pricing Plans

Spacex Plans Pricing

2 plans

PLANS

Rate Limits

Spacex Rate Limits

4 limits

RATE LIMITS

Semantic Vocabularies

Spacex Context

0 classes · 14 properties

JSON-LD

API Governance Rules

SpaceX (Community API) API Rules

32 rules · 10 errors 15 warnings 7 info

SPECTRAL

JSON Structure

Spacex Capsule Structure

10 properties

JSON STRUCTURE

Spacex Company Structure

16 properties

JSON STRUCTURE

Spacex Core Structure

11 properties

JSON STRUCTURE

Spacex Crew Structure

7 properties

JSON STRUCTURE

Spacex Dragon Structure

23 properties

JSON STRUCTURE

Spacex History Structure

6 properties

JSON STRUCTURE

Spacex Landpad Structure

14 properties

JSON STRUCTURE

Spacex Launch Structure

26 properties

JSON STRUCTURE

Spacex Launchpad Structure

13 properties

JSON STRUCTURE

Spacex Payload Structure

28 properties

JSON STRUCTURE

Spacex Roadster Structure

27 properties

JSON STRUCTURE

Spacex Rocket Structure

22 properties

JSON STRUCTURE

Spacex Ship Structure

24 properties

JSON STRUCTURE

Spacex Starlink Structure

8 properties

JSON STRUCTURE

Example Payloads

Spacex Getcapsule Example

9 fields

EXAMPLE

Spacex Getcompany Example

16 fields

EXAMPLE

Spacex Getcore Example

11 fields

EXAMPLE

Spacex Getcrewmember Example

7 fields

EXAMPLE

Spacex Getdragon Example

23 fields

EXAMPLE

Spacex Getlandpad Example

15 fields

EXAMPLE

Spacex Getlatestlaunch Example

27 fields

EXAMPLE

Spacex Getlaunchpad Example

15 fields

EXAMPLE

Spacex Getnextlaunch Example

27 fields

EXAMPLE

Spacex Getpayload Example

28 fields

EXAMPLE

Spacex Getroadster Example

27 fields

EXAMPLE

Spacex Getrocket Example

22 fields

EXAMPLE

Spacex Getship Example

24 fields

EXAMPLE

Resources

🔗
Website
Website
👥
GitHubOrganization
GitHubOrganization
💻
SourceCode
SourceCode
🔗
Apache License 2.0
License
🔗
Documentation
Documentation
🚀
GettingStarted
GettingStarted
📄
ChangeLog
ChangeLog
🔗
Issues
Issues
🔗
PullRequests
PullRequests
🟢
Status
Status
🔗
Backups
Backups
🔗
DockerImage
DockerImage
🔗
Clients
Clients
🔗
Apps
Apps
🔗
APIStyleGuide
APIStyleGuide
🔗
Subreddit
Subreddit
🔗
Plans
Plans
🔗
RateLimits
RateLimits
🔗
SpectralRules
SpectralRules
🔗
Vocabulary
Vocabulary
🔗
JSONLDContext
JSONLDContext
🔧
MCP Server (community)
Tools

Sources

Raw ↑
opencollection: 1.0.0
info:
  name: SpaceX REST API
  version: '4.0'
items:
- info:
    name: Capsules
    type: folder
  items:
  - info:
      name: List All Capsules
      type: http
    http:
      method: GET
      url: https://api.spacexdata.com/v4/capsules
    docs: Return every Dragon capsule record in the dataset.
  - info:
      name: Get One Capsule
      type: http
    http:
      method: GET
      url: https://api.spacexdata.com/v4/capsules/:id
      params:
      - name: id
        value: ''
        type: path
        description: Resource UUID (MongoDB ObjectId, e.g. `5e9d0d95eda69973a809d1ec`).
    docs: Return a single Dragon capsule record by its UUID.
  - info:
      name: Query Capsules
      type: http
    http:
      method: POST
      url: https://api.spacexdata.com/v4/capsules/query
      body:
        type: json
        data: '{}'
    docs: Run a mongoose-paginate-v2 query against the capsule collection.
- info:
    name: Company
    type: folder
  items:
  - info:
      name: Get Company Info
      type: http
    http:
      method: GET
      url: https://api.spacexdata.com/v4/company
    docs: Return the single SpaceX company-info document.
- info:
    name: Cores
    type: folder
  items:
  - info:
      name: List All Cores
      type: http
    http:
      method: GET
      url: https://api.spacexdata.com/v4/cores
    docs: Return every first-stage core record in the dataset.
  - info:
      name: Get One Core
      type: http
    http:
      method: GET
      url: https://api.spacexdata.com/v4/cores/:id
      params:
      - name: id
        value: ''
        type: path
        description: Resource UUID (MongoDB ObjectId, e.g. `5e9d0d95eda69973a809d1ec`).
    docs: Return a single first-stage core record by its UUID.
  - info:
      name: Query Cores
      type: http
    http:
      method: POST
      url: https://api.spacexdata.com/v4/cores/query
      body:
        type: json
        data: '{}'
    docs: Run a mongoose-paginate-v2 query against the core collection.
- info:
    name: Crew
    type: folder
  items:
  - info:
      name: List All Crew
      type: http
    http:
      method: GET
      url: https://api.spacexdata.com/v4/crew
    docs: Return every Dragon crew member record.
  - info:
      name: Get One Crew Member
      type: http
    http:
      method: GET
      url: https://api.spacexdata.com/v4/crew/:id
      params:
      - name: id
        value: ''
        type: path
        description: Resource UUID (MongoDB ObjectId, e.g. `5e9d0d95eda69973a809d1ec`).
    docs: Return a single crew member record by its UUID.
  - info:
      name: Query Crew
      type: http
    http:
      method: POST
      url: https://api.spacexdata.com/v4/crew/query
      body:
        type: json
        data: '{}'
    docs: Run a mongoose-paginate-v2 query against the crew collection.
- info:
    name: Dragons
    type: folder
  items:
  - info:
      name: List All Dragon Versions
      type: http
    http:
      method: GET
      url: https://api.spacexdata.com/v4/dragons
    docs: Return every Dragon capsule version record (Dragon 1, Dragon 2, etc.).
  - info:
      name: Get One Dragon Version
      type: http
    http:
      method: GET
      url: https://api.spacexdata.com/v4/dragons/:id
      params:
      - name: id
        value: ''
        type: path
        description: Resource UUID (MongoDB ObjectId, e.g. `5e9d0d95eda69973a809d1ec`).
    docs: Return a single Dragon version record by its UUID.
  - info:
      name: Query Dragons
      type: http
    http:
      method: POST
      url: https://api.spacexdata.com/v4/dragons/query
      body:
        type: json
        data: '{}'
    docs: Run a mongoose-paginate-v2 query against the dragons collection.
- info:
    name: History
    type: folder
  items:
  - info:
      name: List All History Events
      type: http
    http:
      method: GET
      url: https://api.spacexdata.com/v4/history
    docs: Return every SpaceX historical event record.
  - info:
      name: Get One History Event
      type: http
    http:
      method: GET
      url: https://api.spacexdata.com/v4/history/:id
      params:
      - name: id
        value: ''
        type: path
        description: Resource UUID (MongoDB ObjectId, e.g. `5e9d0d95eda69973a809d1ec`).
    docs: Return a single SpaceX history event by its UUID.
  - info:
      name: Query History Events
      type: http
    http:
      method: POST
      url: https://api.spacexdata.com/v4/history/query
      body:
        type: json
        data: '{}'
    docs: Run a mongoose-paginate-v2 query against the history collection.
- info:
    name: Landpads
    type: folder
  items:
  - info:
      name: List All Landing Pads
      type: http
    http:
      method: GET
      url: https://api.spacexdata.com/v4/landpads
    docs: Return every landing pad / droneship record.
  - info:
      name: Get One Landing Pad
      type: http
    http:
      method: GET
      url: https://api.spacexdata.com/v4/landpads/:id
      params:
      - name: id
        value: ''
        type: path
        description: Resource UUID (MongoDB ObjectId, e.g. `5e9d0d95eda69973a809d1ec`).
    docs: Return a single landing pad by its UUID.
  - info:
      name: Query Landing Pads
      type: http
    http:
      method: POST
      url: https://api.spacexdata.com/v4/landpads/query
      body:
        type: json
        data: '{}'
    docs: Run a mongoose-paginate-v2 query against the landpads collection.
- info:
    name: Launches
    type: folder
  items:
  - info:
      name: List All Launches
      type: http
    http:
      method: GET
      url: https://api.spacexdata.com/v5/launches
    docs: Return every launch record sorted ascending by flight_number.
  - info:
      name: List Past Launches
      type: http
    http:
      method: GET
      url: https://api.spacexdata.com/v5/launches/past
    docs: 'Return all launches with `upcoming: false`.'
  - info:
      name: List Upcoming Launches
      type: http
    http:
      method: GET
      url: https://api.spacexdata.com/v5/launches/upcoming
    docs: 'Return all launches with `upcoming: true`. In maintenance-only mode this list is no longer updated.'
  - info:
      name: Get Latest Launch
      type: http
    http:
      method: GET
      url: https://api.spacexdata.com/v5/launches/latest
    docs: 'Return the most recent past launch (highest flight_number with `upcoming: false`).'
  - info:
      name: Get Next Launch
      type: http
    http:
      method: GET
      url: https://api.spacexdata.com/v5/launches/next
    docs: 'Return the next upcoming launch (lowest flight_number with `upcoming: true`).'
  - info:
      name: Get One Launch
      type: http
    http:
      method: GET
      url: https://api.spacexdata.com/v5/launches/:id
      params:
      - name: id
        value: ''
        type: path
        description: Resource UUID (MongoDB ObjectId, e.g. `5e9d0d95eda69973a809d1ec`).
    docs: Return a single launch by its UUID.
  - info:
      name: Query Launches
      type: http
    http:
      method: POST
      url: https://api.spacexdata.com/v5/launches/query
      body:
        type: json
        data: '{}'
    docs: Run a mongoose-paginate-v2 query against the launches collection with optional populate.
- info:
    name: Launchpads
    type: folder
  items:
  - info:
      name: List All Launchpads
      type: http
    http:
      method: GET
      url: https://api.spacexdata.com/v4/launchpads
    docs: Return every launchpad record.
  - info:
      name: Get One Launchpad
      type: http
    http:
      method: GET
      url: https://api.spacexdata.com/v4/launchpads/:id
      params:
      - name: id
        value: ''
        type: path
        description: Resource UUID (MongoDB ObjectId, e.g. `5e9d0d95eda69973a809d1ec`).
    docs: Return a single launchpad by its UUID.
  - info:
      name: Query Launchpads
      type: http
    http:
      method: POST
      url: https://api.spacexdata.com/v4/launchpads/query
      body:
        type: json
        data: '{}'
    docs: Run a mongoose-paginate-v2 query against the launchpads collection.
- info:
    name: Payloads
    type: folder
  items:
  - info:
      name: List All Payloads
      type: http
    http:
      method: GET
      url: https://api.spacexdata.com/v4/payloads
    docs: Return every payload record.
  - info:
      name: Get One Payload
      type: http
    http:
      method: GET
      url: https://api.spacexdata.com/v4/payloads/:id
      params:
      - name: id
        value: ''
        type: path
        description: Resource UUID (MongoDB ObjectId, e.g. `5e9d0d95eda69973a809d1ec`).
    docs: Return a single payload by its UUID.
  - info:
      name: Query Payloads
      type: http
    http:
      method: POST
      url: https://api.spacexdata.com/v4/payloads/query
      body:
        type: json
        data: '{}'
    docs: Run a mongoose-paginate-v2 query against the payloads collection.
- info:
    name: Roadster
    type: folder
  items:
  - info:
      name: Get Roadster Ephemeris
      type: http
    http:
      method: GET
      url: https://api.spacexdata.com/v4/roadster
    docs: Return the current orbital ephemeris for Elon Musk's Tesla Roadster.
  - info:
      name: Query Roadster
      type: http
    http:
      method: POST
      url: https://api.spacexdata.com/v4/roadster/query
      body:
        type: json
        data: '{}'
    docs: Run a mongoose-paginate-v2 query against the roadster collection (single document).
- info:
    name: Rockets
    type: folder
  items:
  - info:
      name: List All Rockets
      type: http
    http:
      method: GET
      url: https://api.spacexdata.com/v4/rockets
    docs: Return every rocket version record.
  - info:
      name: Get One Rocket
      type: http
    http:
      method: GET
      url: https://api.spacexdata.com/v4/rockets/:id
      params:
      - name: id
        value: ''
        type: path
        description: Resource UUID (MongoDB ObjectId, e.g. `5e9d0d95eda69973a809d1ec`).
    docs: Return a single rocket by its UUID.
  - info:
      name: Query Rockets
      type: http
    http:
      method: POST
      url: https://api.spacexdata.com/v4/rockets/query
      body:
        type: json
        data: '{}'
    docs: Run a mongoose-paginate-v2 query against the rockets collection.
- info:
    name: Ships
    type: folder
  items:
  - info:
      name: List All Ships
      type: http
    http:
      method: GET
      url: https://api.spacexdata.com/v4/ships
    docs: Return every ship in the SpaceX fleet (droneships, recovery ships, support).
  - info:
      name: Get One Ship
      type: http
    http:
      method: GET
      url: https://api.spacexdata.com/v4/ships/:id
      params:
      - name: id
        value: ''
        type: path
        description: Resource UUID (MongoDB ObjectId, e.g. `5e9d0d95eda69973a809d1ec`).
    docs: Return a single ship by its UUID.
  - info:
      name: Query Ships
      type: http
    http:
      method: POST
      url: https://api.spacexdata.com/v4/ships/query
      body:
        type: json
        data: '{}'
    docs: Run a mongoose-paginate-v2 query against the ships collection.
- info:
    name: Starlink
    type: folder
  items:
  - info:
      name: List All Starlink Satellites
      type: http
    http:
      method: GET
      url: https://api.spacexdata.com/v4/starlink
    docs: Return every Starlink satellite record with raw Space-Track orbit data.
  - info:
      name: Get One Starlink Satellite
      type: http
    http:
      method: GET
      url: https://api.spacexdata.com/v4/starlink/:id
      params:
      - name: id
        value: ''
        type: path
        description: Resource UUID (MongoDB ObjectId, e.g. `5e9d0d95eda69973a809d1ec`).
    docs: Return a single Starlink satellite by its UUID.
  - info:
      name: Query Starlink Satellites
      type: http
    http:
      method: POST
      url: https://api.spacexdata.com/v4/starlink/query
      body:
        type: json
        data: '{}'
    docs: Run a mongoose-paginate-v2 query against the starlink collection.
bundled: true