Get a URL’s de.licio.us Count Using JavaScript

By  on  

When I put together my new theme, I made it a goal to integrate more of the social bookmarking websites. The benefit to me is that my articles and website will get more attention. The benefit to you is that you can save / bookmark / share my articles easier.

I've found the most useful bookmarking site to be de.licio.us. De.licio.us provides a very simple API which allows me access information about who has bookmarked my articles quickly. Here's how to pull the bookmark count for a specified URL.

The JavaScript

<script type="text/javascript">
//the callback -- what do we do with the json response?
function get_delicious_count(info) { 
	//get the number of saves
	var num = info[0].total_posts
	//if none, do nothing
	if(!num) return;
	//if some, I add the number to the end of my link, like at the top of every one of my article posts.
	return $('delic').set({ 
		'text': $('delic').get('text') + ' (' + num + ')',
		'title': num + ' people found this post delicious!'
	});
}
</script>


<script src='http://badges.del.icio.us/feeds/json/url/data?url=https://davidwalsh.name/delicious-url-count-javascript&callback=get_delicious_count'></script>

You need to place your function code before the second JavaScript tag which goes to de.licio.us to get the statistic information. Note that you need to provide the URL to check and a callback function which will handle the data.

When you receive the data, you can do whatever you want to format it. On this site, I get the count and append it to the "de.licio.us" link at the top of the article. How would you use this data?

Recent Features

  • By
    LightFace:  Facebook Lightbox for MooTools

    One of the web components I've always loved has been Facebook's modal dialog.  This "lightbox" isn't like others:  no dark overlay, no obnoxious animating to size, and it doesn't try to do "too much."  With Facebook's dialog in mind, I've created LightFace:  a Facebook lightbox...

  • By
    CSS Gradients

    With CSS border-radius, I showed you how CSS can bridge the gap between design and development by adding rounded corners to elements.  CSS gradients are another step in that direction.  Now that CSS gradients are supported in Internet Explorer 8+, Firefox, Safari, and Chrome...

Incredible Demos

  • By
    Build a Toggling Announcement Slider Using MooTools 1.2

    A few of my customer have asked for me to create a subtle but dynamic (...I know...) way for them to advertise different specials on their website. Not something that would display on every page, but periodically or only the homepage. Using a trick...

  • By
    Full Width Textareas

    Working with textarea widths can be painful if you want the textarea to span 100% width.  Why painful?  Because if the textarea's containing element has padding, your "width:100%" textarea will likely stretch outside of the parent container -- a frustrating prospect to say the least.  Luckily...

Discussion

  1. I love finding out new things about the numerous API’s bouncing around the social network sites. I actually only became aware that del.icio.us had an API recently, and you’ve pretty much explained the most useful method in full. Thanks mate, good post.

  2. Excellent post! Really need this for my blog.

  3. BTW, JSON is indeed an easy lightweight way to transfer data.

  4. <script src=’http://badges.del.icio.us/feeds/json/url/data?url=http://davidwalsh.name/&callback=get_delicious_count’>

    And you can use it on all pages without changing the code.

  5. erent7

    That’s really nice. I follow your articles with my patience day and day :=) Thank you

  6. Peter

    Thank you. I just pooped my pants reading this. Very good!

  7. @Binny V A: Change the url with : location.href.replace(/\?.*/,'');
    It works for me ;)

Wrap your code in <pre class="{language}"></pre> tags, link to a GitHub gist, JSFiddle fiddle, or CodePen pen to embed!