OpenGraphJS builds a JSON object from a web page which follows the Open Graph Protocol. The JavaScript object returned by this library contains important metadata such as the description, image, and title.
npm install opengraphjs
- Its easy, if you are using a version of node with Promises you are ready to go!
- Other versions of node:
- define
global.Promise = require('bluebird'); - Feel free to substitute Bluebird with your perferred promise library
- define
// Include it
var ogjs = require('opengraphjs');
// Pass in a URL
ogjs({ url: 'http://senorcris.com' })
.then(function (data) {
console.log(data); // some share data parsed from metatags..
}, function (err) {
console.log('It seems that we have fumbled with an error', err);
});// Include it
var ogjs = require('opengraphjs');
// Pass in a URL
ogjs({ url: 'http://senorcris.com' }, function (err, data) {
if (err) {
console.log('It seems that we have fumbled with an error', err);
return;
}
console.log(data); // some share data parsed from metatags..
});{
title: 'Open Graph protocol',
type: 'website',
url: 'http://ogp.me/',
description: 'The Open Graph protocol enables any web page to become a rich object in a social graph.',
image: [{
url: 'http://ogp.me/logo.png',
type: 'image/png',
width: '300',
height: '300'
}]
}| Property Name | JS Name | Type | Description |
|---|---|---|---|
| og:title | title | string | title set in og:title, if missing uses the page's title tag |
| og:type | type | string | open graph type for the current document |
| og:url | url | string | sharable url to content |
| og:description | description | string | describes the media/page being shared |
| og:determiner | determiner | string | |
| og:locale | locale | object | has two properties, `name` which contains the default locale and `alternate` which is an array of strings with additional locales |
| og:site_name | siteName | string | |
| og:image | image | array | Array of objects Properties: - url (always present) - secureUrl (optional) - width (optional) - height (optional) |
| og:video | video | array | Array of objects Properties: - url (always present) - secureUrl (optional) - width (optional) - height (optional) |
| og:audio | audio | array | Array of objects Properties: - url (always present) - secureUrl (optional) |
- Inspired by openGraphScraper