---
title: "News feeds"
description: "The news feeds endpoints of the HTTP API."
---

> Documentation Index
> Fetch the complete documentation index at: https://slashobserve.com/llms.txt
> Use this file to discover all available pages before exploring further.

# News feeds

## GET /news

Fetch an RSS or Atom feed through the server and return its items as plain text.

The feed's domain must be on the outbound allowlist, and the address must be https. The feed is read up to 1 MiB and cached for 15 minutes. Titles and summaries are plain text, and a link is returned only when it is an absolute http or https URL. Service accounts cannot call this endpoint.

### Parameters

| Name | In | Type | Description |
| --- | --- | --- | --- |
| `url` (required) | query | `string` |   |

### Responses

| Status | Description | Body |
| --- | --- | --- |
| `200` | The feed's items, newest first as the feed lists them. | [`NewsFeed`](/docs/reference/api/schemas/#newsfeed) |
| `400` | The url is missing or longer than 2000 bytes (`invalid_request`), or is not an https address with a domain name (`invalid_feed_url`). | [`Error`](/docs/reference/api/schemas/#error) |
| `401` | Authentication is missing or invalid. | [`Error`](/docs/reference/api/schemas/#error) |
| `403` | The caller is a service account (`forbidden`), or the feed's domain is not on the outbound allowlist (`outbound_domain_not_allowed`, with the domain in the message). | [`Error`](/docs/reference/api/schemas/#error) |
| `500` | The server failed to handle the request. | [`Error`](/docs/reference/api/schemas/#error) |
| `502` | The feed could not be fetched (`feed_unavailable`) or was not a valid RSS or Atom feed (`feed_invalid`). | [`Error`](/docs/reference/api/schemas/#error) |

Generated from [`api/openapi.yaml`](https://github.com/slashobserve/slashobserve/blob/bac0fe39/api/openapi.yaml) at `bac0fe39`. [Report a problem](https://github.com/slashobserve/slashobserve/issues/new).
