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

# RSS Feed

> Generate a compliant RSS 2.0 XML feed for blog content with filtering options for targeted content syndication.

Generate a fully compliant RSS 2.0 XML feed for your blog content, perfect for syndication, feed readers, and content distribution. This endpoint automatically formats your blog posts into the standard RSS format with optional filtering capabilities.

**RSS 2.0 Compliance**: Produces a standards-compliant RSS 2.0 XML feed that works with all major feed readers, news aggregators, and syndication services. The feed includes post titles, descriptions, publication dates, and permalinks.

**Filtering Options**: Apply category or tag filters to create specialized feeds for specific content topics. This allows you to offer targeted RSS feeds for different audience segments or content verticals.


## OpenAPI

````yaml /api/openapi/read_api.yaml get /feeds/rss/
openapi: 3.1.0
info:
  title: ButterCMS Read API
  version: 2.0.0
  description: >
    Read endpoints for the ButterCMS API — Pages, Collections, Blog Posts, Blog
    Metadata, and Feeds.
  contact:
    email: support@buttercms.com
  license:
    name: ButterCMS Terms of Service
    url: https://buttercms.com/terms/
servers:
  - url: https://api.buttercms.com/v2
    description: ButterCMS API v2
security:
  - readTokenAuthHeader: []
  - readTokenAuthQuery: []
