# Spaceflight News

> Read spaceflight journalism from the keyless Spaceflight News API by The Space Devs. Search news articles, blog posts and mission reports together or apart, filter by news site, keyword, date or the editors' featured flag, poll for what is new since your last run, and pull every story tied to a specific launch or event by its Launch Library 2 ID. No account or API key is required.

App · News · 12 actions. Web page: https://docs.lodol.com/docs/integrations/spaceflight-news

## Actions

### Find news about a launch

Find every story tied to a rocket launch, by its Launch Library 2 launch ID. This is the link that makes the Spaceflight News API more than a feed: coverage is matched to the flight it is about, so a workflow watching a launch can pull what was written about it without guessing at keywords. Reports carry no launch link, so only articles and blog posts are searched.

**Inputs**

- Launch IDs (`launch_ids`, list, required): The Launch Library 2 launches to find coverage of, as UUIDs. Every story this integration returns lists the launches it is tied to in 'launch_ids', so a story found by one action feeds this one directly.
- Look in (`content_types`, list): Which collections to search. Leave empty for both. Reports are not offered here: the Spaceflight News API does not tag them as featured or link them to launches and events. One or more of: `articles` (Articles: news from professional space sites), `blogs` (Blogs: posts, including good amateur writing).
- Sort by (`ordering`, text): How to order the stories that come back. One of: `-published_at` (Newest first, by publication date), `published_at` (Oldest first, by publication date), `-updated_at` (Most recently updated first), `updated_at` (Least recently updated first). Default: `-published_at`.
- Limit (`limit`, number): How many stories to return, from 1 to 500. The answer always says how many matched in total, so a limited list never reads as a complete one. Defaults to 25. From 1 to 500. Default: `25`.

**Outputs**

- `content_types` (list)
- `count` (number)
- `counts_by_type` (object)
- `items` (list)
- `launch_ids` (list)
- `limit` (number)
- `ordering` (text)
- `requests_made` (number)
- `total_count` (number)

**Example output**

```json
{
  "content_types": [
    "articles",
    "blogs"
  ],
  "count": 1,
  "counts_by_type": {
    "articles": 2,
    "blogs": 0
  },
  "items": [
    {
      "author_names": [
        "Jeff Foust"
      ],
      "authors": [
        {
          "name": "Jeff Foust",
          "socials": null
        }
      ],
      "event_ids": [],
      "events": [],
      "featured": false,
      "id": 39431,
      "image_url": "https://spacenews.com/wp-content/uploads/2026/08/h3-launch.jpg",
      "launch_ids": [
        "b89ab080-66c3-4831-85a9-38d85da71d30"
      ],
      "launches": [
        {
          "launch_id": "b89ab080-66c3-4831-85a9-38d85da71d30",
          "provider": "Launch Library 2"
        }
      ],
      "news_site": "SpaceNews",
      "published_at": "2026-08-22T09:14:00Z",
      "summary": "A Japanese H3 rocket placed a navigation satellite into orbit, the fourth flight of the vehicle this year.",
      "title": "H3 launches navigation satellite",
      "type": "article",
      "updated_at": "2026-08-22T09:41:12.118427Z",
      "url": "https://spacenews.com/h3-launches-navigation-satellite/"
    }
  ],
  "launch_ids": [
    "b89ab080-66c3-4831-85a9-38d85da71d30"
  ],
  "limit": 25,
  "ordering": "-published_at",
  "requests_made": 2,
  "total_count": 2
}
```

### Find news about an event

Find every story tied to a spaceflight event, by its Launch Library 2 event ID. Events cover the things that are not launches: spacewalks, landings, docking, budget announcements. Reports carry no event link, so only articles and blog posts are searched.

**Inputs**

- Event IDs (`event_ids`, list, required): The Launch Library 2 events to find coverage of, as whole numbers. Every story this integration returns lists the events it is tied to in 'event_ids'.
- Look in (`content_types`, list): Which collections to search. Leave empty for both. Reports are not offered here: the Spaceflight News API does not tag them as featured or link them to launches and events. One or more of: `articles` (Articles: news from professional space sites), `blogs` (Blogs: posts, including good amateur writing).
- Sort by (`ordering`, text): How to order the stories that come back. One of: `-published_at` (Newest first, by publication date), `published_at` (Oldest first, by publication date), `-updated_at` (Most recently updated first), `updated_at` (Least recently updated first). Default: `-published_at`.
- Limit (`limit`, number): How many stories to return, from 1 to 500. The answer always says how many matched in total, so a limited list never reads as a complete one. Defaults to 25. From 1 to 500. Default: `25`.

**Outputs**

- `content_types` (list)
- `count` (number)
- `counts_by_type` (object)
- `event_ids` (list)
- `items` (list)
- `limit` (number)
- `ordering` (text)
- `requests_made` (number)
- `total_count` (number)

**Example output**

