Spaceflight News Blogs API

Blog posts and longform commentary from spaceflight publishers.

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/spaceflight-news-blogs-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

spaceflight-news-blogs-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Spaceflight News Articles Blogs API
  version: 4.30.2
  x-api-version: v4
  x-generated-from: documentation
  x-last-validated: '2026-05-30'
  x-source-url: https://api.spaceflightnewsapi.net/v4/schema/
  description: 'The Spaceflight News API (SNAPI) is a product by [The Space Devs](https://thespacedevs.com) (TSD).

    It is the most complete and up-to-date open spaceflight news API currently available, aggregating

    articles, blog posts, and official reports from 40+ news sites across the space industry.


    While this API is **free to use**, the project encourages developers to support TSD through

    [Patreon](https://www.patreon.com/TheSpaceDevs) to keep the API running.


    ### GraphQL

    A companion GraphQL endpoint is available at [/v4/graphql/](https://api.spaceflightnewsapi.net/v4/graphql/).


    ### Launch Library 2 Integration

    Every article, blog, and report can be linked to a Launch Library 2 launch (UUID) or event (LL2 ID),

    enabling launch tracking apps to surface related news.


    ### FAQs & Tutorials

    - [TheSpaceDevs Tutorials repo](https://github.com/TheSpaceDevs/Tutorials)

    - [SNAPI FAQ](https://github.com/TheSpaceDevs/Tutorials/blob/main/faqs/faq_SNAPI.md)

    - [TSD FAQ](https://github.com/TheSpaceDevs/Tutorials/blob/main/faqs/faq_TSD.md)


    ### Feedback & Support

    Reach the team on the TSD [Discord server](https://discord.gg/p7ntkNA) (#feedback-and-help) or

    email [derk@spaceflightnewsapi.net](mailto:derk@spaceflightnewsapi.net).

    '
  contact:
    name: The Space Devs
    email: derk@spaceflightnewsapi.net
    url: https://spaceflightnewsapi.net
  license:
    name: AGPL-3.0
    url: https://github.com/TheSpaceDevs/spaceflightnewsapi/blob/main/LICENSE
servers:
- url: https://api.spaceflightnewsapi.net/v4
  description: Spaceflight News API production server (v4)
tags:
- name: Blogs
  description: Blog posts and longform commentary from spaceflight publishers.
paths:
  /blogs/:
    get:
      operationId: listBlogs
      summary: Spaceflight News List Blogs
      description: List spaceflight blog posts (longform commentary, mission updates, and analysis) from participating publishers. Supports the same filtering, ordering, and pagination as the articles endpoint, including Launch Library 2 launch and event filters.
      tags:
      - Blogs
      security:
      - {}
      parameters:
      - $ref: '#/components/parameters/event'
      - $ref: '#/components/parameters/has_event'
      - $ref: '#/components/parameters/has_launch'
      - $ref: '#/components/parameters/is_featured'
      - $ref: '#/components/parameters/launch'
      - $ref: '#/components/parameters/limit'
      - $ref: '#/components/parameters/news_site'
      - $ref: '#/components/parameters/news_site_exclude'
      - $ref: '#/components/parameters/offset'
      - $ref: '#/components/parameters/ordering'
      - $ref: '#/components/parameters/published_at_gt'
      - $ref: '#/components/parameters/published_at_gte'
      - $ref: '#/components/parameters/published_at_lt'
      - $ref: '#/components/parameters/published_at_lte'
      - $ref: '#/components/parameters/search'
      - $ref: '#/components/parameters/summary_contains'
      - $ref: '#/components/parameters/summary_contains_all'
      - $ref: '#/components/parameters/summary_contains_one'
      - $ref: '#/components/parameters/title_contains'
      - $ref: '#/components/parameters/title_contains_all'
      - $ref: '#/components/parameters/title_contains_one'
      - $ref: '#/components/parameters/updated_at_gt'
      - $ref: '#/components/parameters/updated_at_gte'
      - $ref: '#/components/parameters/updated_at_lt'
      - $ref: '#/components/parameters/updated_at_lte'
      responses:
        '200':
          description: A paginated list of blog posts matching the supplied filters.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedBlogList'
              examples:
                ListBlogs200Example:
                  summary: Default listBlogs 200 response
                  x-microcks-default: true
                  value:
                    count: 1995
                    next: https://api.spaceflightnewsapi.net/v4/blogs/?limit=1&offset=1
                    previous: null
                    results:
                    - id: 2277
                      title: United Launch Alliance Precisely Delivers Seventh Amazon Leo Mission
                      authors:
                      - name: ULA
                        socials: null
                      url: https://blog.ulalaunch.com/blog/united-launch-alliance-precisely-delivers-seventh-amazon-leo-mission
                      image_url: https://blog.ulalaunch.com/hubfs/av_leo7_l4_media.jpg
                      news_site: United Launch Alliance
                      summary: ULA has launched the majority of Amazon Leo satellites on orbit.
                      published_at: '2026-05-30T01:40:06Z'
                      updated_at: '2026-05-30T01:50:20.401325Z'
                      featured: false
                      launches: []
                      events: []
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /blogs/{id}/:
    get:
      operationId: retrieveBlog
      summary: Spaceflight News Retrieve Blog
      description: Retrieve a single blog post by its unique integer ID.
      tags:
      - Blogs
      security:
      - {}
      parameters:
      - in: path
        name: id
        required: true
        description: A unique integer value identifying this blog post.
        schema:
          type: integer
        example: 2277
      responses:
        '200':
          description: The requested blog post.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Blog'
              examples:
                RetrieveBlog200Example:
                  summary: Default retrieveBlog 200 response
                  x-microcks-default: true
                  value:
                    id: 2277
                    title: United Launch Alliance Precisely Delivers Seventh Amazon Leo Mission
                    authors:
                    - name: ULA
                      socials: null
                    url: https://blog.ulalaunch.com/blog/united-launch-alliance-precisely-delivers-seventh-amazon-leo-mission
                    image_url: https://blog.ulalaunch.com/hubfs/av_leo7_l4_media.jpg
                    news_site: United Launch Alliance
                    summary: ULA has launched the majority of Amazon Leo satellites on orbit.
                    published_at: '2026-05-30T01:40:06Z'
                    updated_at: '2026-05-30T01:50:20.401325Z'
                    featured: false
                    launches: []
                    events: []
        '404':
          description: Blog post not found.
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
components:
  parameters:
    updated_at_lte:
      in: query
      name: updated_at_lte
      description: Get all documents updated before a given ISO8601 timestamp (included).
      schema:
        type: string
        format: date-time
      example: '2026-12-31T23:59:59Z'
    updated_at_gt:
      in: query
      name: updated_at_gt
      description: Get all documents updated after a given ISO8601 timestamp (excluded).
      schema:
        type: string
        format: date-time
      example: '2025-01-01T00:00:00Z'
    published_at_lt:
      in: query
      name: published_at_lt
      description: Get all documents published before a given ISO8601 timestamp (excluded).
      schema:
        type: string
        format: date-time
      example: '2026-12-31T23:59:59Z'
    title_contains_all:
      in: query
      name: title_contains_all
      description: Search for documents with a title containing all keywords from comma-separated values.
      schema:
        type: string
      example: Starlink,launch
    launch:
      in: query
      name: launch
      description: Search for all documents related to a specific launch using its Launch Library 2 UUID.
      schema:
        type: array
        items:
          type: string
          format: uuid
      explode: false
      style: form
      example:
      - f33d5ece-e825-4cd8-809f-1d4c72a2e0d3
    published_at_gt:
      in: query
      name: published_at_gt
      description: Get all documents published after a given ISO8601 timestamp (excluded).
      schema:
        type: string
        format: date-time
      example: '2025-01-01T00:00:00Z'
    title_contains:
      in: query
      name: title_contains
      description: Search for all documents with a specific phrase in the title.
      schema:
        type: string
      example: SpaceX
    updated_at_gte:
      in: query
      name: updated_at_gte
      description: Get all documents updated after a given ISO8601 timestamp (included).
      schema:
        type: string
        format: date-time
      example: '2025-01-01T00:00:00Z'
    has_launch:
      in: query
      name: has_launch
      description: Get all documents that have a related launch.
      schema:
        type: boolean
      example: true
    summary_contains:
      in: query
      name: summary_contains
      description: Search for all documents with a specific phrase in the summary.
      schema:
        type: string
      example: Falcon 9
    summary_contains_all:
      in: query
      name: summary_contains_all
      description: Search for documents with a summary containing all keywords from comma-separated values.
      schema:
        type: string
      example: Starship,booster
    is_featured:
      in: query
      name: is_featured
      description: Get all documents that are featured.
      schema:
        type: boolean
      example: true
    title_contains_one:
      in: query
      name: title_contains_one
      description: Search for documents with a title containing at least one keyword from comma-separated values.
      schema:
        type: string
      example: SpaceX,Blue Origin
    search:
      in: query
      name: search
      required: false
      description: Search for documents with a specific phrase in the title or summary.
      schema:
        type: string
      example: Starship
    has_event:
      in: query
      name: has_event
      description: Get all documents that have a related event.
      schema:
        type: boolean
      example: true
    summary_contains_one:
      in: query
      name: summary_contains_one
      description: Search for documents with a summary containing at least one keyword from comma-separated values.
      schema:
        type: string
      example: Falcon,Starship,Dragon
    updated_at_lt:
      in: query
      name: updated_at_lt
      description: Get all documents updated before a given ISO8601 timestamp (excluded).
      schema:
        type: string
        format: date-time
      example: '2026-12-31T23:59:59Z'
    published_at_lte:
      in: query
      name: published_at_lte
      description: Get all documents published before a given ISO8601 timestamp (included).
      schema:
        type: string
        format: date-time
      example: '2026-12-31T23:59:59Z'
    news_site:
      in: query
      name: news_site
      description: Search for documents with a news_site name present in a list of comma-separated values. Case insensitive.
      schema:
        type: string
      example: SpaceX,NASA
    news_site_exclude:
      in: query
      name: news_site_exclude
      description: Search for documents with a news_site name NOT present in a list of comma-separated values. Case insensitive.
      schema:
        type: string
      example: TechCrunch
    published_at_gte:
      in: query
      name: published_at_gte
      description: Get all documents published after a given ISO8601 timestamp (included).
      schema:
        type: string
        format: date-time
      example: '2025-01-01T00:00:00Z'
    ordering:
      in: query
      name: ordering
      description: 'Order the result on `published_at, -published_at, updated_at, -updated_at`.


        * `published_at` - Published at

        * `-published_at` - Published at (descending)

        * `updated_at` - Updated at

        * `-updated_at` - Updated at (descending)'
      schema:
        type: array
        items:
          type: string
          enum:
          - -published_at
          - -updated_at
          - published_at
          - updated_at
      explode: false
      style: form
      example:
      - -published_at
    event:
      in: query
      name: event
      description: Search for all documents related to a specific event using its Launch Library 2 ID.
      schema:
        type: array
        items:
          type: integer
      explode: false
      style: form
      example:
      - 42
    offset:
      in: query
      name: offset
      required: false
      description: The initial index from which to return the results.
      schema:
        type: integer
      example: 0
    limit:
      in: query
      name: limit
      required: false
      description: Number of results to return per page.
      schema:
        type: integer
      example: 10
  schemas:
    Launch:
      type: object
      description: Relationship to a Launch Library 2 launch.
      properties:
        launch_id:
          type: string
          format: 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
    Event:
      type: object
      description: Relationship to a Launch Library 2 event (e.g. EVA, docking, milestone).
      properties:
        event_id:
          type: integer
          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
    Author:
      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:
          $ref: '#/components/schemas/Socials'
      required:
      - name
    Blog:
      type: object
      description: A spaceflight blog post (longform commentary or analysis) from a participating publisher.
      properties:
        id:
          type: integer
          readOnly: true
          description: Unique identifier of the blog post.
          example: 2277
        title:
          type: string
          maxLength: 250
          description: Title of the blog post.
          example: United Launch Alliance Precisely Delivers Seventh Amazon Leo Mission
        authors:
          type: array
          description: List of authors who contributed to the blog post.
          items:
            $ref: '#/components/schemas/Author'
        url:
          type: string
          format: uri
          maxLength: 200
          description: Canonical URL of the blog post on the source publisher.
          example: https://blog.ulalaunch.com/blog/seventh-amazon-leo-mission
        image_url:
          type: string
          format: uri
          maxLength: 500
          description: URL to a cover/header image for the blog post.
          example: https://blog.ulalaunch.com/hubfs/av_leo7_l4_media.jpg
        news_site:
          type: string
          readOnly: true
          description: Display name of the publisher.
          example: United Launch Alliance
        summary:
          type: string
          description: Short summary of the blog post.
          example: ULA has launched the majority of Amazon Leo satellites on orbit.
        published_at:
          type: string
          format: date-time
          description: ISO 8601 timestamp when the blog post was originally published.
          example: '2026-05-30T01:40:06Z'
        updated_at:
          type: string
          format: date-time
          readOnly: true
          description: ISO 8601 timestamp when the blog post was last updated in SNAPI.
          example: '2026-05-30T01:50:20.401325Z'
        featured:
          type: boolean
          description: Whether the blog post is featured.
          example: false
        launches:
          type: array
          description: Related Launch Library 2 launches.
          items:
            $ref: '#/components/schemas/Launch'
        events:
          type: array
          description: Related Launch Library 2 events.
          items:
            $ref: '#/components/schemas/Event'
      required:
      - authors
      - events
      - id
      - image_url
      - launches
      - news_site
      - published_at
      - summary
      - title
      - updated_at
      - url
    Socials:
      type: object
      description: Social media handles for an author.
      properties:
        x:
          type: string
          format: uri
          maxLength: 200
          description: URL of the author's X (Twitter) profile.
          example: https://x.com/willrobinsons
        youtube:
          type: string
          format: uri
          maxLength: 200
          description: URL of the author's YouTube channel.
          example: https://youtube.com/@author
        instagram:
          type: string
          format: uri
          maxLength: 200
          description: URL of the author's Instagram profile.
          example: https://instagram.com/author
        linkedin:
          type: string
          format: uri
          maxLength: 200
          description: URL of the author's LinkedIn profile.
          example: https://linkedin.com/in/author
        mastodon:
          type: string
          format: uri
          maxLength: 200
          description: URL of the author's Mastodon profile.
          example: https://mastodon.social/@author
        bluesky:
          type: string
          format: uri
          maxLength: 200
          description: URL of the author's Bluesky profile.
          example: https://bsky.app/profile/author.bsky.social
    PaginatedBlogList:
      type: object
      description: Paginated envelope wrapping a page of blog posts.
      required:
      - count
      - results
      properties:
        count:
          type: integer
          description: Total number of blog posts matching the query.
          example: 1995
        next:
          type: string
          nullable: true
          format: uri
          description: URL to fetch the next page of results, or null on the last page.
          example: https://api.spaceflightnewsapi.net/v4/blogs/?limit=10&offset=20
        previous:
          type: string
          nullable: true
          format: uri
          description: URL to fetch the previous page of results, or null on the first page.
          example: https://api.spaceflightnewsapi.net/v4/blogs/?limit=10&offset=0
        results:
          type: array
          description: The current page of blog posts.
          items:
            $ref: '#/components/schemas/Blog'