n8n-nodes-rssmedia
v1.0.1
Published
An n8n community node for reading RSS feeds and extracting media content with advanced filtering options
Maintainers
Readme
n8n-nodes-rssmedia
This is an n8n community node that allows you to fetch RSS feeds and extract media content with advanced filtering options.
n8n is a fair-code licensed workflow automation platform.
Installation
Operations
Credentials
Compatibility
Usage
Resources
Installation
Follow the installation guide in the n8n community nodes documentation.
Community node installation
- Go to Settings > Community Nodes.
- Select Install.
- Enter
n8n-nodes-rssmediain Enter npm package name. - Agree to the risks of using community nodes: select I understand the risks of installing unverified code from a public source.
- Select Install.
After installing the node, you can use it like any other node in your workflows.
Operations
The RSS Media Reader node supports the following operations:
Fetch RSS Feed
- Fetches an RSS feed from a given URL
- Extracts media content from RSS items
- Supports filtering by media type
- Provides advanced configuration options
Credentials
This node doesn't require credentials as it works with public RSS feeds. However, you can add custom headers for authentication if needed.
Compatibility
This node is compatible with:
- n8n version 0.87.0 and above
- RSS 2.0 feeds
- Atom feeds
- RSS 1.0 (RDF) feeds
- Media RSS extensions
- iTunes podcast extensions
Usage
Basic Setup
- Add the RSS Media Reader node to your workflow
- Enter the RSS feed URL in the RSS Feed URL field
- Configure any additional options as needed
- Execute the node
Available Options
Timeout
Set the request timeout in seconds (1-300 seconds, default: 15)
Max Items
Limit the number of items returned (0 = all items, default: 0)
Media Types
Filter results by media type:
- All Media: Include all types of media content
- Images: Only include image content
- Videos: Only include video content
- Audio: Only include audio content
Include Items Without Media
Choose whether to include RSS items that don't contain media content (default: false)
Custom Headers
Add custom HTTP headers to the request, useful for:
- Custom User-Agent strings
- Authentication headers
- API keys
- Any other required headers
Output Format
The node returns an array of items with the following structure:
{
"title": "RSS Item Title",
"link": "https://example.com/article",
"pubDate": "Wed, 01 Jan 2024 12:00:00 GMT",
"description": "Article description",
"author": "Author Name",
"category": "Category",
"guid": "unique-identifier",
"media": {
"urls": [
{
"url": "https://example.com/media.jpg",
"type": "image/jpeg",
"medium": "image",
"width": 800,
"height": 600,
"fileSize": 102400
}
],
"type": "image",
"thumbnail": "https://example.com/thumbnail.jpg"
},
"source": {
"url": "https://example.com/rss.xml",
"title": "RSS Feed Title",
"description": "RSS Feed Description"
}
}Supported Media Sources
The node can extract media from various RSS elements:
- Media RSS namespace (
media:content,media:thumbnail) - Enclosures (common in podcasts)
- iTunes namespace (
itunes:image) - Simple image tags
- Custom media elements
Error Handling
The node includes robust error handling:
- URL validation: Ensures the provided URL is valid
- Timeout handling: Prevents hanging requests
- Parse errors: Gracefully handles malformed XML
- Network errors: Provides meaningful error messages
- Continue on fail: Option to continue processing even if individual items fail
Example Workflows
1. Extract Images from News RSS
RSS Media Reader → Filter (images only) → Download Images → Process Images2. Podcast Episode Processor
RSS Media Reader → Filter (audio only) → Extract Metadata → Store in Database3. Media Aggregator
Multiple RSS Media Readers → Merge → Filter by Date → Send NotificationDevelopment
Building the Node
# Install dependencies
pnpm install
# Build the node
pnpm build
# Watch for changes during development
pnpm dev
# Lint the code
pnpm lint
# Format the code
pnpm formatProject Structure
n8n-nodes-rssmedia/
├── nodes/
│ └── RssMedia/
│ ├── RssMedia.node.ts
│ └── rss.svg
├── dist/ # Built files
├── package.json
├── tsconfig.json
├── gulpfile.js
├── .eslintrc.js
├── .prettierrc
├── .gitignore
└── README.mdResources
- n8n community nodes documentation
- n8n node development documentation
- RSS 2.0 Specification
- Media RSS Specification
License
MIT
Version History
1.0.0
- Initial release
- Support for RSS 2.0, Atom, and RSS 1.0 feeds
- Media extraction with filtering
- Advanced configuration options
- Error handling and validation