```json
{
  "content_types": [
    "articles",
    "blogs"
  ],
  "count": 1,
  "counts_by_type": {
    "articles": 8,
    "blogs": 0
  },
  "event_ids": [
    1454
  ],
  "items": [
    {
      "author_names": [
        "Eric Berger"
      ],
      "authors": [
        {
          "name": "Eric Berger",
          "socials": null
        }
      ],
      "event_ids": [
        1454
      ],
      "events": [
        {
          "event_id": 1454,
          "provider": "Launch Library 2"
        }
      ],
      "featured": true,
      "id": 30998,
      "image_url": "https://cdn.arstechnica.net/wp-content/uploads/2026/05/sls-rollout.jpg",
      "launch_ids": [],
      "launches": [],
      "news_site": "Arstechnica",
      "published_at": "2026-05-02T18:03:44Z",
      "summary": "The request would retire the Space Launch System after Artemis 3 and hand deep space transport to commercial providers.",
      "title": "White House budget seeks to end SLS, Orion, and Gateway",
      "type": "article",
      "updated_at": "2026-05-02T19:10:05.442913Z",
      "url": "https://arstechnica.com/space/2026/05/white-house-budget-sls-orion/"
    }
  ],
  "limit": 25,
  "ordering": "-published_at",
  "requests_made": 2,
  "total_count": 8
}
```

### Get a blog post

Read one blog post by its ID, with the same fields as an article: title, summary, authors, news site, link, image and timestamps.

**Inputs**

- Blog post ID (`blog_id`, number, required): The blog post's ID in the Spaceflight News API. Every action here returns the ID of each story it found. At least 1.

**Outputs**

- `author_names` (list)
- `authors` (list)
- `event_ids` (list)
- `events` (list)
- `featured` (true/false)
- `id` (number)
- `image_url` (text)
- `launch_ids` (list)
- `launches` (list)
- `news_site` (text)
- `published_at` (text)
- `summary` (text)
- `title` (text)
- `type` (text)
- `updated_at` (text)
- `url` (text)

**Example output**

```json
{
  "author_names": [
    "NASA"
  ],
  "authors": [
    {
      "name": "NASA",
      "socials": null
    }
  ],
  "event_ids": [],
  "events": [],
  "featured": false,
  "id": 2422,
  "image_url": "https://images-assets.nasa.gov/image/iss075e0000126/iss075e0000126~large.jpg",
  "launch_ids": [],
  "launches": [],
  "news_site": "NASA",
  "published_at": "2026-08-21T20:35:00Z",
  "summary": "The Expedition 75 crew spent Friday readying spacesuits and running exercise studies aboard the International Space Station.",
  "title": "Week Ends With Spacewalk Preps and Space Exercise Research",
  "type": "blog",
  "updated_at": "2026-08-21T20:51:33.907512Z",
  "url": "https://www.nasa.gov/blogs/spacestation/2026/08/21/week-ends-with-spacewalk-preps-and-space-exercise-research/"
}
```

### Get a report

Read one report by its ID. Reports carry the same fields as an article, with no featured flag and no launch or event links.

**Inputs**

- Report ID (`report_id`, number, required): The report's ID in the Spaceflight News API. Every action here returns the ID of each story it found. At least 1.

**Outputs**

- `author_names` (list)
- `authors` (list)
- `event_ids` (list)
- `events` (list)
- `featured` (true/false)
- `id` (number)
- `image_url` (text)
- `launch_ids` (list)
- `launches` (list)
- `news_site` (text)
- `published_at` (text)
- `summary` (text)
- `title` (text)
- `type` (text)
- `updated_at` (text)
- `url` (text)

**Example output**

```json
{
  "author_names": [],
  "authors": [],
  "event_ids": [],
  "events": [],
  "featured": false,
  "id": 1662,
  "image_url": "https://boeing-jtti.s3.amazonaws.com/wp-content/uploads/2023/02/docking_with_earth_in_background_out_window.png",
  "launch_ids": [],
  "launches": [],
  "news_site": "Boeing",
  "published_at": "2026-09-07T04:12:00Z",
  "summary": "Boeing's Starliner landed safely at 12:01 a.m. Eastern time after an extended stay at the International Space Station.",
  "title": "Starliner arrives safely back on Earth",
  "type": "report",
  "updated_at": "2026-09-07T05:02:18.660391Z",
  "url": "https://starlinerupdates.com/starliner-arrives-safely-back-on-earth/"
}
```

### Get an article

Read one news article by its ID: its title, summary, authors, news site, link, image, publication and revision times, and the launches and events it is tied to. Use it to read a story back later, storing only the ID that every other action returns beside each story.

**Inputs**

- Article ID (`article_id`, number, required): The article's ID in the Spaceflight News API. Every action here returns the ID of each story it found. At least 1.

**Outputs**

- `author_names` (list)
- `authors` (list)
- `event_ids` (list)
- `events` (list)
- `featured` (true/false)
- `id` (number)
- `image_url` (text)
- `launch_ids` (list)
- `launches` (list)
- `news_site` (text)
- `published_at` (text)
- `summary` (text)
- `title` (text)
- `type` (text)
- `updated_at` (text)
- `url` (text)

**Example output**

