Last updated 3 August 2017. Created on 4 November 2009.
Edited by pbcelery, ar-jan, robertwb, er.pushpinderrana. Log in to edit this page.


Feeds is a pluggable system for importing or aggregating content into Drupal. Out of the box, it supports

  • import or aggregation from RSS feeds, Atom feeds, OPML files or CSV files
  • import from an XML, or HTML document using Feeds extensible parsers (or Feeds XPath Parser for Drupal 6)
  • generation of users, nodes, terms or simple database records
  • granular mapping (e. g. map the "author" column of a CSV file to a CCK field or map the title of an RSS feed item to a term name)
  • multiple simultaneous configurations organized in "Importers"
  • overridable default configuration for the most common use cases
  • "Feeds as nodes" paradigm as well as "Standalone" import forms
  • aggregation (periodic import) on cron
  • PubSubHubbub subscriptions
  • views-style exportables (using CTools)
  • a views-style plugin API (using CTools) providing a powerful API for rapidly adjusting Feeds to specific use cases on site builds: add other import sources or targets in a straightforward way
  • concurrent Feed aggregation with Drupal Queue

Required Modules

The Feeds module relies on Chaos Tools and Job Scheduler

This documentation

This documentation is split into three parts:

The site builder's guide to Feeds

The site builder's guide explains core concepts in Feeds and walks you through how to configure Feeds to import or aggregate content from RSS, Atom or CSV as nodes, users, terms and more.

Check out the site builder's guide if you are new to Feeds and you are looking for instructions to get you started.

The developer's guide to Feeds

This section gives an introduction to Feeds' APIs and explains how to use them to address more complex use cases with Feeds.

This is for you if you are considering to write code that hooks into Feeds or if you are trying to fix a problem in Feeds and you need to get a quick overview of its architectural concepts.

The developer's guide builds on top of the site builder's guide to Feeds. If you are completely new to Feeds, start with the site builder's guide.

Feeds glossary

Feeds uses a series of terms in a specific way. Some examples are: Fetcher, Parser, Processor, Plugin, Scheduler, Importer. The glossary explains these terms.

Feeds contributed plugins

Overview of contributed fetchers, parsers and processors for feeds.

This section is for both site builders and developers.

Related Blogs and presentations

Looking for support? Visit the forums, or join #drupal-support in IRC.


SQP’s picture

To enable simplepie, download it from copy the into feeds/libraries like mentionned in the readme
And don't forget to clear the cache (admin/settings/performance) or you'll end up browse the code like me to understand why the option is still hidden

geerlingguy’s picture

...or you can also use the Libraries API module, and put inside sites/all/libraries/simplepie/ (so the end path would be sites/all/libraries/simplepie/ Had to look in feeds.module to find that, and thought I'd post it here.

Personal site:

mordaga’s picture

The download link on is (at the time of this post) linked to an empty github directory.
I was able to find at this location on github:

Also, when I tried to put into sites/all/libraries/simplepie/ it did not show up as a parser option even after clearing all caches (same thing with sites/default/libraries/simplepie/).

It only worked when I uploaded it to modules/feeds/libraries.

I hope this saves someone else time in the future.

wernerglinka’s picture

corrie.potter’s picture

I tried various methods of getting a .csv file to import property and finally found that the problem is that the .csv file's fields did not have quotes around the fields when viewing in a text editor. The file that I got from a client was well formed but it was from ms excel. When I looked at the file in a text editor it was only comma separated instead of comma separated w/ quotes. I found that if you open the csv in Open office that it addes the quotes around each field. This made the file import properly into the feeds module. See below for more info.
MS Excel CSV - does not import

Title, Body, Date, Publisher
My Title, Body balh blah blah, 10-10-2012, MHS Press
My Title2, Body balh blah blah2, 11-11-2012, MHS Press2

Open Office CSV - imported properly

"Title", "Body", "Date", "Publisher"
"My Title", "Body balh blah blah", "10-10-2012", MHS Press"
"My Title2", "Body balh blah blah2", "11-11-2012", MHS Press2"
smd_ksu’s picture

To continue on this, I found that my CSV saved from Excel didn't work and it was because something is wrong with the returns between lines. If you open it up in a text editor, like a Mac's TextEdit and manually redo the returns it works. Or do as I did, and import the CSV in Google Docs and export it as a CSV again. Then it would work. Strange, I know.

ksun’s picture

An alternative to manually converting mac line-endings to unix (or windows) ones is to turn on auto_detect_line_endings in your PHP configuration. (Or turn it on with ini_set somewhere. I often put it in the settings.php file.)

sneharao’s picture

can you tell me how to import other fieds other than above 4 fields’s picture

hi guys,
i istalled this module and its great. i imported nodes with text fiels and image and all is fine exept the taxonomy term.
its just do not enter the term to the field.

some body know how to solve it?

jenlampton’s picture

This is a documentation page, and not the place for questions. Did you try searching for your problem over in the issue queue?

dudi99’s picture

I am looking for a way to build a forum structure from a list of items. Is there a way to use Feeds to import a nested forum container/topic structure from CSV file? If so, where can I find this information.


pdcarto’s picture

If you have multiple feeds, your hook_feeds_after_parse implementation(s) will execute on all of them.

You can determine which feed is currently running by inspecting$source->importer()->getConfig()['name'].


function mymodule_feeds_after_parse(FeedsSource $source, FeedsParserResult $result) {
  if($source->importer()->getConfig()['name'] == "my_feed_name") {
    // Do stuff here

There may be a more direct way to get the source feed id, but I haven't found it.

rrpadilla’s picture

//Get the feed identifier
$feed_name = $source->id;
if ($feed_name == 'my_feed_name')

Arvey’s picture


just wanted to ask where should i put this code? on template.php?

HardHardy’s picture

После установки модуля при переходе в конфу выдает

Fatal error: Class 'FeedsConfigurable' not found in /var/www/ on line 1071

Где-то нашел, что должна помочь запись и прописал ее в .htaccess
php_value apc.include_once_override=0

без изменений...
И при переходе просто на сайт еще выдает
Fatal error: Class 'FeedsPlugin' not found in /var/www/ on line 267

Ставил на "чистый" Drupal последней версии. Версии всех модулей актуальны

Подскажите в чем может быть проблема??? Какой набор модулей кроме ctools и job_scheduler нужно устанавливать? Какие-то плагины?? Какие настройки PHP.ini должны быть??? В какой кодировке база данных??? Ни чего не могу понять :'(

Stephen Ollman’s picture

Can anyone provide basic instructions on how to use the 'content/feeds' and 'structure/feeds-type' elements of D8?

I'd like to do a simply xml feed import into an existing content type.

Certified Drupal Site Builder 7 & 8
Web Application and Development Services

Altynay’s picture

Hello, I am using Feeds module for importing news from rss in Drupal 8. And there is a problem while I want to get text information for body. It gets the equal text for both: full text and summary. How can I detect suitable source form rss for full text?