Skip to main content

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

Project description

feedparser - Parse Atom and RSS feeds in Python.

Copyright 2010-2015 Kurt McKee <>
Copyright 2002-2008 Mark Pilgrim

feedparser is open source. See the LICENSE file for more information.


Feedparser can be installed using distutils or setuptools by running:

$ python install

If you’re using Python 3, feedparser will automatically be updated by the 2to3 tool; installation should be seamless across Python 2 and Python 3.

There’s one caveat, however: was deprecated in Python 2.6 and is no longer included in the Python 3 standard library. Because feedparser currently relies on to handle illformed feeds (among other things), it’s a useful library to have installed.

If your feedparser download included a copy of, it’s probably called, and you can simply rename the file to It will not be automatically installed using the command above, so you will have to manually copy it to somewhere in your Python path.

If a copy of was not included in your feedparser download, you can grab a copy from the Python 2 standard library (preferably from the Python 2.7 series) and run the 2to3 tool on it:

$ 2to3 -w

If you copied from a Python 2.6 or 2.7 installation you’ll additionally need to edit the resulting file to remove the warnpy3k lines at the top of the file. There should be four lines at the top of the file that you can delete.

Because is a part of the Python codebase, it’s licensed under the Python Software Foundation License. You can find a copy of that license at


The feedparser documentation is available on the web at:

It is also included in its source format, ReST, in the docs/ directory. To build the documentation you’ll need the Sphinx package, which is available at:

You can then build HTML pages using a command similar to:

$ sphinx-build -b html docs/ fpdocs

This will produce HTML documentation in the fpdocs/ directory.


Feedparser has an extensive test suite that has been growing for a decade. If you’d like to run the tests yourself, you can run the following command:

$ python

This will spawn an HTTP server that will listen on port 8097. The tests will fail if that port is in use.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions (1.2 MB view hashes)

Uploaded source

feedparser-5.2.1.tar.gz (253.0 kB view hashes)

Uploaded source

feedparser-5.2.1.tar.bz2 (192.3 kB view hashes)

Uploaded source

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Huawei Huawei PSF Sponsor Microsoft Microsoft PSF Sponsor NVIDIA NVIDIA PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page