```json
{
  "author_names": [
    "Jeff Foust"
  ],
  "authors": [
    {
      "name": "Jeff Foust",
      "socials": null
    }
  ],
  "event_ids": [],
  "events": [],
  "featured": false,
  "id": 39431,
  "image_url": "https://spacenews.com/wp-content/uploads/2026/08/h3-launch.jpg",
  "launch_ids": [
    "b89ab080-66c3-4831-85a9-38d85da71d30"
  ],
  "launches": [
    {
      "launch_id": "b89ab080-66c3-4831-85a9-38d85da71d30",
      "provider": "Launch Library 2"
    }
  ],
  "news_site": "SpaceNews",
  "published_at": "2026-08-22T09:14:00Z",
  "summary": "A Japanese H3 rocket placed a navigation satellite into orbit, the fourth flight of the vehicle this year.",
  "title": "H3 launches navigation satellite",
  "type": "article",
  "updated_at": "2026-08-22T09:41:12.118427Z",
  "url": "https://spacenews.com/h3-launches-navigation-satellite/"
}
```

### Get featured stories

Get the stories the Spaceflight News API flags as featured, which is its own editorial pick of what mattered. Use it for a digest that should carry the notable stories rather than everything published. Only articles and blog posts are flagged, so reports are not searched.

**Inputs**

- Look in (`content_types`, list): Which collections to search. Leave empty for both. Reports are not offered here: the Spaceflight News API does not tag them as featured or link them to launches and events. One or more of: `articles` (Articles: news from professional space sites), `blogs` (Blogs: posts, including good amateur writing).
- Only these news sites (`news_sites`, list): Only stories from these sites. The list is fetched from the Spaceflight News API, so it is always the sites it currently indexes. Leave empty for every site.
- Skip these news sites (`exclude_news_sites`, list): Leave out stories from these sites. Useful for dropping a source that republishes other sites' coverage.
- Published on or after (`published_after`, date and time): Only stories published at or after this moment. Leave empty for no earliest date.
- Published on or before (`published_before`, date and time): Only stories published at or before this moment. Pair it with 'Published on or after' to read a single day or week.
- Sort by (`ordering`, text): How to order the stories that come back. One of: `-published_at` (Newest first, by publication date), `published_at` (Oldest first, by publication date), `-updated_at` (Most recently updated first), `updated_at` (Least recently updated first). Default: `-published_at`.
- Limit (`limit`, number): How many stories to return, from 1 to 500. The answer always says how many matched in total, so a limited list never reads as a complete one. Defaults to 25. From 1 to 500. Default: `25`.

**Outputs**

- `content_types` (list)
- `count` (number)
- `counts_by_type` (object)
- `items` (list)
- `limit` (number)
- `ordering` (text)
- `requests_made` (number)
- `total_count` (number)

**Example output**

```json
{
  "content_types": [
    "articles",
    "blogs"
  ],
  "count": 1,
  "counts_by_type": {
    "articles": 190,
    "blogs": 0
  },
  "items": [
    {
      "author_names": [
        "Eric Berger"
      ],
      "authors": [
        {
          "name": "Eric Berger",
          "socials": null
        }
      ],
      "event_ids": [
        1454
      ],
      "events": [
        {
          "event_id": 1454,
          "provider": "Launch Library 2"
        }
      ],
      "featured": true,
      "id": 30998,
      "image_url": "https://cdn.arstechnica.net/wp-content/uploads/2026/05/sls-rollout.jpg",
      "launch_ids": [],
      "launches": [],
      "news_site": "Arstechnica",
      "published_at": "2026-05-02T18:03:44Z",
      "summary": "The request would retire the Space Launch System after Artemis 3 and hand deep space transport to commercial providers.",
      "title": "White House budget seeks to end SLS, Orion, and Gateway",
      "type": "article",
      "updated_at": "2026-05-02T19:10:05.442913Z",
      "url": "https://arstechnica.com/space/2026/05/white-house-budget-sls-orion/"
    }
  ],
  "limit": 25,
  "ordering": "-published_at",
  "requests_made": 2,
  "total_count": 190
}
```

### Get the latest news

Get what the Spaceflight News API has published since a given moment, across the collections you pick. Built for a scheduled workflow: the answer carries a 'cursor', and passing that back as 'Newer than' on the next run returns only what has appeared since, with nothing repeated and nothing missed. Left empty it simply returns the newest stories and the cursor to start from.

**Inputs**

- Newer than (`since`, date and time): Only stories after this moment, not including it. Pass back the 'cursor' from the previous run and each run returns only what it has not seen. Leave empty to start from the newest stories.
- Older than (`until`, date and time): Only stories before this moment, not including it. Pair it with 'Newer than' to walk back through a backlog one window at a time.
- Count as new when (`since_field`, text): Which timestamp decides whether a story is new: when it was published, or when its record last changed. Use 'Updated' to catch corrections to stories you have already seen. One of: `published` (Published: stories that are new), `updated` (Updated: also stories whose record has since changed). Default: `published`.
- Look in (`content_types`, list): Which collections to search. Leave empty for all three. Each one costs a request, so picking fewer is faster. One or more of: `articles` (Articles: news from professional space sites), `blogs` (Blogs: posts, including good amateur writing), `reports` (Reports: daily mission summary reports).
- Only these news sites (`news_sites`, list): Only stories from these sites. The list is fetched from the Spaceflight News API, so it is always the sites it currently indexes. Leave empty for every site.
- Skip these news sites (`exclude_news_sites`, list): Leave out stories from these sites. Useful for dropping a source that republishes other sites' coverage.
- Limit (`limit`, number): How many stories to return, from 1 to 500. The answer always says how many matched in total, so a limited list never reads as a complete one. Defaults to 25. From 1 to 500. Default: `25`.

