feedparser
Universal feed parser, handles RSS 0.9x, RSS 1.0, RSS 2.0, CDF, Atom 0.3, and Atom 1.0 feeds
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 feedparseruv
uv add feedparserpoetry
poetry add feedparserInstalling 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
Tags
More Python Modules packages
Converts domain names between Unicode and…
permissive · top 100 on PyPI
setuptoolsSetuptools is a Python build backend and…
permissive · top 100 on PyPI
PyYAMLPyYAML parses and emits YAML 1.1 data format,…
permissive · top 100 on PyPI
pydanticPydantic validates Python data structures…
permissive · top 100 on PyPI
annotated-typesProvides reusable metadata objects for use with…
permissive · top 100 on PyPI
typing-inspectionProvides runtime tools to inspect and…
permissive · top 100 on PyPI
feedfinder2Feedfinder2 detects and returns feed URLs (RSS,…
permissive · top 15,000 on PyPI
feedgenGenerates web feeds in ATOM and RSS formats,…
copyleft · top 15,000 on PyPI
feedparser-sgmllibProvides the sgmllib SGML parser from Python…
permissive · top 5,000 on PyPI
mkdocs-rss-pluginGenerates RSS 2.0 and JSON Feed 1.1 feeds for…
permissive · top 15,000 on PyPI
ultimate-sitemap-parserParses and crawls sitemaps in multiple formats…
copyleft · top 15,000 on PyPI
georss-clientA framework for building client libraries that…
permissive · top 15,000 on PyPI
georss-generic-clientProvides generic access to GeoRSS feeds with…
permissive · top 15,000 on PyPI
aio-georss-clientProvides async access to GeoRSS feeds with…
permissive · top 15,000 on PyPI
gnewsGNews searches Google News RSS feeds and…
permissive · top 15,000 on PyPI