> For the complete documentation index, see [llms.txt](https://docs.flash.im/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.flash.im/docs/api-reference/rss-feed.md).

# RSS Feed

{% hint style="success" %}
`GET /rss`  ·  **no key, no signup**  ·  latest 50 items per feed  ·  standard RSS plus seven `flash:` elements
{% endhint %}

## Purpose

The same analyzed news as an open RSS feed: no key, no signup. Made for RSS readers, newsletter tools, and simple embeds that speak standard RSS.

## Where to use it

| Your surface            | How                                                           |
| ----------------------- | ------------------------------------------------------------- |
| RSS reader / aggregator | Subscribe per category and language                           |
| Newsletter tool         | Ingest items; title, summary, and cover are standard elements |
| Simple site widget      | Any stock RSS parser works                                    |

## Endpoint

**Request**

```
GET https://api.flash.im/rss?category=crypto&lang=ko
```

The five base feeds, each holding the latest 50 items:

| Feed           | URL                                             |
| -------------- | ----------------------------------------------- |
| All categories | `https://api.flash.im/rss`                      |
| Crypto         | `https://api.flash.im/rss?category=crypto`      |
| Economy        | `https://api.flash.im/rss?category=economy`     |
| Politics       | `https://api.flash.im/rss?category=politics`    |
| Geopolitics    | `https://api.flash.im/rss?category=geopolitics` |

Append `&lang=` for any of the 16 languages (default `en`).

* Parameters: `category` and `lang` only. Omit category = all. Latest 50 items
* Re-fetch every 10 minutes or slower; the feed always holds the latest 50, so `guid`-based deduplication handles overlap
* Namespace to declare when parsing: `xmlns:flash="https://flash.im/ns/rss/1.0"`

## Item structure

Standard elements carry what RSS already has a place for; seven `flash:` elements carry the analysis.

```xml
<item>
  <title><![CDATA[Spot bitcoin ETFs snap ten-day slide with $221M inflow]]></title>
  <link>https://www.reuters.com/markets/currencies/bitcoin-etfs-inflow</link>
  <description><![CDATA[BlackRock's IBIT led inflows...]]></description>
  <pubDate>Tue, 11 Aug 2026 09:14:00 GMT</pubDate>
  <guid isPermaLink="false">n_8f3k2p</guid>
  <category>crypto</category>
  <source url="https://www.reuters.com">Reuters</source>
  <enclosure url="https://.../covers/bitcoin-1.jpg" type="image/jpeg" length="0"/>
  <flash:body><![CDATA[...]]></flash:body>
  <flash:whyItMatters><![CDATA[...]]></flash:whyItMatters>
  <flash:impact>4</flash:impact>
  <flash:sentiment>Mildly Bullish</flash:sentiment>
  <flash:eventType>market-move</flash:eventType>
  <flash:sourceLogo>https://.../sources/reuters.com.png</flash:sourceLogo>
  <flash:sourceImageUrl>https://www.reuters.com/resizer/v2/....jpg</flash:sourceImageUrl>
</item>
```

{% columns %}
{% column %}
**Standard RSS elements**

| Element         | Carries                                  |
| --------------- | ---------------------------------------- |
| `title`         | The headline                             |
| `link`          | The original article                     |
| `description`   | The summary                              |
| `pubDate`       | Publication time                         |
| `guid`          | Opaque, permanent id                     |
| `category`      | Once per category the article belongs to |
| `source`        | The original outlet                      |
| `enclosure`     | The FLASH cover                          |
| {% endcolumn %} |                                          |

{% column %}
**`flash:` elements (7)**

| Element                | Carries                |
| ---------------------- | ---------------------- |
| `flash:body`           | Key-point body         |
| `flash:whyItMatters`   | Why it matters         |
| `flash:impact`         | 2 to 5                 |
| `flash:sentiment`      | One of five values     |
| `flash:eventType`      | One of 18 types        |
| `flash:sourceLogo`     | Outlet logo            |
| `flash:sourceImageUrl` | The article's OG image |
| {% endcolumn %}        |                        |
| {% endcolumns %}       |                        |

* The cover ships in **`<enclosure>`** (RSS core). Always 1750x1000, one per item
* `<category>` appears once per category the article belongs to
* Elements with no value are omitted rather than sent empty
* `<guid>` is opaque (`isPermaLink="false"`) and permanent. Use it for deduplication

{% hint style="warning" %}
**What RSS does not carry.** Machine-facing metadata (`impactScore`, `entities`, `coins`, `clusterId`, `relatedCount`) is **API-only**. RSS carries everything a rendered feed item needs; when you need scores, entity dictionaries, or clustering, use the [News Feed API](/docs/api-reference/news-feed-api.md).
{% endhint %}

## Usage patterns

**1. Reader / aggregator subscription** (zero code)

```
https://api.flash.im/rss?category=crypto&lang=en
```

Any standard RSS reader renders it as-is: title, summary, cover, source, time. Deduplicate by `guid`, re-fetch every 10 minutes or slower.

**2. Newsletter block**

```
https://api.flash.im/rss?category=economy&lang=en
```

The standard elements map straight onto newsletter blocks: `title` = headline, `description` = summary, `enclosure` = header image, `link` = the original article. Most newsletter tools ingest this without custom code.

**3. Feed widget with FLASH signals**

```
https://api.flash.im/rss?category=crypto
```

Start from a standard feed widget, then parse the seven `flash:` elements to add impact dots (`flash:impact`), sentiment, and the full body. This is the halfway point between a plain RSS embed and a full API integration.