**Outputs**

- `content_types` (list)
- `count` (number)
- `counts_by_type` (object)
- `cursor` (text)
- `items` (list)
- `limit` (number)
- `requests_made` (number)
- `since` (text)
- `since_field` (text)
- `total_count` (number)
- `until` (text)

**Example output**

```json
{
  "content_types": [
    "articles",
    "blogs",
    "reports"
  ],
  "count": 2,
  "counts_by_type": {
    "articles": 1,
    "blogs": 1,
    "reports": 0
  },
  "cursor": "2026-08-22T09:14:00Z",
  "items": [
    {
      "author_names": [
        "Jeff Foust"
      ],
      "authors": [
        {
          "name": "Jeff Foust",
          "socials": null
        }
      ],
      "event_ids": [],
      "events": [],
      "featured": false,
      "id": 39431,
      "image_url": "https://spacenews.com/wp-content/uploads/2026/08/h3-launch.jpg",
      "launch_ids": [
        "b89ab080-66c3-4831-85a9-38d85da71d30"
      ],
      "launches": [
        {
          "launch_id": "b89ab080-66c3-4831-85a9-38d85da71d30",
          "provider": "Launch Library 2"
        }
      ],
      "news_site": "SpaceNews",
      "published_at": "2026-08-22T09:14:00Z",
      "summary": "A Japanese H3 rocket placed a navigation satellite into orbit, the fourth flight of the vehicle this year.",
      "title": "H3 launches navigation satellite",
      "type": "article",
      "updated_at": "2026-08-22T09:41:12.118427Z",
      "url": "https://spacenews.com/h3-launches-navigation-satellite/"
    },
    {
      "author_names": [
        "NASA"
      ],
      "authors": [
        {
          "name": "NASA",
          "socials": null
        }
      ],
      "event_ids": [],
      "events": [],
      "featured": false,
      "id": 2422,
      "image_url": "https://images-assets.nasa.gov/image/iss075e0000126/iss075e0000126~large.jpg",
      "launch_ids": [],
      "launches": [],
      "news_site": "NASA",
      "published_at": "2026-08-21T20:35:00Z",
      "summary": "The Expedition 75 crew spent Friday readying spacesuits and running exercise studies aboard the International Space Station.",
      "title": "Week Ends With Spacewalk Preps and Space Exercise Research",
      "type": "blog",
      "updated_at": "2026-08-21T20:51:33.907512Z",
      "url": "https://www.nasa.gov/blogs/spacestation/2026/08/21/week-ends-with-spacewalk-preps-and-space-exercise-research/"
    }
  ],
  "limit": 25,
  "requests_made": 3,
  "since": "2026-08-21T00:00:00Z",
  "since_field": "published",
  "total_count": 2,
  "until": null
}
```

### List news sites

List every news site the Spaceflight News API indexes, in alphabetical order, with the API version it is running. These are the exact names the news site filters take, and they are what fills the news site dropdowns on the other actions. Run it to see what is available to filter on before building a search.

**Inputs**: None.

**Outputs**

- `api_version` (text)
- `count` (number)
- `news_sites` (list)

**Example output**

```json
{
  "api_version": "4.33.0",
  "count": 8,
  "news_sites": [
    "Arstechnica",
    "European Spaceflight",
    "NASA",
    "NASASpaceflight",
    "Space.com",
    "SpaceNews",
    "Spaceflight Now",
    "The Space Devs"
  ]
}
```

### Search all news

Search articles, blog posts and reports in one step and get them back as a single list, newest first. Use it when the question is about a subject rather than a collection: everything written about a mission, wherever it was published. The answer breaks the totals down by collection and each story says which one it came from. Costs one request per collection searched.

**Inputs**

