skillfed

feedparser

Universal feed parser, handles RSS 0.9x, RSS 1.0, RSS 2.0, CDF, Atom 0.3, and Atom 1.0 feeds

feedparser v6.0.14 20.3M downloads/30d#1,041 on PyPI2,410
Permissive license BSD-2-Clause Active released

What it is and what it does

feedparser is a universal feed parser that reads Atom and RSS feeds in all their common formats and normalizes them into a consistent Python data structure. It handles the messy reality of real-world feeds—malformed XML, legacy formats, and encoding quirks—so you don't have to write custom parsing logic for each feed variant.

The library is designed for straightforward use: pass it a URL, file path, or feed string, and it returns a parsed object with entries you can iterate over. It's been maintained since 2007 and is widely used in feed readers, aggregators, and any application that needs to consume syndicated content. The single runtime dependency keeps installation simple, and it supports current Python versions (3.10 through 3.14).

Use it for:

  • Build a feed aggregator or news reader that consumes multiple RSS and Atom feeds.
  • Monitor blog updates or news sources by parsing their feeds on a schedule.
  • Extract structured data from syndicated content for analysis or republishing.
  • Integrate feed consumption into a web application or service.
  • Normalize feeds from different sources into a common format for downstream processing.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Parses Atom and RSS feeds (including RSS 0.9x, RSS 1.0, RSS 2.0, CDF, Atom 0.3, and Atom 1.0) into Python data structures.

Yes. feedparser is a mature, actively maintained library with no known vulnerabilities, low install friction, and a permissive license. It solves a real problem—parsing feeds in all their variants—and has been battle-tested for nearly two decades. Install it if you need to consume RSS or Atom feeds.

Install

feedparser on PyPI

pip

pip install feedparser

uv

uv add feedparser

poetry

poetry add feedparser

Installing feedparser

Before you install

Low install friction; pure Python wheel with a single lightweight runtime dependency. Actively maintained with a release 15 days ago and recent commits; the project has 2410 stars and is in production/stable status.

License in practice

BSD-2-Clause is permissive; you can use, modify, and distribute feedparser with minimal restrictions, provided you include the license and copyright notice.

Quickstart

pip install feedparser

import feedparser
result = feedparser.parse('http://example.com/feed.xml')
for entry in result.entries:
    print(entry.title)

Requires Python 3.10 or later.

Verify before relying

  • Whether feedparser-sgmllib (the runtime dependency) is maintained and what it provides beyond the standard library.
  • Performance characteristics when parsing very large feeds or many feeds concurrently.

Package facts

License BSD-2-Clause (permissive)
Python support supports the current Python release (>=3.10)
Install friction low — pure-Python wheel
Runtime dependencies 1 — feedparser-sgmllib
Maintenance actively maintained — 15 days since the last release
Last repo commit
First released
Downloads 20,308,065/month — #1,041 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: feedparser-6.0.14-py3-none-any.whl

Keywords: atom, cdf, feed, parser, rdf, rss

Development Status :: 5 - Production/StableIntended Audience :: DevelopersOperating System :: OS IndependentProgramming Language :: PythonProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Topic :: Software Development :: Libraries :: Python ModulesTopic :: Text Processing :: Markup :: XML

Tags

parse RSS feeds PythonAtom feed parserRSS reader libraryfeed parsingsyndication feed parserXML feed processingRSS Atom universal parser
feed-parsingrss-atomsyndication

More Python Modules packages