ExpressionEngine Docs

# RSS Parser

- Example
- Parameters
- Single Variables
- Pair Variables
- Conditionals

The RSS Parser plugin provides RSS parsing tags for your templates. It uses SimplePie to parse and render any RSS or Atom feed you throw at it.

## Example

Here’s a simple example where we’re pulling the ExpressionEngine blog feed and showing the five most recent posts:

    {exp:rss_parser url="https://expressionengine.com/blog/rss-feed" limit="5"}
    <h1>{feed_title}</h1>
    <ul>
        {feed_items}
            <li>
                <h2><a href="{item_link}">{item_title}</a></h2>
                <ul class="metadata">
                    <li class="byline">by {item_authors backspace="2"}{author_name}, {/item_authors}</li>
                    <li class="date">{item_date format="%F %d %Y"}</li>
                </ul>
                {item_content}
            </li>
        {/feed_items}
    </ul>
    {/exp:rss_parser}

## Parameters

There are four available parameters:

### `url`

The URL of the RSS or Atom feed

### `limit`

Number of items to display from the feed

### `offset`

Number of items to skip from the feed

### `refresh`

How long you want the feed to be cached (default cache length is three hours)

## Single Variables

Most of the variables are fairly self explanatory:

- `{feed_title}`
- `{feed_link}`
- `{feed_copyright}`
- `{feed_description}`
- `{feed_language}`

Both RSS 2.0 and Atom 1.0 feeds can have a “feed logo”. The following variables can be used to display the logo:

- `{logo_title}`
- `{logo_url}`
- `{logo_link}`
- `{logo_width}`
- `{logo_height}`

Also, if there’s an error in retrieving the feed, you can use the following variable to display the error:

- `{feed_error}`

## Pair Variables

There are three pair variables available. Both `{item_categories}` and `{item_authors}`, are only available within `{feed_items}`.

### `{feed_items}`

The `{feed_items}` variable contains all of the items found within the feed:

- `{item_title}`
- `{item_link}`
- `{item_date}`: uses standard ExpressionEngine date formatting (e.g. `{date format="%F %d %Y"}`)
- `{item_description}`: tends to be a short excerpt of the full `{item_content}`, but varies
- `{item_content}`: tends to be full content, but varies

### `{item_authors}`

The `{item_authors}` variable contains information about all of the authors of a particular item. Each author has three single variables associated with it:

- `{author_email}`
- `{author_link}`
- `{author_name}`

### `{item_categories}`

The `{item_categories}` variable contains all of the categories that a feed item has been assigned. Each category has one useful variable:

- `{category_name}`

## Conditionals

There are only two conditionals:

- `{if feed_error}`: In case of a feed error the parser will only display content inside of this conditional, if the conditional does not exist, nothing is shown.
- `{if no_results}`: Just like the Channel module, if there are no results only show the contents of this conditional.