- Search words (`search`, text): Only stories whose title or summary contains this phrase. Leave empty to search everything.
- Title contains (`title_contains`, text): Only stories whose title contains this exact phrase. Use it when the words have to appear together and in order.
- Title keywords (`title_keywords`, list): Only stories whose title contains these keywords, in any order. Use 'Title keyword match' to say whether every keyword has to appear or just one of them.
- Title keyword match (`title_keywords_match`, text): Whether a title has to contain every keyword or only one of them. Applies to 'Title keywords'. One of: `all` (Match every keyword), `any` (Match at least one keyword). Default: `all`.
- Summary contains (`summary_contains`, text): Only stories whose summary contains this exact phrase. The summary is the standfirst or opening paragraph the news site published.
- Summary keywords (`summary_keywords`, list): Only stories whose summary contains these keywords, in any order. Use 'Summary keyword match' to say whether every keyword has to appear or just one of them.
- Summary keyword match (`summary_keywords_match`, text): Whether a summary has to contain every keyword or only one of them. Applies to 'Summary keywords'. One of: `all` (Match every keyword), `any` (Match at least one keyword). Default: `all`.
- Look in (`content_types`, list): Which collections to search. Leave empty for all three. Each one costs a request, so picking fewer is faster. One or more of: `articles` (Articles: news from professional space sites), `blogs` (Blogs: posts, including good amateur writing), `reports` (Reports: daily mission summary reports).
- Only these news sites (`news_sites`, list): Only stories from these sites. The list is fetched from the Spaceflight News API, so it is always the sites it currently indexes. Leave empty for every site.
- Skip these news sites (`exclude_news_sites`, list): Leave out stories from these sites. Useful for dropping a source that republishes other sites' coverage.
- Published on or after (`published_after`, date and time): Only stories published at or after this moment. Leave empty for no earliest date.
- Published on or before (`published_before`, date and time): Only stories published at or before this moment. Pair it with 'Published on or after' to read a single day or week.
- Sort by (`ordering`, text): How to order the stories that come back. One of: `-published_at` (Newest first, by publication date), `published_at` (Oldest first, by publication date), `-updated_at` (Most recently updated first), `updated_at` (Least recently updated first). Default: `-published_at`.
- Limit (`limit`, number): How many stories to return, from 1 to 500. The answer always says how many matched in total, so a limited list never reads as a complete one. Defaults to 25. From 1 to 500. Default: `25`.

**Outputs**

- `content_types` (list)
- `count` (number)
- `counts_by_type` (object)
- `filters` (object)
- `items` (list)
- `limit` (number)
- `ordering` (text)
- `requests_made` (number)
- `total_count` (number)

**Example output**

```json
{
  "content_types": [
    "articles",
    "blogs",
    "reports"
  ],
  "count": 3,
  "counts_by_type": {
    "articles": 614,
    "blogs": 43,
    "reports": 12
  },
  "filters": {
    "search": "Starliner"
  },
  "items": [
    {
      "author_names": [
        "Jeff Foust"
      ],
      "authors": [
        {
          "name": "Jeff Foust",
          "socials": null
        }
      ],
      "event_ids": [],
      "events": [],
      "featured": false,
      "id": 39431,
      "image_url": "https://spacenews.com/wp-content/uploads/2026/08/h3-launch.jpg",
      "launch_ids": [
        "b89ab080-66c3-4831-85a9-38d85da71d30"
      ],
      "launches": [
        {
          "launch_id": "b89ab080-66c3-4831-85a9-38d85da71d30",
          "provider": "Launch Library 2"
        }
      ],
      "news_site": "SpaceNews",
      "published_at": "2026-08-22T09:14:00Z",
      "summary": "A Japanese H3 rocket placed a navigation satellite into orbit, the fourth flight of the vehicle this year.",
      "title": "H3 launches navigation satellite",
      "type": "article",
      "updated_at": "2026-08-22T09:41:12.118427Z",
      "url": "https://spacenews.com/h3-launches-navigation-satellite/"
    },
    {
      "author_names": [
        "NASA"
      ],
      "authors": [
        {
          "name": "NASA",
          "socials": null
        }
      ],
      "event_ids": [],
      "events": [],
      "featured": false,
      "id": 2422,
      "image_url": "https://images-assets.nasa.gov/image/iss075e0000126/iss075e0000126~large.jpg",
      "launch_ids": [],
      "launches": [],
      "news_site": "NASA",
      "published_at": "2026-08-21T20:35:00Z",
      "summary": "The Expedition 75 crew spent Friday readying spacesuits and running exercise studies aboard the International Space Station.",
      "title": "Week Ends With Spacewalk Preps and Space Exercise Research",
      "type": "blog",
      "updated_at": "2026-08-21T20:51:33.907512Z",
      "url": "https://www.nasa.gov/blogs/spacestation/2026/08/21/week-ends-with-spacewalk-preps-and-space-exercise-research/"
    },
    {
      "author_names": [],
      "authors": [],
      "event_ids": [],
      "events": [],
      "featured": false,
      "id": 1662,
      "image_url": "https://boeing-jtti.s3.amazonaws.com/wp-content/uploads/2023/02/docking_with_earth_in_background_out_window.png",
      "launch_ids": [],
      "launches": [],
      "news_site": "Boeing",
      "published_at": "2026-09-07T04:12:00Z",
      "summary": "Boeing's Starliner landed safely at 12:01 a.m. Eastern time after an extended stay at the International Space Station.",
      "title": "Starliner arrives safely back on Earth",
      "type": "report",
      "updated_at": "2026-09-07T05:02:18.660391Z",
      "url": "https://starlinerupdates.com/starliner-arrives-safely-back-on-earth/"
    }
  ],
  "limit": 25,
  "ordering": "-published_at",
  "requests_made": 3,
  "total_count": 669
}
```

### Search articles

