Spaceflight News · JSON Structure

Spaceflight News Article Structure

A spaceflight news article aggregated from a participating publisher.

Type: object Properties: 12 Required: 11
NewsSpaceSpaceflightAerospaceOpen SourceLaunchesPublic APIs

Article is a JSON Structure definition published by Spaceflight News, describing 12 properties, of which 11 are required. It conforms to the https://json-structure.org/meta/core/v0/# meta-schema.

Properties

id title authors url image_url news_site summary published_at updated_at featured launches events

Meta-schema: https://json-structure.org/meta/core/v0/#

JSON Structure

Raw ↑
{
  "$schema": "https://json-structure.org/meta/core/v0/#",
  "$id": "https://raw.githubusercontent.com/api-evangelist/spaceflight-news/refs/heads/main/json-structure/spaceflight-news-article-structure.json",
  "name": "Article",
  "description": "A spaceflight news article aggregated from a participating publisher.",
  "type": "object",
  "properties": {
    "id": {
      "type": "int32",
      "readOnly": true,
      "description": "Unique identifier of the article.",
      "example": 38168
    },
    "title": {
      "type": "string",
      "maxLength": 250,
      "description": "Title of the article.",
      "example": "Live coverage: SpaceX to launch 50th Starlink mission of 2026"
    },
    "authors": {
      "type": "array",
      "description": "List of authors who contributed to the article.",
      "items": {
        "type": "object",
        "description": "Author byline for an article, blog, or report.",
        "properties": {
          "name": {
            "type": "string",
            "maxLength": 250,
            "description": "Display name of the author.",
            "example": "Will Robinson-Smith"
          },
          "socials": {
            "type": "object",
            "description": "Social media handles for an author.",
            "properties": {
              "x": {
                "type": "uri",
                "maxLength": 200,
                "description": "URL of the author's X (Twitter) profile.",
                "example": "https://x.com/willrobinsons"
              },
              "youtube": {
                "type": "uri",
                "maxLength": 200,
                "description": "URL of the author's YouTube channel.",
                "example": "https://youtube.com/@author"
              },
              "instagram": {
                "type": "uri",
                "maxLength": 200,
                "description": "URL of the author's Instagram profile.",
                "example": "https://instagram.com/author"
              },
              "linkedin": {
                "type": "uri",
                "maxLength": 200,
                "description": "URL of the author's LinkedIn profile.",
                "example": "https://linkedin.com/in/author"
              },
              "mastodon": {
                "type": "uri",
                "maxLength": 200,
                "description": "URL of the author's Mastodon profile.",
                "example": "https://mastodon.social/@author"
              },
              "bluesky": {
                "type": "uri",
                "maxLength": 200,
                "description": "URL of the author's Bluesky profile.",
                "example": "https://bsky.app/profile/author.bsky.social"
              }
            }
          }
        },
        "required": [
          "name"
        ]
      }
    },
    "url": {
      "type": "uri",
      "maxLength": 200,
      "description": "Canonical URL of the article on the source publisher.",
      "example": "https://spaceflightnow.com/2026/05/30/live-coverage-spacex-starlink/"
    },
    "image_url": {
      "type": "uri",
      "maxLength": 500,
      "description": "URL to a cover/header image for the article.",
      "example": "https://spaceflightnow.com/wp-content/uploads/2025/09/Starlink_Vertical.jpg"
    },
    "news_site": {
      "type": "string",
      "readOnly": true,
      "description": "Display name of the publisher that produced the article.",
      "example": "Spaceflight Now"
    },
    "summary": {
      "type": "string",
      "description": "Short summary of the article body.",
      "example": "The Starlink 17-41 mission is SpaceX's 10th and final launch of May."
    },
    "published_at": {
      "type": "datetime",
      "description": "ISO 8601 timestamp when the article was originally published.",
      "example": "2026-05-30T13:46:18Z"
    },
    "updated_at": {
      "type": "datetime",
      "readOnly": true,
      "description": "ISO 8601 timestamp when the article was last updated in SNAPI.",
      "example": "2026-05-30T13:50:17.306479Z"
    },
    "featured": {
      "type": "boolean",
      "description": "Whether the article is featured (curated by SNAPI editors).",
      "example": false
    },
    "launches": {
      "type": "array",
      "description": "Related Launch Library 2 launches.",
      "items": {
        "type": "object",
        "description": "Relationship to a Launch Library 2 launch.",
        "properties": {
          "launch_id": {
            "type": "uuid",
            "description": "Launch Library 2 launch UUID.",
            "example": "f33d5ece-e825-4cd8-809f-1d4c72a2e0d3"
          },
          "provider": {
            "type": "string",
            "readOnly": true,
            "description": "Source provider of the related launch (typically Launch Library 2).",
            "example": "Launch Library 2"
          }
        },
        "required": [
          "launch_id",
          "provider"
        ]
      }
    },
    "events": {
      "type": "array",
      "description": "Related Launch Library 2 events.",
      "items": {
        "type": "object",
        "description": "Relationship to a Launch Library 2 event (e.g. EVA, docking, milestone).",
        "properties": {
          "event_id": {
            "type": "int32",
            "maximum": 2147483647,
            "minimum": -2147483648,
            "description": "Launch Library 2 event identifier.",
            "example": 851
          },
          "provider": {
            "type": "string",
            "readOnly": true,
            "description": "Source provider of the related event (typically Launch Library 2).",
            "example": "Launch Library 2"
          }
        },
        "required": [
          "event_id",
          "provider"
        ]
      }
    }
  },
  "required": [
    "authors",
    "events",
    "id",
    "image_url",
    "launches",
    "news_site",
    "published_at",
    "summary",
    "title",
    "updated_at",
    "url"
  ]
}