tags:
  - name: Pages
    description: >
      Retrieve pages from your ButterCMS account.


      **Single Pages**: Use `*` as the page_type to get Single Pages (those
      without a Page Type) which represent unique pages on your site like your
      Homepage. Useful for creating your sitemap.xml.


      **Page Type Pages**: Use the actual page type slug to get pages of that
      specific type. Page Types allow you to create many pages with the same
      structure.


      **Note:** The fields of a page are defined by you, they are customizable.
      Sample responses below contain a basic set of fields for illustrative
      purposes.
  - name: Collections
    description: >
      Retrieve collection items from your ButterCMS account. Collections are
      flexible, user-defined content structures with completely customizable
      field schemas.


      See also: Architecture & Performance for guidance on `levels`, pagination,
      and performance best practices.
  - name: Blog posts
    description: >
      Retrieve blog posts from your ButterCMS account. List blog posts with
      pagination and filtering options, or retrieve individual posts by slug.
  - name: Blog metadata
    description: >
      Retrieve blog-related metadata including authors, categories, and tags.
      These endpoints provide access to the organizational structure of your
      blog content.
  - name: Feeds and utilities
    description: >
      Generate XML feeds for content syndication and SEO.


      - **RSS Feed**: Fully generated RSS 2.0 feed for your blog

      - **Atom Feed**: Standards-compliant Atom 1.0 feed

      - **Sitemap**: XML sitemap for search engine discovery


      All feeds can be filtered by category or tag and include only published
      content from your organization.
  - name: Images - Info
    description: >
      ButterCMS has an integration with
      [Filestack](https://www.filestack.com/docs/api/processing/) for image
      transformations. You can leverage their robust set of image transformation
      capabilities.


      After you upload an image, to create a thumbnail, here's an example:


      - **Original URL**: `https://cdn.buttercms.com/3ccPHhYHTNK2zQ14gCOy`

      - **Thumbnail URL**:
      `https://cdn.buttercms.com/resize=width:100,height:100/3ccPHhYHTNK2zQ14gCOy`


      For complete transformation options and parameters, see the [full
      Filestack documentation](https://www.filestack.com/docs/api/processing/).
paths:
  /feeds/rss/:
    get:
      tags:
        - Feeds and utilities
      summary: RSS Feed
      description: >
        Generate a fully compliant RSS 2.0 XML feed for your blog content,
        perfect for syndication, feed readers, and content distribution. This
        endpoint automatically formats your blog posts into the standard RSS
        format with optional filtering capabilities.


        **RSS 2.0 Compliance**: Produces a standards-compliant RSS 2.0 XML feed
        that works with all major feed readers, news aggregators, and
        syndication services. The feed includes post titles, descriptions,
        publication dates, and permalinks.


        **Filtering Options**: Apply category or tag filters to create
        specialized feeds for specific content topics. This allows you to offer
        targeted RSS feeds for different audience segments or content verticals.
      operationId: getRssFeed
      parameters:
        - $ref: '#/components/parameters/auth_token'
        - name: category_slug
          in: query
          required: false
          schema:
            type: string
          description: >
            Filter the RSS feed to include only posts from a specific category.


            Provide the URL-friendly slug of the category. When specified, only
            blog posts assigned to this category will be included in the RSS
            feed.
          example: announcements
        - name: tag_slug
          in: query
          required: false
          schema:
            type: string
          description: >
            Filter the RSS feed to include only posts with a specific tag.


            Provide the URL-friendly slug of the tag. When specified, only blog
            posts tagged with this tag will be included in the RSS feed.
          example: product-updates
        - name: locale
          in: query
          description: >
            Return only posts in the given locale (e.g. `en`, `es`) in the feed.
            When omitted, defaults to your organization's default locale.


            Returns `400` if the value is not a locale configured on your
            organization.
          required: false
          schema:
            type: string
            maxLength: 10
          example: en
      responses:
        '200':
          description: RSS feed generated successfully
          content:
            application/xml:
              schema:
                type: string
                format: xml
                description: Complete RSS 2.0 XML feed with blog posts
              examples:
                rss_feed:
                  summary: Standard RSS feed with blog posts
                  value: >
                    <?xml version="1.0" encoding="UTF-8"?>

                    <rss xmlns:atom="http://www.w3.org/2005/Atom"
                    xmlns:content="http://purl.org/rss/1.0/modules/content/"
                    xmlns:media="http://search.yahoo.com/mrss/" version="2.0">
                       <channel>
                          <title>Latest blog posts</title>
                          <link>https://example.buttercms.com/blog/rss/</link>
                          <description />
                          <atom:link href="https://example.buttercms.com/blog/rss/" rel="self" />
                          <language>en-us</language>
                          <lastBuildDate>Mon, 15 Jan 2024 10:00:00 +0000</lastBuildDate>
                          <item>
                             <title>API Development Best Practices for 2024</title>
                             <link>https://example.buttercms.com/blog/api-development-best-practices</link>
                             <media:content medium="image" url="https://cdn.buttercms.com/featured/api-guide.jpg"/>
                             <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">John Developer</dc:creator>
                             <pubDate>Mon, 15 Jan 2024 10:00:00 +0000</pubDate>
                             <guid>https://example.buttercms.com/blog/api-development-best-practices</guid>
                             <description>Learn the essential best practices for building scalable and maintainable APIs in 2024.</description>
                             <content:encoded>
                            <![CDATA[<h2>Introduction</h2><p>Building robust APIs requires following established best practices. In this comprehensive guide, we'll explore the key principles that ensure your APIs are scalable, maintainable, and developer-friendly.</p><h3>Key Principles</h3><p>Modern API development focuses on consistency, documentation, and performance optimization...</p>]]>
                          </content:encoded>
                          </item>
                          <item>
                             <title>RESTful API Design Principles</title>
                             <link>https://example.buttercms.com/blog/restful-api-design-principles</link>
                             <media:content medium="image" url="https://cdn.buttercms.com/featured/rest-design.jpg"/>
                             <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Sarah Architect</dc:creator>
                             <pubDate>Fri, 12 Jan 2024 09:00:00 +0000</pubDate>
                             <guid>https://example.buttercms.com/blog/restful-api-design-principles</guid>
                             <description>Master the fundamental principles of RESTful API design for better developer experience.</description>
                             <content:encoded>
                            <![CDATA[<h2>Core Principles</h2><p>RESTful API design follows key principles that ensure scalability and intuitive usage. Understanding these principles is crucial for creating APIs that developers love to use.</p>]]>
                          </content:encoded>
                          </item>
                       </channel>
                    </rss>
                filtered_by_category:
                  summary: RSS feed filtered by category
                  value: >
                    <?xml version="1.0" encoding="UTF-8"?>

                    <rss xmlns:atom="http://www.w3.org/2005/Atom"
                    xmlns:content="http://purl.org/rss/1.0/modules/content/"
                    xmlns:media="http://search.yahoo.com/mrss/" version="2.0">
                       <channel>
                          <title>Latest blog posts</title>
                          <link>https://example.buttercms.com/blog/rss/</link>
                          <description />
                          <atom:link href="https://example.buttercms.com/blog/rss/" rel="self" />
                          <language>en-us</language>
                          <lastBuildDate>Wed, 10 Jan 2024 15:30:00 +0000</lastBuildDate>
                          <item>
                             <title>Product Launch: New API Features</title>
                             <link>https://example.buttercms.com/blog/product-launch-new-api-features</link>
                             <media:content medium="image" url="https://cdn.buttercms.com/featured/product-launch.jpg"/>
                             <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Product Team</dc:creator>
                             <pubDate>Wed, 10 Jan 2024 15:30:00 +0000</pubDate>
                             <guid>https://example.buttercms.com/blog/product-launch-new-api-features</guid>
                             <description>Announcing exciting new API features and improvements in our latest release.</description>
                             <content:encoded>
                            <![CDATA[<h2>What's New</h2><p>We're excited to announce several new API features that will enhance your development experience...</p>]]>
                          </content:encoded>
                          </item>
                       </channel>
                    </rss>
        '401':
          description: Unauthorized - Invalid or missing API token
          content:
            application/xml:
              schema:
                type: string
                format: xml
                description: Error response in XML format
              examples:
                missing_token:
                  summary: Missing API token
                  value: >
                    <?xml version="1.0" encoding="UTF-8"?>

                    <detail>Authentication credentials were not
                    provided</detail>
                invalid_token:
                  summary: Invalid API token
                  value: |
                    <?xml version="1.0" encoding="UTF-8"?>
                    <detail>Invalid token</detail>
        '404':
          description: Not Found - Invalid feed type or no posts found
          content:
            application/xml:
              schema:
                type: string
                format: xml
                description: Error response when feed type is invalid
              examples:
                feed_not_found:
                  summary: Invalid feed type
                  value: |
                    <?xml version="1.0" encoding="UTF-8"?>
                    <error>Feed type not found</error>
      security:
        - readTokenAuthHeader: []
        - readTokenAuthQuery: []
components:
  parameters:
    auth_token:
      name: auth_token
      in: query
      required: false
      schema:
        type: string
      description: |
        Your ButterCMS read API token
      example: your_api_token
  securitySchemes:
    readTokenAuthHeader:
      type: apiKey
      in: header
      name: Authorization
      description: |
        Set the `Authorization` header to `Token your_read_api_token`.

        Example: `Authorization: Token abc123def456`

        Note: The header value includes the `Token` prefix.

        You can access your API token from your settings page.
    readTokenAuthQuery:
      type: apiKey
      in: query
      name: auth_token
      description: >
        Pass your API token via the `auth_token` parameter on every request:
        `?auth_token=your_read_api_token`.


        You can access your API token from your settings page.


        Requests made with a missing or invalid token will get a 401
        Unauthorized response. All requests must be made over HTTPS.

````