Search the news articles the Spaceflight News API indexes from professional space news sites. Match a phrase anywhere, or narrow to the title or the summary with a phrase or a keyword list; keep or drop specific news sites; bound it by when a story was published or last revised; and narrow to the featured stories or the ones tied to a launch or an event. The answer says how many matched in total and hands back the offset for the next page.

**Inputs**

- Search words (`search`, text): Only stories whose title or summary contains this phrase. Leave empty to search everything.
- Title contains (`title_contains`, text): Only stories whose title contains this exact phrase. Use it when the words have to appear together and in order.
- Title keywords (`title_keywords`, list): Only stories whose title contains these keywords, in any order. Use 'Title keyword match' to say whether every keyword has to appear or just one of them.
- Title keyword match (`title_keywords_match`, text): Whether a title has to contain every keyword or only one of them. Applies to 'Title keywords'. One of: `all` (Match every keyword), `any` (Match at least one keyword). Default: `all`.
- Summary contains (`summary_contains`, text): Only stories whose summary contains this exact phrase. The summary is the standfirst or opening paragraph the news site published.
- Summary keywords (`summary_keywords`, list): Only stories whose summary contains these keywords, in any order. Use 'Summary keyword match' to say whether every keyword has to appear or just one of them.
- Summary keyword match (`summary_keywords_match`, text): Whether a summary has to contain every keyword or only one of them. Applies to 'Summary keywords'. One of: `all` (Match every keyword), `any` (Match at least one keyword). Default: `all`.
- Only these news sites (`news_sites`, list): Only stories from these sites. The list is fetched from the Spaceflight News API, so it is always the sites it currently indexes. Leave empty for every site.
- Skip these news sites (`exclude_news_sites`, list): Leave out stories from these sites. Useful for dropping a source that republishes other sites' coverage.
- Published on or after (`published_after`, date and time): Only stories published at or after this moment. Leave empty for no earliest date.
- Published on or before (`published_before`, date and time): Only stories published at or before this moment. Pair it with 'Published on or after' to read a single day or week.
- Updated on or after (`updated_after`, date and time): Only stories whose record changed at or after this moment. The Spaceflight News API revises a story when the source corrects it.
- Updated on or before (`updated_before`, date and time): Only stories whose record changed at or before this moment.
- Featured (`featured`, text): Whether to narrow to the stories the Spaceflight News API's editors flagged as featured, which is its own idea of a top story. One of: `any` (Any story, featured or not), `yes` (Featured stories only), `no` (Skip featured stories). Default: `any`.
- Tied to a launch (`has_launch`, text): Whether to narrow to the stories linked to a launch in Launch Library 2. Every story returned lists the launches it is tied to. One of: `any` (Any story, launch related or not), `yes` (Only stories tied to a launch), `no` (Only stories not tied to a launch). Default: `any`.
- Tied to an event (`has_event`, text): Whether to narrow to the stories linked to an event in Launch Library 2, such as a spacewalk or a landing. One of: `any` (Any story, event related or not), `yes` (Only stories tied to an event), `no` (Only stories not tied to an event). Default: `any`.
- Sort by (`ordering`, text): How to order the stories that come back. One of: `-published_at` (Newest first, by publication date), `published_at` (Oldest first, by publication date), `-updated_at` (Most recently updated first), `updated_at` (Least recently updated first). Default: `-published_at`.
- Limit (`limit`, number): How many stories to return, from 1 to 500. The answer always says how many matched in total, so a limited list never reads as a complete one. Defaults to 25. From 1 to 500. Default: `25`.
- Skip (`offset`, number): How many matching stories to skip before returning any, counting from zero. Each answer hands back the 'next_offset' to use for the following page. At least 0. Default: `0`.

**Outputs**

- `count` (number)
- `filters` (object)
- `has_more` (true/false)
- `items` (list)
- `limit` (number)
- `next_offset` (number)
- `offset` (number)
- `total_count` (number)

**Example output**

```json
{
  "count": 2,
  "filters": {
    "search": "Artemis"
  },
  "has_more": true,
  "items": [
    {
      "author_names": [
        "Jeff Foust"
      ],
      "authors": [
        {
          "name": "Jeff Foust",
          "socials": null
        }
      ],
      "event_ids": [],
      "events": [],
      "featured": false,
      "id": 39431,
      "image_url": "https://spacenews.com/wp-content/uploads/2026/08/h3-launch.jpg",
      "launch_ids": [
        "b89ab080-66c3-4831-85a9-38d85da71d30"
      ],
      "launches": [
        {
          "launch_id": "b89ab080-66c3-4831-85a9-38d85da71d30",
          "provider": "Launch Library 2"
        }
      ],
      "news_site": "SpaceNews",
      "published_at": "2026-08-22T09:14:00Z",
      "summary": "A Japanese H3 rocket placed a navigation satellite into orbit, the fourth flight of the vehicle this year.",
      "title": "H3 launches navigation satellite",
      "type": "article",
      "updated_at": "2026-08-22T09:41:12.118427Z",
      "url": "https://spacenews.com/h3-launches-navigation-satellite/"
    },
    {
      "author_names": [
        "Eric Berger"
      ],
      "authors": [
        {
          "name": "Eric Berger",
          "socials": null
        }
      ],
      "event_ids": [
        1454
      ],
      "events": [
        {
          "event_id": 1454,
          "provider": "Launch Library 2"
        }
      ],
      "featured": true,
      "id": 30998,
      "image_url": "https://cdn.arstechnica.net/wp-content/uploads/2026/05/sls-rollout.jpg",
      "launch_ids": [],
      "launches": [],
      "news_site": "Arstechnica",
      "published_at": "2026-05-02T18:03:44Z",
      "summary": "The request would retire the Space Launch System after Artemis 3 and hand deep space transport to commercial providers.",
      "title": "White House budget seeks to end SLS, Orion, and Gateway",
      "type": "article",
      "updated_at": "2026-05-02T19:10:05.442913Z",
      "url": "https://arstechnica.com/space/2026/05/white-house-budget-sls-orion/"
    }
  ],
  "limit": 25,
  "next_offset": 25,
  "offset": 0,
  "total_count": 614
}
```

