Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

open-graph-scraper-lite

jshemas6.5kMIT2.1.0TypeScript support: included

Javascript scraper module for Open Graph and Twitter Card info

app links, dublin core, json ld, meta tags, metadata, og, ogp, ogs, open graph scraper, open graph, opengraph, openGraphScraper, scraper, twitter card, twitter

readme

openGraphScraperLite

Node.js CI Known Vulnerabilities

A simple javascript module for scraping Open Graph and Twitter Card info from given HTML. For Node.js usage, we recommend open-graph-scraper by the same people and can do HTTP requests.

Installation

npm install open-graph-scraper-lite --save

Usage

const ogs = require('open-graph-scraper');
const options = {
  html: `<html><head>
  <link rel="icon" type="image/png" href="https://bar.com/foo.png" />
  <meta charset="utf-8" />
  <meta property="og:description" name="og:description" content="html description example" />
  <meta property="og:image" name="og:image" content="https://www.foo.com/bar.jpg" />
  <meta property="og:title" name="og:title" content="foobar" />
  <meta property="og:type" name="og:type" content="website" />
  </head></html>`
};
ogs(options)
  .then((data) => {
    const { result } = data;
    console.log('result:', result);
  })

Results JSON

result: {
  ogDescription: 'html description example',
  ogTitle: 'foobar',
  ogType: 'website',
  ogImage: [ { url: 'https://www.foo.com/bar.jpg', type: 'jpg' } ],
  favicon: 'https://bar.com/foo.png',
  charset: 'utf-8',
  success: true
}

Options

Name Info Default Value Required
html You can pass in an HTML string to run ogs on it. (use without options.url) x
onlyGetOpenGraphInfo Only fetch open graph info and don't fall back on anything else. false
customMetaTags Here you can define custom meta tags you want to scrape. []

Custom Meta Tag Example

const ogs = require('open-graph-scraper');
const options = {
  html: `<html><head>
  <link rel="icon" type="image/png" href="https://bar.com/foo.png" />
  <meta charset="utf-8" />
  <meta property="og:description" name="og:description" content="html description example" />
  <meta property="og:image" name="og:image" content="https://www.foo.com/bar.jpg" />
  <meta property="og:title" name="og:title" content="foobar" />
  <meta property="og:type" name="og:type" content="website" />
  <meta name="hostname" content="github.com">
  </head></html>`,
  customMetaTags: [{
    multiple: false, // is there more than one of these tags on a page (normally this is false)
    property: 'hostname', // meta tag name/property attribute
    fieldName: 'hostnameMetaTag', // name of the result variable
  }],
};
ogs(options)
  .then((data) => {
    const { result } = data;
    console.log('hostnameMetaTag:', result.customMetaTags.hostnameMetaTag); // hostnameMetaTag: github.com
  })

changelog

Change Log

2.1.0

  • Sync changes from openGraphScraper
  • Adding better support for cjs and esm
  • Fix issue with the charset fallback. Replace Buffer.from with Uint8Array since body is always html
  • Updating dependencies

2.0.0

  • This library no longer does HTTP requests, it will now just pull Open Graph and Twitter Card info from HTML pass into it.

1.1.1

  • Fixing issues with ky import

1.1.0

  • Setting up the openGraphScraperLite repo

1.0.0

  • First version of openGraphScraperLite!