Get Open Graph Data with Node.js

By  on  

Two of this blog's most popular posts are Facebook Open Graph META Tags and How to Create a Twitter Card.  I'm not at all surprised because we as content creators want some visual control over how our site is represented and shared on third party sites, especially social media sites.   I was recently posting a link on Tech.pro and they instantly grab open graph information about the page, prepopulating known information, just like Facebook and Twitter, and that got me thinking about the other side of open graph data -- scraping data from a site.  Look no further than the open-graph-scraper JavaScript module!

After installing the module from NPM or GitHub, getting Open Graph information from a given URL is easy:

var ogs = require('open-graph-scraper');

ogs(
	{ url: 'https://davidwalsh.name' }, // Settings object first
	function(er, res) { console.log(er, res); }  // Callback 
);

/*  Result:
	
	{ data:
	   { success: 'true',
	     ogImage: 'https://davidwalsh.name/wp-content/themes/punky/images/logo.png',
	     ogTitle: 'David Walsh - JavaScript, HTML5 Consultant',
	     ogUrl: 'https://davidwalsh.name/',
	     ogSiteName: 'David Walsh Blog',
	     ogDescription: 'David Walsh Blog features tutorials about MooTools, jQuery, Dojo, JavaScript, PHP, CSS, HTML5, MySQL, and more!' },
	  success: true }
	
*/

Simple API and simple result -- lovely.  Of course every programming language will have an equivalent library but we all know JavaScript is king!  Happy sharing everyone!

Recent Features

Incredible Demos

  • By
    Create Custom Events in MooTools 1.2

    Javascript has a number of native events like "mouseover," "mouseout", "click", and so on. What if you want to create your own events though? Creating events using MooTools is as easy as it gets. The MooTools JavaScript What's great about creating custom events in MooTools is...

  • By
    Create WordPress Page Templates with Custom Queries

    One of my main goals with the redesign was to make it easier for visitors to find the information that was most popular on my site. Not to my surprise, posts about MooTools, jQuery, and CSS were at the top of the list. What...

Discussion

  1. Muneeb

    Hi, David Thank you for this post. When using this code to fetch from multiple links . It is giving unhandled promise rejection.

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