### Search blog posts

Search the blog posts the Spaceflight News API indexes, which include agency mission blogs and high quality amateur writing. Takes the same filters as the article search: a phrase or keyword list over the title and summary, news sites to keep or drop, published and updated windows, and the featured, launch and event flags.

**Inputs**

- Search words (`search`, text): Only stories whose title or summary contains this phrase. Leave empty to search everything.
- Title contains (`title_contains`, text): Only stories whose title contains this exact phrase. Use it when the words have to appear together and in order.
- Title keywords (`title_keywords`, list): Only stories whose title contains these keywords, in any order. Use 'Title keyword match' to say whether every keyword has to appear or just one of them.
- Title keyword match (`title_keywords_match`, text): Whether a title has to contain every keyword or only one of them. Applies to 'Title keywords'. One of: `all` (Match every keyword), `any` (Match at least one keyword). Default: `all`.
- Summary contains (`summary_contains`, text): Only stories whose summary contains this exact phrase. The summary is the standfirst or opening paragraph the news site published.
- Summary keywords (`summary_keywords`, list): Only stories whose summary contains these keywords, in any order. Use 'Summary keyword match' to say whether every keyword has to appear or just one of them.
- Summary keyword match (`summary_keywords_match`, text): Whether a summary has to contain every keyword or only one of them. Applies to 'Summary keywords'. One of: `all` (Match every keyword), `any` (Match at least one keyword). Default: `all`.
- Only these news sites (`news_sites`, list): Only stories from these sites. The list is fetched from the Spaceflight News API, so it is always the sites it currently indexes. Leave empty for every site.
- Skip these news sites (`exclude_news_sites`, list): Leave out stories from these sites. Useful for dropping a source that republishes other sites' coverage.
- Published on or after (`published_after`, date and time): Only stories published at or after this moment. Leave empty for no earliest date.
- Published on or before (`published_before`, date and time): Only stories published at or before this moment. Pair it with 'Published on or after' to read a single day or week.
- Updated on or after (`updated_after`, date and time): Only stories whose record changed at or after this moment. The Spaceflight News API revises a story when the source corrects it.
- Updated on or before (`updated_before`, date and time): Only stories whose record changed at or before this moment.
- Featured (`featured`, text): Whether to narrow to the stories the Spaceflight News API's editors flagged as featured, which is its own idea of a top story. One of: `any` (Any story, featured or not), `yes` (Featured stories only), `no` (Skip featured stories). Default: `any`.
- Tied to a launch (`has_launch`, text): Whether to narrow to the stories linked to a launch in Launch Library 2. Every story returned lists the launches it is tied to. One of: `any` (Any story, launch related or not), `yes` (Only stories tied to a launch), `no` (Only stories not tied to a launch). Default: `any`.
- Tied to an event (`has_event`, text): Whether to narrow to the stories linked to an event in Launch Library 2, such as a spacewalk or a landing. One of: `any` (Any story, event related or not), `yes` (Only stories tied to an event), `no` (Only stories not tied to an event). Default: `any`.
- Sort by (`ordering`, text): How to order the stories that come back. One of: `-published_at` (Newest first, by publication date), `published_at` (Oldest first, by publication date), `-updated_at` (Most recently updated first), `updated_at` (Least recently updated first). Default: `-published_at`.
- Limit (`limit`, number): How many stories to return, from 1 to 500. The answer always says how many matched in total, so a limited list never reads as a complete one. Defaults to 25. From 1 to 500. Default: `25`.
- Skip (`offset`, number): How many matching stories to skip before returning any, counting from zero. Each answer hands back the 'next_offset' to use for the following page. At least 0. Default: `0`.

**Outputs**

- `count` (number)
- `filters` (object)
- `has_more` (true/false)
- `items` (list)
- `limit` (number)
- `next_offset` (number)
- `offset` (number)
- `total_count` (number)

**Example output**

