The FeedBurner Management API (MgmtAPI) allows publishers of FeedBurner feeds to create and manage feeds within their FeedBurner accounts. MgmtAPI permits remote access to FeedBurner's basic account management capabilities by third party applications without requiring direct use of the existing FeedBurner.com website. Using MgmtAPI, third parties can completely re-present FeedBurner's feed creation and management capabilities.
This is the list of APIs that are supported by the management interface. All function calls are available via both HTTP and HTTPS.
Version 1.0
This API will return the list of feeds for a particular user.
GET http://api.feedburner.com/management/1.0/FindFeeds
Right now, there are no parameters associated with this request (other than the standard authentication parameters). This will just return a list of all of the feeds associated with the user.
The schema document for this service response is located at http://api.feedburner.com/management/1.0/FindFeedsResponse.xsd.
| Field | Description |
|---|---|
| feeds | Contains all of the feeds |
| feed | Represents a single feed |
| id | Attribute. A unique id for the feed |
| uri | Attribute. The uri for the feed |
| title | Attribute. The title for the feed |
GET http://api.feedburner.com/management/1.0/FindFeeds
?user=jshaftoe&password=3L1Z4
<?xml version="1.0" encoding="utf-8" ?>
<feeds>
<feed id="14" uri="eric" title="Dancing About
Architecture" />
<feed id="23" uri="eric-comments" title="Dancing About
Architecture: Comments and Trackbacks" />
<feed id="17477" uri="groupcast" title="del.icio.us
groupcast" /> <br />
</feed>
There are no service-specific errors. If the user does not have any feeds, the feeds element will be present but will not have any children.
Version 1.0
This API will return the details of a particular feed.
GET http://api.feedburner.com/management/1.0/GetFeed
| Parameter | Value | Description |
|---|---|---|
| id | integer | The feed id. One of either id or uri must be provided. |
| uri | string | The feed uri. One of either id or uri must be provided. |
The schema document for this service response is located at http://api.feedburner.com/management/1.0/GetFeedResponse.xsd.
| Field | Description |
|---|---|
| feed | Represents the feed |
| id | Attribute. A unique id for the feed |
| uri | Attribute. The uri for the feed |
| title | Attribute. The title for the feed |
| source | The source feed location |
| url | Attribute. The url for the source feed |
| services | Contains all of the services that are applied to the feed |
| service | Represents a service applied to the feed. |
| class | Attribute. The class identifies which service to employ. |
| param | Represents a parameter, with the text of the element as the value. |
| name | Attribute. The name of the parameter. |
GET http://api.feedburner.com/management/1.0/GetFeed?user=jshaftoe&password=3L1Z4&uri=groupcast
<feed id="17477" uri="groupcast" title="del.icio.us groupcast">
<source url="http://del.icio.us/rss/tag/groupcast"/>
<services>
<service class="BrowserFriendly">
<param name="theme">PodcastFriendly</param>
<param name="itemVisibility">content</param>
<param name="message">Welcome to the FeedBurner "groupcast" experiment. This is a feed
from del.icio.us containing links tagged with "groupcast" that has been burned with
FeedBurner's SmartCast service to promote Podcasting. To add your own items to this
feed, create a del.icio.us entry that links directly to an MP3 or Torrent file and give
it the tag "groupcast".</param>
</service>
<service class="SmartCast">
<param name="mediaRSS">true</param>
<param name="submitToYahoo">true</param>
<param name="adult">false</param>
<param name="pingWeblogs">false</param>
</service>
</services>
</feed>
There are no service-specific errors.
Version 1.0
This API will allow the user to add a new feed to their account.
POST http://api.feedburner.com/management/1.0/AddFeed
| Parameter | Value | Description |
|---|---|---|
| feed | xml (required) | The defintion of the feed to add. This will include uri, title, source, and services, but not id. |
The schema document for this service response is located at http://api.feedburner.com/management/1.0/AddFeedResponse.xsd.
| Field | Description |
|---|---|
| feed | Represents the feed |
| id | Attribute. A unique id for the feed |
| uri | Attribute. The uri for the feed |
| title | Attribute. The title for the feed |
POST http://api.feedburner.com/management/1.0/AddFeed
user=jshaftoe
password=3L1Z4
feed=<feed uri="manormouse" title="Man | Mouse">
<source url="http://manormouse.blogspot.com/atom.xml"/>
<services>
<service class="ItemStats" />
<service class="SmartFeed" />
</services>
</feed>
<feed id="84472" uri="manormouse" title="Man | Mouse" />
| Error Code | Sample Message | Description |
|---|---|---|
| 101 | Too many feeds | The limit for the number of feeds has been reached for this user. |
| 102 | uri not available. suggested uri: manormouse/f7Sq | The uri provided is already taken. |
Version 1.0
This API will allow the user to modify a feed in their account.
POST http://api.feedburner.com/management/1.0/ModifyFeed
| Parameter | Value | Description |
|---|---|---|
| feed | xml (required) | The new definition for the feed. If the id attribute is present, then that will take precendence, which allows the uri to change. |
The schema document for this service response is located at http://api.feedburner.com/management/1.0/ModifyFeedResponse.xsd.
| Field | Description |
|---|---|
| feed | Represents the feed |
| id | Attribute. A unique id for the feed |
| uri | Attribute. The uri for the feed |
| title | Attribute. The title for the feed |
POST http://api.feedburner.com/management/1.0/ModifyFeed
user=jshaftoe
password=3L1Z4
feed=<feed id="84472">
<source url="http://manormouse.blogspot.com/atom.xml"/>
<services>
<service class="HeadlineAnimator">
<param name="title">My Blog Postings</param>
</service>
<service class="ItemStats" />
<service class="SmartFeed" />
</services>
</feed>
<feed id="84472" uri="manormouse" title="Man | Mouse" />
| Error Code | Sample Message | Description |
|---|---|---|
| 102 | uri not available. suggested uri: manormouse/f7Sq | The uri provided is already taken. |
| 103 | Feed not identified: feed id or uri must be provided | The feed element must provide either an id or uri parameter. |
Version 1.0
This API will allow the user to delete a feed in their account.
POST http://api.feedburner.com/management/1.0/DeleteFeed
| Parameter | Value | Description |
|---|---|---|
| id | integer | The feed id. One of either id or uri must be provided. |
| uri | string | The feed uri. One of either id or uri must be provided. |
A successful delete will have an empty success response.
A successful delete will have an empty success response.
There are no service-specific errors.
Version 1.0
This API will allow the user to resync a feed in their account. This will involves clearing the cache, resetting any podcast media enclosures, and informing the caller of any feed formatting problems.
POST http://api.feedburner.com/management/1.0/ResyncFeed
| Parameter | Value | Description |
|---|---|---|
| id | integer | The feed id. One of either id or uri must be provided. |
| uri | string | The feed uri. One of either id or uri must be provided. |
A successful resync will have an empty success response.
A successful resync will have an empty success response.
There are no service-specific errors.
This is a list of error responses that may be returned by any API.
| Error Code | Sample Message | Description |
|---|---|---|
| 1 | Invalid user | User cannot be
authenticated. This might be due to:
|
| 2 | partnerUser not enabled | User account does not support partnerUser partitioning, but the argument was provided. |
| 3 | Missing parameter: id | A required parameter is missing. |
| 4 | Invalid parameter: id | A parameter that has been provided is invalid. |
| 5 | Feed not found | The requested feed does not exist. |
| 6 | Invalid feed XML | The feed definition is not valid XML |
| 7 | Missing feed source | The feed does not specify a source |
| 8 | Invalid feed source: 404 Not Found | There is a problem with the feed source. |
| 9 | Invalid service class | The service specified does not exist, or the user does not have access to that service. |
| 10 | Service validation error: BrowserFriendly theme is invalid | One or more of the specified services is invalid. |
This is the list of services that are generally available for feeds. Specific partners may have additional services available that are not listed here. The parameters supported are listed here.
Service Class: BrowserFriendly
Applies basic visual formatting with a heading message you specify to raw feed XML (using XSLT) for much improved readability in most modern browsers.
| Name | Value | Description |
|---|---|---|
| style | new (default), podcast or oldschool | The theme to apply for this service. |
| itemVisibility | content (default), title, or none | What part of items are displayed? (the full content, just the titles, or don't display the items) |
| message | string (default: none) | The message to display at the top of the page. If not specified, then no message will be displayed. |
| feedUrl | string (default: none) | The URL that should be used to subscribe to this feed. Only needs to be specified when the user wished to use a redirected URL as the entry point for the feed. |
<service class="BrowserFriendly">
<param name="itemVisibility">title</param>
<param name="message">This is a feed, but the titles are displayed for your convenience
below.</param>
</service>
Service Class: ItemStats
Tracks clickthroughs to individual items.
There are no parameters for this service. Including this service is sufficient.
<service class="ItemStats" />
Service Class: SmartFeed
Permits an Atom feed be readable with any news reader — even older RSS-only readers. SmartFeed transforms your feed to be optimized and readable a wide variety of feed readers and aggregators, regardless of the source feed's format.
There are no parameters for this service. Including this service is sufficient.
<service class="SmartFeed" />
Service Class: AdSense
Places ads that Google generates for your AdSense for feeds account into your feed. Ads are placed at the bottom of individual feed content items according to the content item length and ad frequency preferences specified.
| Name | Value | Description |
|---|---|---|
| adSenseId | string (required) | The AdSense client identifier for ads. |
| minimumContentWordLength | positive integer (default: no minimum length) | Ads are only included in items that are at least this long. |
| frequency | positive integer (default: every item) | An ad is displayed in every xth post. |
| oldItems | boolean (default: false) | If set to true, then ads will be inserted in old items, causing most feed readers to mark items previously read as unread. |
| channelCode | string (default: none) | AdSense channel id |
<service class="AdSense">
<param name="adSenseId">pub-188595883748923334</param>
<param name="frequency">2</param>
<param name="oldItems">true</param>
</service>
Service Class: LinkSplicer
Adds a new item to your FeedBurner feed that contains new links you have added to your link collection account. How often link items are added to your feed depends on the frequency parameter.
| Name | Value | Description |
|---|---|---|
| service | delicious, furl, bloglines, myweb2, digg (required) | The link service to use. |
| id | string (required) | User id or account name that is used at the selected service. |
| frequency | daily (default), none | If "daily", then generate at most one item per day. If "none", then splice one item per link. |
<service class="LinkSplicer">
<param name="service">delicious</param>
<param name="id">stinky</param>
<param name="frequency">daily</param>
</service>
Service Class: PhotoSplicer
Combines photos posted to Flickr or Buzznet accounts with your original feed items.
This service is not yet supported.
| Name | Value | Description |
|---|---|---|
| service | flickr, buzznet, webshots (required) | The photo service to use. |
| id | string (required) | User id or account name that is used at the selected service. |
| tag | string | If provided, filter the item with the given tag or category |
<service class="PhotoSplicer">
<param name="service">buzznet</param>
<param name="id">ignatious</param>
</service>
Service Class: SmartCast
Enables any feed for podcasting
| Name | Value | Description |
|---|---|---|
| generateRssMedia | boolean (default: false) | Include Media RSS elements |
| submitToYahoo | boolean (default: false) | If "true", then submit the feed to Yahoo directory on first access |
| adult | boolean (default: false) | If "true", the this feed may contain mature content |
| enclosureType | all (default), image, audio, video | Enclosures should be generated for these kinds of files. |
| generateITunesPodcast | boolean (default: false) | Include iTunes podcast elements |
| category | string | Category for this podcast. This value should be one of the approved values as specified in Apple's iTunes namespace specification.It is only appropriate if generateITunesPodcast is true. |
| subcategory | string | Subcategory for this podcast.This value should be one of the approved values as specified in Apple's iTunes namespace specification.It is only appropriate if category is set. |
| summary | string | A short summary to describe this podcast. It is only appropriate if generateITunesPodcast is true. |
| imageUrl | string | A URL for an image to be associated with this podcast. It is only appropriate if generateITunesPodcast is true. |
| author | string | An author to be associated with this podcast. It is only appropriate if generateITunesPodcast is true. |
| copyright | string | Insert a copyright notice in the feed. |
<service class="SmartCast">
<param name="generateRssMedia">true</param>
</service>
Service Class: CreativeCommons
Apply a Creative Commons license to original work in your feed
| Name | Value | Description |
|---|---|---|
| commercial | yes, no (required) | Are commercial rights associated with this license? |
| modifications | yes, no, sa (required) | What modification rights are associated with this license? "sa" means the "Share-Alike" right. |
<service class="CreativeCommons">
<param name="commercial">no</param>
<param name="modifications">sa</param>
</service>
Service Class: FeedImage
Inserts a promotional feed image tag.
| Name | Value | Description |
|---|---|---|
| imageUrlText | string (required) | The URL of the image. |
| imageTitle | string | A title to associate with the image. |
| imageLink | string | A URL of a destination when clicking on the image |
<service class="FeedImage">
<param name="imageUrlText">http://www.burningdoor.com/feedimage.jpg</param>
</service>
Service Class: Amazon
Inserts provided Amazon Associates ID into existing links to Amazon products within HTML feed content items.
| Name | Value | Description |
|---|---|---|
| associateId | string (required) | The Amazon associate id to include in links. |
<service class="Amazon">
<param name="associateId">feedburner-20</param>
</service>
Service Class: Summary
Strips hyperlinks, truncates content, adds teaser message to each feed item
| Name | Value | Description |
|---|---|---|
| summaryLine | string | If specified, then add this teaser message to the bottom of every item. |
| maxSize | int (default: 200) | If the description if greater than this many characters, it is truncated. |
<service class="Summary">
<param name="summaryLine">This is a summary. To see the full item,
please click on the link.</param>
<param name="maxSize">1000</param>
</service>
Service Class: ConvertFormat
Converts original feed to RSS 1.0, 2.0, or Atom format
| Name | Value | Description |
|---|---|---|
| toFormat | rss2.0, rss1.0, atom (required) | The format to convert this feed to |
<service class="ConvertFormat">
<param name="toFormat">rss2.0</param>
</service>
Service Class: PasswordProtect
Protects your feed with a username and password. It is somewhat limited, as only a single user/password can be associated with the feed.
| Name | Value | Description |
|---|---|---|
| user | string (required) | When protecting the feed, this is the user that must be entered |
| password | string (required) | This is the password that protects the feed |
| realm | string | The protection realm to associate with this feed |
<service class="PasswordProtect">
<param name="user">jwebber</param>
<param name="password">d3p0t</param>
</service>
Service Class: ContentType
Changes feed XML content-type attribute
| Name | Value | Description |
|---|---|---|
| contentType | string (required) | The content type to send back for this feed. |
<service class="ContentType">
<param name="contentType">application/rss+xml</param>
</service>
Service Class: TitleModifier
Changes the feed's title, description, or both.
| Name | Value | Description |
|---|---|---|
| title | string | The new title for the feed. |
| description | string | The new description for the feed. |
<service class="TitleModifier">
<param name="title">My Most Excellent RSS Feed</param>
</service>
Service Class: PingShot
Pings a number of services when the feed is detected as modified. The services to ping is not configurable at this time, so only the default services are pinged.
There are no parameters for this service. Including this service is sufficient.
<service class="PingShot" />
When a request is recieved by FeedBurner, there are four possible response paths.
If the request did not reach an actual function, either because of an authetication failure or because the function does not exist, then an HTTP error will be sent back.
If the response actually reached the endpoint but there was a problem, an "error document" will be returned. This document looks like this:
<?xml version="1.0" encoding="utf-8" ?>
<rsp stat="fail">
<err code="5" msg="Feed not found" />
</rsp>
See Standard Error Responses for a complete list of errors.
If the request was successful and there is a response document, it will be wrapped in a "success" document. This document looks like this:
<?xml version="1.0" encoding="UTF-8"?>
<rsp stat="ok">
<feeds>
<feed id="51" uri="ManMouse" title="Man | Mouse" />
<feed id="116" uri="noservices" title="No Services" />
</feeds>
</rsp>
Some requests will not return any body when successful. In this case, a standard HTTP 204 will be returned.