Sign in or Join FriendFeed
FriendFeed is the easiest way to share online. Learn more »

Public SUP feed

SUP (Simple Update Protocol) is a simple and compact "ping feed" that web services can produce in order to alert the consumers of their feeds when a feed has been updated. This reduces update latency and improves efficiency by eliminating the need for frequent polling. To learn more about SUP, see the documentation or the SUP FAQ.

For smaller publishers, it may be easier and more efficient to contribute updates to a shared SUP feed hosted elsewhere, instead of generating their own SUP feed. FriendFeed provides a public, shared SUP feed that is open to updates from anyone.

To utilize this shared SUP feed, publishers must:

  • Include the SUP-ID HTTP header on their RSS or Atom feed responses (preferred), e.g.
    X-SUP-ID: http://friendfeed.com/api/public-sup.json#SUP-ID

    Or, include the SUP-ID link tag in their RSS or Atom feeds, e.g:
    <link rel="http://api.friendfeed.com/2008/03#sup" xmlns="http://www.w3.org/2005/Atom" type="application/json" href="http://friendfeed.com/api/public-sup.json#SUP-ID"/>

    See http://friendfeed.com/rooms/friendfeed-news?format=atom for an example of a SUP-enabled feed.
  • Ping http://friendfeed.com/api/public-sup-ping?supid=SUP-ID every time a feed is updated.

Adding an update to FriendFeed's public SUP feed

URL: http://friendfeed.com/api/public-sup-ping

Parameters:

  • supid = The feed's SUP-ID. A SUP-ID is a short, mostly-unique string used to identify an Atom/RSS feed. For more information on how to assign SUP-IDs, see the "generate_sup_id" function in supintro.py

    Alternatively, you can supply the feed URL, and we will assign a SUP-ID using a hash of the feed URL, however, you must still include that SUP-ID in your Atom or RSS feed.
  • url = URL of the Atom or RSS feed (optional). If the "supid" parameter is not provided, then we will assign one using a hash of the feed URL, as defined by this Python code:
    # Use the first ten hexadecimal characters of the MD5 hash of the url
    supid = hashlib.md5(url).hexdigest()[:10]
    
  • output = 'json' or 'xml' (optional). Specifies the format of the server response. Default is json.

Example: http://friendfeed.com/api/public-sup-ping?supid=123abc&url=http://example.com/paul.xml

Send an update now

To see an example request, enter your Atom or RSS feed URL below. This will show the URL used to add an update to FriendFeed's public SUP feed, and the corresponding HTTP header or link tag to include with your RSS or Atom feed.