```json
{
  "count": 1,
  "filters": {
    "news_site": "NASA"
  },
  "has_more": true,
  "items": [
    {
      "author_names": [
        "NASA"
      ],
      "authors": [
        {
          "name": "NASA",
          "socials": null
        }
      ],
      "event_ids": [],
      "events": [],
      "featured": false,
      "id": 2422,
      "image_url": "https://images-assets.nasa.gov/image/iss075e0000126/iss075e0000126~large.jpg",
      "launch_ids": [],
      "launches": [],
      "news_site": "NASA",
      "published_at": "2026-08-21T20:35:00Z",
      "summary": "The Expedition 75 crew spent Friday readying spacesuits and running exercise studies aboard the International Space Station.",
      "title": "Week Ends With Spacewalk Preps and Space Exercise Research",
      "type": "blog",
      "updated_at": "2026-08-21T20:51:33.907512Z",
      "url": "https://www.nasa.gov/blogs/spacestation/2026/08/21/week-ends-with-spacewalk-preps-and-space-exercise-research/"
    }
  ],
  "limit": 25,
  "next_offset": 25,
  "offset": 0,
  "total_count": 43
}
```

### Search reports

Search the summary reports the Spaceflight News API indexes, such as the daily station status write ups. Takes the same text, news site, published and updated filters as the article search. Reports carry no featured flag and no launch or event link, so those filters are not offered here.

**Inputs**

- Search words (`search`, text): Only stories whose title or summary contains this phrase. Leave empty to search everything.
- Title contains (`title_contains`, text): Only stories whose title contains this exact phrase. Use it when the words have to appear together and in order.
- Title keywords (`title_keywords`, list): Only stories whose title contains these keywords, in any order. Use 'Title keyword match' to say whether every keyword has to appear or just one of them.
- Title keyword match (`title_keywords_match`, text): Whether a title has to contain every keyword or only one of them. Applies to 'Title keywords'. One of: `all` (Match every keyword), `any` (Match at least one keyword). Default: `all`.
- Summary contains (`summary_contains`, text): Only stories whose summary contains this exact phrase. The summary is the standfirst or opening paragraph the news site published.
- Summary keywords (`summary_keywords`, list): Only stories whose summary contains these keywords, in any order. Use 'Summary keyword match' to say whether every keyword has to appear or just one of them.
- Summary keyword match (`summary_keywords_match`, text): Whether a summary has to contain every keyword or only one of them. Applies to 'Summary keywords'. One of: `all` (Match every keyword), `any` (Match at least one keyword). Default: `all`.
- Only these news sites (`news_sites`, list): Only stories from these sites. The list is fetched from the Spaceflight News API, so it is always the sites it currently indexes. Leave empty for every site.
- Skip these news sites (`exclude_news_sites`, list): Leave out stories from these sites. Useful for dropping a source that republishes other sites' coverage.
- Published on or after (`published_after`, date and time): Only stories published at or after this moment. Leave empty for no earliest date.
- Published on or before (`published_before`, date and time): Only stories published at or before this moment. Pair it with 'Published on or after' to read a single day or week.
- Updated on or after (`updated_after`, date and time): Only stories whose record changed at or after this moment. The Spaceflight News API revises a story when the source corrects it.
- Updated on or before (`updated_before`, date and time): Only stories whose record changed at or before this moment.
- Sort by (`ordering`, text): How to order the stories that come back. One of: `-published_at` (Newest first, by publication date), `published_at` (Oldest first, by publication date), `-updated_at` (Most recently updated first), `updated_at` (Least recently updated first). Default: `-published_at`.
- Limit (`limit`, number): How many stories to return, from 1 to 500. The answer always says how many matched in total, so a limited list never reads as a complete one. Defaults to 25. From 1 to 500. Default: `25`.
- Skip (`offset`, number): How many matching stories to skip before returning any, counting from zero. Each answer hands back the 'next_offset' to use for the following page. At least 0. Default: `0`.

**Outputs**

- `count` (number)
- `filters` (object)
- `has_more` (true/false)
- `items` (list)
- `limit` (number)
- `next_offset` (number)
- `offset` (number)
- `total_count` (number)

**Example output**

```json
{
  "count": 1,
  "filters": {
    "search": "Starliner"
  },
  "has_more": false,
  "items": [
    {
      "author_names": [],
      "authors": [],
      "event_ids": [],
      "events": [],
      "featured": false,
      "id": 1662,
      "image_url": "https://boeing-jtti.s3.amazonaws.com/wp-content/uploads/2023/02/docking_with_earth_in_background_out_window.png",
      "launch_ids": [],
      "launches": [],
      "news_site": "Boeing",
      "published_at": "2026-09-07T04:12:00Z",
      "summary": "Boeing's Starliner landed safely at 12:01 a.m. Eastern time after an extended stay at the International Space Station.",
      "title": "Starliner arrives safely back on Earth",
      "type": "report",
      "updated_at": "2026-09-07T05:02:18.660391Z",
      "url": "https://starlinerupdates.com/starliner-arrives-safely-back-on-earth/"
    }
  ],
  "limit": 25,
  "next_offset": null,
  "offset": 0,
  "total_count": 12
}
```
