Docs
Installation

Installation

npm install web-meta-scraper

Requirements

  • Node.js 18 or later (for native fetch() support)
  • TypeScript 5.0+ (optional, but recommended)

Module Formats

web-meta-scraper ships with both CommonJS and ESM builds:

// ESM
import { scrape, createScraper } from 'web-meta-scraper';
 
// CommonJS
const { scrape, createScraper } = require('web-meta-scraper');

Exports

ExportDescription
scrapeConvenience function — auto-detects URL vs HTML, uses all built-in plugins
createScraperFactory function for full control over plugins, rules, and options
ScraperErrorCustom error class thrown on failures
metaTagsPlugin for standard HTML meta tags
openGraphPlugin for Open Graph protocol
twitterPlugin for Twitter Cards
jsonLdPlugin for JSON-LD structured data
oembedPlugin for oEmbed discovery
DEFAULT_RULESDefault priority resolve rules
createContextHelper to create a ScrapeContext for testing plugins
fetchHtmlStandalone HTML fetcher function

Type Exports

TypeDescription
ScraperConfigConfiguration for createScraper()
ScraperResultReturn type with metadata and sources
ResolvedMetadataMerged metadata output type
PluginPlugin function type
PluginResultPlugin return type
ScrapeContextContext passed to plugins
ResolveRulePriority resolve rule type
FetchOptionsOptions for fetchHtml
ScraperOptionsGeneral scraper options
JsonLdMetadataJSON-LD data type
OEmbedDataoEmbed data type