RSS Feeds

You can retrieve and display RSS and Atom feeds from around the web.

TRY IT. Scan the barcode to your Android phone:
CUSTOMIZE IT. Download the source code blocks to create your own RSS app.

  1. save the source file to your computer–>
  2. open the My Projects page in App Inventor
  3. select Upload Source
  4. choose this file
EXPLORE the RSS API. This is a web page interface to the same data used by the App Inventor Android app. Tiny Web RSS
CUSTOMIZE THE API. Are you a programmer? If so, download the source code for the API. It’s an App Engine program written in Python.

127 Responses

  1. [...] with dynamic content in the current version of App Inventor. There is a developer who created an RSS script, but although it’s a nice accomplishment, if you can’t code it won’t look good. [...]

  2. I have built some really awesome apps with this tool. I very much appreciate you building this platform for me to launch off of. I have one request. :) Could you pretty pretty please put code in the app engine app that when it receives the url string from the app it replaces spaces with a + sign. Currently some types of feeds don’t come back to the app without it. This allows me to let a user input text in a box and then the app sends it to app engine as part of the url request. For wordpress this works find the way it is but for another more important one it does not.

  3. I don’t believe AI has a string replace function. Then I could just replace the space with a + before sending it to app engine.

  4. I figured out how to do it. I just put the search term into a variable. Then I did an if statement on search button click that asked if it has a space in it. If it does, then I created a new variable that was a list separating it at the space. Then I set the search box text to the items in the list joined with a + sign. It works great. :)

  5. [...] ga je niet helemaal uitleggen hoe je RSS moet gebruiken in appinventor maar verwijs je naar RSS Feeds . Succes er mee! It's got to be perfect! HTC Hero, nu met VillainROM 10.0 Met [...]

  6. SWEET!!!! Thank you for posting.

  7. By the way: atom feeds from FriendFeed don’t appear to be working with this app. For example:

    http://friendfeed.com/springsteen?format=atom

    however, if I ‘m using a URL with “.xml” then it’s fine:

    http://www.topix.com/rss/who/bruce-springsteen.xml

  8. Hi. I’ve been trying to adapt the code for displaying links and image from the RSS Feed. Any help would be appreciated.

  9. Hi, This would be a GREAT resource for me. Kudos to the people who created it… I have one major problem though:

    When I download the .APK file and upload it through app inventor I keep getting an error stating that it’s not a project archive… ? :’(

    Does anyone have any pointers for me? Thanks so much!

    • Nico, download the.zip file and give that to the app inventor. the apk is actually the compiled app to be run on a droid

  10. can someone walk me through using a picker list of variables, as opposed to a text value, to only be able to choose certain RSS feeds?

  11. I downloaded the TinyWebRSS.zip file. Which file is the one to choose for “upload source”? Sorry for the newbie question.

  12. I don’t seem to be able to get this to load either. I downloaded the zip files but can’t load that into Google App Inventor.

    Plus, using your demo link I can’t pull up the RSS feeds on my Joomla site like I can from a web browser using the URL http://www.thetruthventure.com/?feed=rss2.

    Is it because this Joomla site is running on a Windows IIS installation?

  13. I got the source to upload and the app works fine for general purposes. However, if it is a WordPress RSS URL it does not seem to work. Having special characters like & or = ini the string doesn’t seem to work.

  14. How do you change the urls from the feed into links?

  15. Hi,

    by testing this one, i am happy to found a script like this. but…

    the given URL will only show in text, not a clickable URL. So i see, that i can only use 3 lines at this time – title, description, link

    but title will not go bold, description is o.k., link will not show a link – only text. So i have some more informations in my rss and i will to add this one. for this i have downloaded your python script and the problem begins…

    i use your Code in Appinventor and for using the application as it is. This works fine, aslong i use your service url. if am working with debian and plesk 10, what will include the python language. i am self never working with python before – so i copy your script to my server and will run this one, but i get onlya 500 error from my server. the test script from plesk for python will work fine, but it seems, that there are a lot of changes must do to run it on my own server.

    • The python code is designed to run in google appengine. You can get a free account and post your own custom apps at http://appengine.google.com.

      You can make a AI app with clickable links and bold text. Just change the code that responds to the feed request. Right now it just appends the results as text to a label. It could easily parse new tags, customize the display, etc. Some limitations with dynamic UI are due to AI not letting you create controls on the fly at runtime.

      With the most recent AI update, you can draw text to a canvas. This would possibly allow the type of styled rss reader you desire since the canvas has events indicating where clicks and drags occur.

      • You say we can easily change the code that corresponds to the feed request. This doesn’t seem to easy to me. I have been trying to get this going so I can make the title bold and blue, the description regular text, and the link clickable so as to open the website. Do you have any suggestions on how to do this? Any help you could provide would be great. I am at such a loss as I have been trying to do this for multiple hours now without success.

      • Hi dsanvita,

        First of all I must say I’m very impressed by all the effort you take to help people.
        I recently started programming with AppInventor and I’m very excited. I got a lot of help from this site. I also ordered the O’reilly video Connecting to Web Data and APIs with App Inventor. Very usefull and I recommend it to other users on this site.

        I have one problem and that is that I would like my link in the rss-feed to be clickable. David Wolber says it’s possible in the video and you say it too (are you the same person:-)?). However I don’t know where I can alter it. I can’t manage it in the blockseditor, so it has to be somewhere in the code. Could you tell me how?

        A minor problem is that the text doesn’t stop at ‘the end of the screen’ when the label component is set to ‘automatic’ or ‘fill parent’. If I set it on width 320, it’s allright for my phone, but I think it looks bad on a tablet (and most likely on phones with more or less than 320 pixels as well). Is this fixable, or is this an ‘error’ of app inventor?

        With kind regards and keep up the good work,
        Widdy80, the Netherlands

      • I haven’t tried making clickable links in AI. I theorized that it could be done with a canvas which now has a drawText method. I’ve done a demo where I show 1 entry at a time and used a button to launch the android web browser to display the link. There are lots of ways to customize the appearance of the data returned by the web service. When I get time, I’ll make another sample app that has a nicer appearance (clickable links, image display, etc.).

  16. Based on a request, I added support for multiple feeds.

    Just separate the feed urls by the delimiter string “|||”

    Ex. – http://example.com/feed1.xml|||http://example.com/feed2.xml

    Items are returned in one big list.

    I also fixed some issues parsing atom feeds and now properly support atom enclosures (only the first enclosure for each item is returned)

  17. I want to link a RSS feed to my blog. I downloaded the file and uploaded it to my projects. After that I don’t really understand your directions. I don’t know what a service url is and how to get it to show my posts..

    I appreciate your response as i’m fairly new and not to good with coding and stuff

    • The service url is the address of an app inventor compliant web service. The default in the sample project will work if you don’t want to custom code your own. Then in the app inventor web interface, set the default value of the text in the textbox at the top of the screen to the url of your blog feed. That’s it! The sample app will now display your blog feed in a really boring all text format. You’ll probably want to customize things with fancy fonts and stuff later, but this should get you started.

      • WOW thanks I made it too hard. Is it possible to hide the txtRSSUrl so people don’t know where it’s coming from and just have the “Get Rss” button only?

  18. ^Sorry I know it’s possible to make it “invisible” but didn’t know if it would work.

    So let me clarify this cause it’s not working for me:

    My Rssdb = http://scripting.com/rss.xml
    txtRSSUrl = feed://sportsblognow.wordpress.com/feed/

    that’s it? I think my txtRSSUrl is wrong…do I take the beginning feed out? IT’s not working..

  19. So would it be Screen1.init set clock1.timeralwaysfires to what? Clock 1 second?

    Like I said dsanvita i’m new so learning the ropes but I really do appreciate your patience and this setup you made…it’s great!

    • If you have the timer always fire it will refresh your feed every 1 second. Just have it fire once. Drag the clock onto the project and set it’s interval to 1 second. In the screen1.init, enable the timer by setting the timer enabled property to true. Then in the clock timer fired event (can’t remember the exact name), run the getrss code and disable the timer by setting the timer enabled property to false. Future refreshes can happen when pressing the GetRss button.

      BTW: Another way to see if your feed url is correct is to goto http://tinywebrss.appspot.com in your desktop web browser and paste the url into the textbox there and see if the content is retrieved.

  20. I typed in:
    umrecruit.wordpress.com/feed/

    and got:
    ["VALUE", "\"umrecruit.wordpress.com\\\/feed\\\/\"", "[]“]

    That’s bad eh?

  21. Your the man!

  22. Last question my friend, it all works (thank god), but I tested it out by creating a new post and when I hit update news on my droid the new story didn’t show up. Any ideas?

    • I’m guessing your blog server doesn’t update the feeds immediately since if I access the feed url from a browser, the newest entry I see is from 12/2010.

  23. feed://umrecruit.wordpress.com/feed/

    It should say I updated it like 20 minutes ago..

  24. Sorry I forgot to tell you I changed at first I was using Sportsblognow but it’s Umrecruit now. Anyway I did a couple of posts and it still hasn’t update when I press update news…not sure if its wordpress or me.

    • It was the appengine code caching urls for a long time (maybe an hour). I uploaded a new version that only caches them for 3 minutes. Now you should see the latest stuff from your feed give or take 3 minutes.

  25. Thanks dsanvita I got it working and it looks great. 2 questions thought…

    1) is it possible to remove the link at the bottom of the story that shows like the direct link to the post?

    2) I noticed that after a while the store can’t show anymore once it gets larger and looks like this [...] is there anyway to make that longer or is there a certain amount of characters allowed?

    • The link is item 3 in the list of fields returned for each rss item. In rssdb.GotValue, I construct the text with 7 parts. Remove parts 5 and 6 and the link will go away.

      The … is caused by your feed being an atom feed and yet having items instead of entries. My python server code sees this as RSS and grabs the description instead of the content element as it would if it thought this was an atom feed. For your atom feed the description has a max length. The content field has the full text.

      • Ok this is fixed. You should get the full length feed item text now for rss and atom feeds that use description, content, and content:encoded tags.

  26. I wish it was possible to put bullet points, tables or even just lists in here. When I type them on my post they all come out in like a paragraph

    • Yeah, I designed my sample service to convert the html styled feed content to text because I don’t think AI supports html styles in apps yet.

  27. Is there a way to limit the amount of characters returned for the description? I would like to show the description but the current ones are too long and makes the return look like a text mess. I would like to limit the displayed description to only about 100 characters or so.

  28. OK, I think I figured this out. I used a call segment text function to specify a start and length.

  29. So is there no way to make a bullet point or like a list? I want to make a list and i’m tired of listing names and like having to put /’s or .’s to divide them.

    • I don’t think App Inventor supports styled text, but you could draw bullet point lists with a canvas. In the AI block where the RSS is received draw a filled circle next to the text and increment the y value for each feed item processed in the loop.

  30. I spent mass time making an RSS feed in Yahoo pipes. How do I mod this app to parse it properly?

    Example:

    http://pipes.yahoo.com/pipes/pipe.run?_id=693627c710f2f187f8957447eb33f0af&_render=rss&search_term=news

  31. Never mind it works.

  32. Hi :)
    It’s an amazing source code =D Very useful :D
    But I’ve tried to test it with :
    http://www.highclouds.fr/blog/?feed=rss2
    and it doesn’t work :s
    Is it the url’s fault ?

    Thank’s :)
    have a nice day.

  33. This is excellent. I’d like to be able to import the rssdb component into one of my projects. How do I do that?

    • The rssdb component is just a standard App Inventor TinyWebDB with the service url pointing to my special rss web service. You can just make a new project and drag a TinyWebDB control onto your project and point to either my rss service url or your own if you decided to download the python app engine code, customize it, and deploy it toyour own appengine account.

  34. I was wondering if there was a way to use the new App Engine Backends with this? Have you seen the new stuff?

    Also, I was wondering how you can block direct traffic to the app engine app but still allow your app to access it. I tried following tutorials but it blocked my app no matter what I tried. I don’t want people randomly finding the url and clicking the delete button.

    • I haven’t tried the new app engine backend api since it’s not free. I have a few (semi) private services on app engine and I secure them with an app code hashed with a date salt. Someone who gets access to the java bytecode generated by app engine could easily break it though.

  35. Anyone mod the main.py file successfully to look for images in the atom section of the code?

    I need it to find the images from an atom feed so I can change the images in my AI App.

    • What’s the feed url? Atom links with rel=”enclosure” work just fine. I’ve tested it with flickr feeds. It’s possible your feed references the images in a different way? Try entering the feed url at http://tinywebrss.appspot.com and see if the image links are returned.

  36. I don’t see any. I’m using the Google Products Search API Atom protocol.
    http://code.google.com/apis/shopping/search/v1/getting_started.html

    I have a key but don’t want to publish it here. You can’t access the feeds without one.

    Anyway when I post the atom url to tinwebrss I don’t see any of the image calls at all. I see links but not image calls.

    This is the part of the code I think is relevant. I believe you could add something to make sure the image url is appended to the json string.

    I tried pasting code here but it sanitized it so here is a link to a screenshot.

    https://lh6.googleusercontent.com/_gh_MUzMAX5A/Tc9Q-2zn_AI/AAAAAAAABdA/iK78OBtsHCs/s912/Screen%20shot%202011-05-14%20at%209.04.29%20PM.png

    • That’s not a standard atom feed (like those used for blogs, flickr, etc.). It’s using a custom namespace just for the google product search. You can still parse it, but you’ll need to write code specifically for the namespace used. Btw, it would be easier to parse the JSON version of the feed using the python json library.

      This would be a good candidate for a separate page on this site devoted just to Google product search.

  37. Yeah, right now I am using a clone of tinywebrss to change this atom feed into json because I don’t know how to get the json from the Google Products API back down to my AppInventor app. When I go to the API url and append &alt=json instead of &alt=atom like normal it tries to give me a download.

  38. Once you parse the json, reference the image something like this:

    #result is the result of a urlfetch
    oJson = json.loads(result.content.replace(“\\’”, “‘”))
    title = oJson["product"]["title"]
    description = oJson["product"]["description"]
    link = oJson["product"]["link"]
    images = oJson["product"]["images"]["link"]
    value.append(“|||”.join([title, description, link, image]))

  39. Unfortunately I don’t have any business messing with any of this code. Even though I am a newbie to programming I am highly skilled in marketing, SEO and Social Media. I am fascinated with making apps and am frantically trying to get ready for Google TV’s being updated with HoneyComb and having Android Market access. I have one app with 50k downloads already. I’m working on one for Google TV now.

    Anyway, the normal parser works for Title, Description and Link, ‘as is’ even with Google Products API atom feed. The only part that does not work is the image url. I just need something I can just paste into the main.py file in my tinywebrss clone and directions on where to paste it.

    I appreciate your help. If there is anything in my skill set that can help you don’t hesitate to ask. :)

  40. Thumbnail I mean

  41. Since AI won’t let us play Youtube videos directly in the app. :( I did find a way to open the youtube video in a way that does not show all the extras like comments and related videos. That way the user has no choice but to just hit the back button and go back to my app to make another choice.

  42. I have two, separate questions.

    1. I have been trying to use this feed: http://www.all4god.x10hosting.com/feed/rss/ from the site http://www.all4God.co.uk, but it doesn’t seem to work, any ideas?

    2. (Using a different feed), I have been trying to make an app where it displays a few items from a feed and you tap the title to view the full page in the web browser. I have the following code blocks: http://dl.dropbox.com/u/9326292/AppInventorRSS.png

    What I don’t understand it, what do I connect to “valueToStore” (and then “list”, which should presumably have the same thing connected). I have tried a few things, but I am at a loss as to how to use this procedure.

    I thank you for any help with either issue.

  43. I would like to see images be built into the stock source code for the App Engine example.

  44. Got it, thanks. Don’t suppose you know anyway to fix this, without being able to get admin access to the site? e.g. is there anyway I could have an auto-updated version with the offending entity auto-replaced? I’ll maybe talk to the owner of the site and try to get it fixed if possible…

    Thanks for your help though. Any advice with the second question, about using the rssdb.StoreValue procedure?

  45. Nevermind about the first issue, may have found a workaround involving a PHP script

    • Seems to have sort of worked… http://sifjar.tk/all4God.php – works much better in Firefox, but still not recognised by tinywebrss.appspot.com

      • Got it fixed, there were issues with the encoding and some visitor tracking code automatically added by the webhost. It is now working perfectly.

        Now I just need to work out the second issue :P

      • Darn, I was wrong it isn’t working. It works if I have visited the PHP script on my computer a few minutes before trying it in http://tinywebrss.appspot.com or an app, but if its more than two or three mins, it doesn’t work. :( I presume tinywebRSS doesn’t really support PHP too good…

  46. Can anyone share an example where they have parsed the RSS output with clickable headlines or URLs?

  47. I have a working example. Search the market for “1st TwitterBing Search and Share” app. I also have an explaination video in the app.

  48. Hi David,

    I downloaded your TwitterBing app. It looks really nice (and it isn’t very big as well :-)). I was wondering if you could share your configurations in the API and the blockseditor? How does your main.py look like?
    I don’t need your appspot adress (you can leave that out). I just want to know how the code and the blocks look with clickable links.
    Just tell me if there are objections. Thanks in advance en good luck creating you GoogleTV App :-)

    And

  49. Hey first great work!

    second a question :)

    Is it possible to get just one from the rss feed but this 5 times?

    so i need not all at once because i want to assign them to buttons for a link. I thought if i cant put buttons in the foreach loop then make 5 different querys because always the last entry gets in the button.

    So i managed, with kicking out the foreach loop just to get one entry. the last one. But how can i say for example i want to get entry 1 and 3 ? Or better get a random number of my rss feed to show up?

    thanks!

  50. Great Post, I haven’t read the other comments to see what they’ve said but you did a great job from what I’ve seen. good work

    • Also. Just wondering what sort of licensing your stuff is under? just looked at the flickr feed parser, looks top notch mate good work.

  51. I assigned a different button for each RSS feed and set the Getvalue with the feed text. The 1st button push works fine, but the next doesn’t clear the text and shows the same feed as the first. How can I clear the text value to the label between feeds?

  52. I set the label block with an empty text component at the end of the button event, unfortunately it doesn’t change until the 2nd click, the 1st it is still the same and on the 2nd click it shows the new, correct text. I tired to put it at both the top and the bottom of the event button but neither worked correctly

  53. @dsanvita, sorry to be such a newbie but I follow most of the the changes you made to the sample. Making the getfeed a procedure but I can see where you got the call get feed with the 2 snapin’s, under my definitions I have a call getfeed but it doesn’t have snapin’s for additional blocks. Thanks for walkin me thru this.

  54. Hello,

    Question? I’ve done everything you said in the tutorial, but how can i load the rss-feeds directly instead off pushing the button?

    Thnx in advance for any answer

    • You can call rssdb.GetValue from any event., such as Screen1.Initialize to load the feed automatically when the app starts up.

  55. Thnx for the solution!

  56. I have another question! I’ve made my own rss-feed with this script, but my question is. One of my feeds contain a picture. And when i’ll take a look it doesn’t appare. Is there a way to display the picture?

    Thnx in advance for any tips/answers

    Greetz,
    Wilfred

    • The tinywebrss service returns the picture from feeds that support enclosures as the 4th item in the list.

      1. title
      2. description
      3. link
      4. link to enclosure such as a picture

      #4 can be used at the source for an image item, but it requires some work. since you cannot add images on the fly to your screen in App Inventor. To see if your feed has a supported image tag just goto http://tinywebrss.appspot.com and enter your feed url. If the image links come back as the 4th entry for each item, then you are good.

      I give an example of another way to incorporate images from a flickr rss feed here:

      http://appinventor.googlelabs.com/forum/#!topic/programming-with-app-inventor/3n_p3N89r6A/discussion

      This uses the new web component to download the rss feeds and parses the xml using pure AI blocks instead of a tinywebdb service.

      • Hi Dsanvita,
        I had a question regarding the flickr app you mention. Is it possible to make a few adjustments so that not the image will be showed on the button, but the title and the description of an rssfeed?
        I have a pretty straight forward rssfeed of a blog [http://pipes.yahoo.com/pipes/pipe.run?_id=9d42aad65d49dbbc4b2cf8125edf0e17&_render=rss] and I want to parse (title and description) each individual blogitem on a button (like you did with the flickr images). When I push the button I want to call a activity starter which sets the browser to the website where the entire blog can be read (therefore I need to parse each item on a different button).
        I copied the xmlparse and xmlgetval definition as well as the web.gottext event (I left out the parts that save to the db, because I think I don’t need it) and the mytimer (I’m not sure if i need the timer action).
        So my main question is: is it easy to adjust the ‘flickr blocks’, or can I better start from scratch? That would be very hard, because if i look at the xmlparse definition, I really haven’t got a clue where it is about :-).
        Thanks in advance and keep up the great work!

  57. You can call xmlGetVal to grab any tag or attribute so getting the title and description should be easy. First we grab the items (same as the flickr example). Then for each item we grab the title, description, and link and concatenate the title and description into one string that becomes the button text. Change the button click handler to launch the web browser with the url we got when grabbing the item link.

    The timers I use are to prevent the app from locking up while parsing (AI is slow at parsing strings). So first I parse the items, then when the timer fires I setup the next button with its image. You can do that too to avoid the whole app freezing and not responding to user input while all 20 items are being parsed.

    • Thanks, I give it a go this weekend. I’ll let you know if I can manage it. I’ll post the blocks if I succeed! Thanks for the advice!

  58. Hello,

    When i’ll take a look @ http://tinywebrss.appspot.com , and enter my RSS link http://www.kvuni.nl/Miriam/index.php?format=feed&type=atom. My picture witch you can see on the internet, but not on my phone when i load my app.

    Could it have something to do with that my RSS-feed is built on a Joomla based website?

    Thnx in advance

    • I checked out your feed and the only image was embedded in the description. tinywebrss looks for images that are enclosures, a standardish way rss uses to embed images (ala flickr). You could grab images from the description using custom xml parsing with the web component and the xmlGetVal procedure I wrote in AI. Grab the description then pass the result to xmlGetVal and grab the first “img”, “src”.

  59. In Noob-talk you just said: i should take the link where my image is stored and should……..don’t know exactly what xml parsing is? Think this is going way above my head..No problem though i really like this..so if you got more tips?

  60. actually i’ve created my own rss-feed. Problem is that it doesn’t want to validate: http://www.kvuni.nl/feed.xml

    This link is the problem, but i don’t get why.

    http://www.kvuni.nl/Miriam/index.php?option=com_content&view=article&id=2&Itemid=5

  61. Sorry guys but I got lost. I just need to get the rss feed, without changing anything of the original code. The feed’s url is http://feed.getitnow.gr/GetitnowRSS or
    http://feed.getitnow.gr/GetitnowRSS?format=xml

    if I put one of these to the “txtRSSUrl” I do not get any result. Does this has something to do with the address or should I setup something more?

  62. great thanks. this is what i was looking for.

    But the result looks like junk.

    How to beautify it by making the Titles bold and changing the font color?

    I’m an Asp.net programmer.
    Is there any control like the gridview?

  63. Dear helping Peoples,

    i´m writing to you from germany, so my english isn´t so good!
    sorry!

    i´m trying to configure an app with app inventor to show some RSS feeds inside.

    my wish is to show 10 buttons on one screen. if i push one button the app will fetch the RSS feed and show it with text an one small image.

    i´m a newbie in app inventor. my first app is running and the next app will be this one.

    so i got no problems with app inventor for the design etc. but i´m not checking how it works with the RSS.

    every place show how to do with TinyWeb RSS.

    But I need a screenshot how to configure the BLOCK EDITOR to get the functions in my app.

    it´s possible to get help from you like screenshots or a video tutorial?

    i´m very happy if someone will help me!

    thanks a lot and very well greetings from cologne germany,

    christian

  64. I’m new to App Inventor. Above, where it says “scan the barcode to your Android phone,” what is the phone emulator equivalent of this instruction? Next, where it says to download the source code and select the file, is that with or without unzipping it first? Lastly, if I use the file, does this mean I do not need the barcode phone emulator equivalent instruction?

  65. Hi guys,

    I don’t know what happened, but the QR link provided in the post is not accessible. Can somebody give another link where the app can be downloaded?

    Thank a lot

  66. This is great and I want to thank you for writing this and making the source available.

    Thanks.

  67. “RSS Feeds App Inventor API” was indeed a delightful article, can not help but wait to browse far more of your postings.
    Time to squander a bit of time on the internet haha.
    Many thanks -Jacques

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Follow

Get every new post delivered to your Inbox.

Join 60 other followers