{"_id":"@brandonrjguth/recipe-scraper","_rev":"14-758babb4d1e8cdd0b5eac7fe1735f25c","name":"@brandonrjguth/recipe-scraper","dist-tags":{"latest":"2.8.2"},"versions":{"2.1.1":{"name":"@brandonrjguth/recipe-scraper","version":"2.1.1","keywords":["recipes","scraper","web-scraper","recipe"],"author":{"name":"Justin Adkins","email":"jadkins1019@gmail.com"},"license":"MIT","_id":"@brandonrjguth/recipe-scraper@2.1.1","maintainers":[{"name":"brandonrjguth","email":"brandonrjguthrie@gmail.com"}],"homepage":"https://github.com/jadkins89/Recipe-Scraper#readme","bugs":{"url":"https://github.com/jadkins89/Recipe-Scraper/issues"},"dist":{"shasum":"6e89fa1dca915183fbe00ac744366fb89f222231","tarball":"https://registry.npmjs.org/@brandonrjguth/recipe-scraper/-/recipe-scraper-2.1.1.tgz","fileCount":54,"integrity":"sha512-3ZXiHEZxF9bwJZ6h83hSPNo7uZKGf3lz9FvWg0QDOwuz7/ETSSEpvJsCZNy0M+fVoVy6QDOT6P2n16UaQ8gjMw==","signatures":[{"sig":"MEUCIQCFrOVxHF/4cdQbldrT9XmqjCAOVwAk1ItbLYaI3wz0xwIgarNVjDSLd19RiIJOSQ5Dxd2c0IHmt46G2hb0UIUsv6U=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":88145},"main":"scrapers/index.js","gitHead":"43c21e2a496b43e16acddedbdadc466ad38ab90a","scripts":{"test":"mocha --timeout 15000","start":"node scrapers/index.js","coverage":"nyc npm test","coveralls":"nyc npm test && nyc report --reporter=text-lcov | coveralls"},"_npmUser":{"name":"brandonrjguth","email":"brandonrjguthrie@gmail.com"},"repository":{"url":"git+https://github.com/jadkins89/Recipe-Scraper.git","type":"git"},"_npmVersion":"10.5.0","description":"A JS package for scraping recipes from the web.","directories":{"test":"test"},"_nodeVersion":"20.11.1","dependencies":{"cheerio":"^1.0.0-rc.3","puppeteer":"^9.0.0","jsonschema":"^1.4.0","node-fetch":"^2.6.1","parse-domain":"^2.3.2"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^14.1.1","chai":"^4.2.0","mocha":"^6.2.1","coveralls":"^3.0.6"},"_npmOperationalInternal":{"tmp":"tmp/recipe-scraper_2.1.1_1712162096407_0.2469459702222292","host":"s3://npm-registry-packages"}},"2.2.0":{"name":"@brandonrjguth/recipe-scraper","version":"2.2.0","keywords":["recipes","scraper","web-scraper","recipe"],"author":{"name":"Brandon","email":"brandonrjguthrie@gmail.com"},"license":"MIT","_id":"@brandonrjguth/recipe-scraper@2.2.0","maintainers":[{"name":"brandonrjguth","email":"brandonrjguthrie@gmail.com"}],"contributors":[{"url":"https://github.com/jadkins89/Recipe-Scraper","name":"Justin Adkins","email":"jadkins1019@gmail.com"}],"homepage":"https://github.com/brandonrjguth/Recipe-Scraper#readme","bugs":{"url":"https://github.com/brandonrjguth/Recipe-Scraper/issues"},"dist":{"shasum":"e2640b4edb8f04de5d0415dfbeb42444d5cdfd47","tarball":"https://registry.npmjs.org/@brandonrjguth/recipe-scraper/-/recipe-scraper-2.2.0.tgz","fileCount":56,"integrity":"sha512-VIHLJbTLeX4zC36n9GaNvlL9oTp3jNzLeyGyHnsDfS0vc88NJ6yQtQhBM1ktnNI1tZud8kj+zmXBNoKYUYu79A==","signatures":[{"sig":"MEYCIQC0pl/CNcXErof6p3ehyU9pvLx2eAsP0mRhV3kF8MZ3xQIhAON2L6dn1Sq1vrf5oYP3GGjMVu1BeuMJHxAg+n42Efpd","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":90979},"main":"scrapers/index.js","gitHead":"bcae3f3feb6097dba4eb25e00e9ac8c0811ed6de","scripts":{"test":"mocha --timeout 15000","start":"node scrapers/index.js","coverage":"nyc npm test","coveralls":"nyc npm test && nyc report --reporter=text-lcov | coveralls"},"_npmUser":{"name":"brandonrjguth","email":"brandonrjguthrie@gmail.com"},"repository":{"url":"git+https://github.com/brandonrjguth/Recipe-Scraper.git","type":"git"},"_npmVersion":"10.5.0","description":"A JS package for scraping recipes from the web.","directories":{"test":"test"},"_nodeVersion":"20.11.1","dependencies":{"cheerio":"^1.0.0-rc.3","puppeteer":"^9.0.0","jsonschema":"^1.4.0","node-fetch":"^2.6.1","parse-domain":"^2.3.2"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^14.1.1","chai":"^4.2.0","mocha":"^6.2.1","coveralls":"^3.0.6"},"_npmOperationalInternal":{"tmp":"tmp/recipe-scraper_2.2.0_1743671110154_0.4841381800792972","host":"s3://npm-registry-packages-npm-production"}},"2.3.0":{"name":"@brandonrjguth/recipe-scraper","version":"2.3.0","keywords":["recipes","scraper","web-scraper","recipe"],"author":{"name":"Brandon","email":"brandonrjguthrie@gmail.com"},"license":"MIT","_id":"@brandonrjguth/recipe-scraper@2.3.0","maintainers":[{"name":"brandonrjguth","email":"brandonrjguthrie@gmail.com"}],"contributors":[{"url":"https://github.com/jadkins89/Recipe-Scraper","name":"Justin Adkins","email":"jadkins1019@gmail.com"}],"homepage":"https://github.com/brandonrjguth/Recipe-Scraper#readme","bugs":{"url":"https://github.com/brandonrjguth/Recipe-Scraper/issues"},"dist":{"shasum":"1e9e3507e3ee082968a2b08a872ab644bab70806","tarball":"https://registry.npmjs.org/@brandonrjguth/recipe-scraper/-/recipe-scraper-2.3.0.tgz","fileCount":58,"integrity":"sha512-K2ub38ioBZ6gmpI7L84wyX8xfl0zL0nSCSSkqrg9m3vuUJOtKBXtXSlave83aft9iQu7O9eqExAyd2sFK9CoYg==","signatures":[{"sig":"MEUCIQCHSseE3XNE5epnoOIHJ05scvLsedOEJrURYPUFLpMpXAIgIeQ7ko/dMOWaSLfu6gCuk+KAETgQjMRFuVECzdfqgAk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":91709},"main":"scrapers/index.js","gitHead":"f408d58124e9493c3c40fab2e79efa64e521da48","scripts":{"test":"mocha --timeout 15000","start":"node scrapers/index.js","coverage":"nyc npm test","coveralls":"nyc npm test && nyc report --reporter=text-lcov | coveralls"},"_npmUser":{"name":"brandonrjguth","email":"brandonrjguthrie@gmail.com"},"repository":{"url":"git+https://github.com/brandonrjguth/Recipe-Scraper.git","type":"git"},"_npmVersion":"10.5.0","description":"A JS package for scraping recipes from the web.","directories":{"test":"test"},"_nodeVersion":"20.11.1","dependencies":{"cheerio":"^1.0.0-rc.3","puppeteer":"^9.0.0","jsonschema":"^1.4.0","node-fetch":"^2.6.1","parse-domain":"^2.3.2"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^14.1.1","chai":"^4.2.0","mocha":"^6.2.1","coveralls":"^3.0.6"},"_npmOperationalInternal":{"tmp":"tmp/recipe-scraper_2.3.0_1743685136946_0.6213482895945803","host":"s3://npm-registry-packages-npm-production"}},"2.4.0":{"name":"@brandonrjguth/recipe-scraper","version":"2.4.0","keywords":["recipes","scraper","web-scraper","recipe"],"author":{"name":"Brandon","email":"brandonrjguthrie@gmail.com"},"license":"MIT","_id":"@brandonrjguth/recipe-scraper@2.4.0","maintainers":[{"name":"brandonrjguth","email":"brandonrjguthrie@gmail.com"}],"contributors":[{"url":"https://github.com/jadkins89/Recipe-Scraper","name":"Justin Adkins","email":"jadkins1019@gmail.com"}],"homepage":"https://github.com/brandonrjguth/Recipe-Scraper#readme","bugs":{"url":"https://github.com/brandonrjguth/Recipe-Scraper/issues"},"dist":{"shasum":"ffec8f89cadd67a454c8a042c1c40ac392d53b55","tarball":"https://registry.npmjs.org/@brandonrjguth/recipe-scraper/-/recipe-scraper-2.4.0.tgz","fileCount":59,"integrity":"sha512-MXhOWwb+w7N6sARmoNR8DfO0lIi00NqzRAT6EznNL5o7+ezigE08nel+0A6jv8zS6uRvVSZkEIGd6cOR4YoqbQ==","signatures":[{"sig":"MEQCIA63lnRj+NY4dYZr/kk5ndrCxMdlmijmN9AwBHsz/RAhAiAhIfv8Wdp8my5l0OTK1jRXbNYCb1iZiCDq0RNl2+94uQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":93207},"main":"scrapers/index.js","gitHead":"46018854681a8bb2b29ff2513fa3abf829f41ce5","scripts":{"test":"mocha --timeout 15000","start":"node scrapers/index.js","coverage":"nyc npm test","coveralls":"nyc npm test && nyc report --reporter=text-lcov | coveralls"},"_npmUser":{"name":"brandonrjguth","email":"brandonrjguthrie@gmail.com"},"repository":{"url":"git+https://github.com/brandonrjguth/Recipe-Scraper.git","type":"git"},"_npmVersion":"10.5.0","description":"A JS package for scraping recipes from the web.","directories":{"test":"test"},"_nodeVersion":"20.11.1","dependencies":{"cheerio":"^1.0.0-rc.3","puppeteer":"^9.0.0","jsonschema":"^1.4.0","node-fetch":"^2.6.1","parse-domain":"^2.3.2"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^14.1.1","chai":"^4.2.0","mocha":"^6.2.1","coveralls":"^3.0.6"},"_npmOperationalInternal":{"tmp":"tmp/recipe-scraper_2.4.0_1753190730562_0.6242016851965553","host":"s3://npm-registry-packages-npm-production"}},"2.5.0":{"name":"@brandonrjguth/recipe-scraper","version":"2.5.0","keywords":["recipes","scraper","web-scraper","recipe"],"author":{"name":"Brandon","email":"brandonrjguthrie@gmail.com"},"license":"MIT","_id":"@brandonrjguth/recipe-scraper@2.5.0","maintainers":[{"name":"brandonrjguth","email":"brandonrjguthrie@gmail.com"}],"contributors":[{"url":"https://github.com/jadkins89/Recipe-Scraper","name":"Justin Adkins","email":"jadkins1019@gmail.com"}],"homepage":"https://github.com/brandonrjguth/Recipe-Scraper#readme","bugs":{"url":"https://github.com/brandonrjguth/Recipe-Scraper/issues"},"dist":{"shasum":"5053a6cbbe90292dc5b16b7d93c0baaef9360cb4","tarball":"https://registry.npmjs.org/@brandonrjguth/recipe-scraper/-/recipe-scraper-2.5.0.tgz","fileCount":59,"integrity":"sha512-oe5rEurKtJPNcRlb8GWvx5JPcsYfu3zUm1vej0LO/QIvMRaOj/0LaK7O7IQlrwq+SCSd+706Yi3nGI4nIUmSkQ==","signatures":[{"sig":"MEQCIERb1L02pGre1nbO0gjmN53ciOIKcO1DT5jLBAfGnQaXAiApDkoAP9CJ56922Eej7RZpO4fjmi1pH5/xGYTV3jKgQg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":93237},"main":"scrapers/index.js","gitHead":"5d0a17db53e3a4b6c0bcdb49ee350d20b15b2d75","scripts":{"test":"mocha --timeout 15000","start":"node scrapers/index.js","coverage":"nyc npm test","coveralls":"nyc npm test && nyc report --reporter=text-lcov | coveralls"},"_npmUser":{"name":"brandonrjguth","email":"brandonrjguthrie@gmail.com"},"repository":{"url":"git+https://github.com/brandonrjguth/Recipe-Scraper.git","type":"git"},"_npmVersion":"10.5.0","description":"A JS package for scraping recipes from the web.","directories":{"test":"test"},"_nodeVersion":"20.11.1","dependencies":{"cheerio":"^1.0.0-rc.3","puppeteer":"^9.0.0","jsonschema":"^1.4.0","node-fetch":"^2.6.1","parse-domain":"^2.3.2"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^14.1.1","chai":"^4.2.0","mocha":"^6.2.1","coveralls":"^3.0.6"},"_npmOperationalInternal":{"tmp":"tmp/recipe-scraper_2.5.0_1754214357310_0.2911323828734058","host":"s3://npm-registry-packages-npm-production"}},"2.6.0":{"name":"@brandonrjguth/recipe-scraper","version":"2.6.0","keywords":["recipes","scraper","web-scraper","recipe"],"author":{"name":"Brandon","email":"brandonrjguthrie@gmail.com"},"license":"MIT","_id":"@brandonrjguth/recipe-scraper@2.6.0","maintainers":[{"name":"brandonrjguth","email":"brandonrjguthrie@gmail.com"}],"contributors":[{"url":"https://github.com/jadkins89/Recipe-Scraper","name":"Justin Adkins","email":"jadkins1019@gmail.com"}],"homepage":"https://github.com/brandonrjguth/Recipe-Scraper#readme","bugs":{"url":"https://github.com/brandonrjguth/Recipe-Scraper/issues"},"dist":{"shasum":"ae6761a32e3330ee59069007e5ea143e174b2d9d","tarball":"https://registry.npmjs.org/@brandonrjguth/recipe-scraper/-/recipe-scraper-2.6.0.tgz","fileCount":60,"integrity":"sha512-/FRTQvlvvTcngaL2N+uVTI+vOL33oktEjN16TkcbhFcPUHdhKmeRdXnKBPvhd7Zt3XthWUcHzYIpGO+RlwBICw==","signatures":[{"sig":"MEUCIE+5QRPMEE1yRgXn49o5F4sb6ga8rC4y3R6TFpTQlAfqAiEA0d9meejrdXoeCKx7L1MVlWSbYGc8oPZ6MmPYN+svgWU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":96225},"main":"scrapers/index.js","gitHead":"55150e484c88a67bb7fbe19f0fad997b6ef6caf2","scripts":{"test":"mocha --timeout 15000","start":"node scrapers/index.js","coverage":"nyc npm test","coveralls":"nyc npm test && nyc report --reporter=text-lcov | coveralls"},"_npmUser":{"name":"brandonrjguth","email":"brandonrjguthrie@gmail.com"},"repository":{"url":"git+https://github.com/brandonrjguth/Recipe-Scraper.git","type":"git"},"_npmVersion":"10.5.0","description":"A JS package for scraping recipes from the web.","directories":{"test":"test"},"_nodeVersion":"20.11.1","dependencies":{"cheerio":"^1.0.0-rc.3","puppeteer":"^9.0.0","jsonschema":"^1.4.0","node-fetch":"^2.6.1","parse-domain":"^2.3.2"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^14.1.1","chai":"^4.2.0","mocha":"^6.2.1","coveralls":"^3.0.6"},"_npmOperationalInternal":{"tmp":"tmp/recipe-scraper_2.6.0_1760375298053_0.5718854039115095","host":"s3://npm-registry-packages-npm-production"}},"2.6.1":{"name":"@brandonrjguth/recipe-scraper","version":"2.6.1","keywords":["recipes","scraper","web-scraper","recipe"],"author":{"name":"Brandon","email":"brandonrjguthrie@gmail.com"},"license":"MIT","_id":"@brandonrjguth/recipe-scraper@2.6.1","maintainers":[{"name":"brandonrjguth","email":"brandonrjguthrie@gmail.com"}],"contributors":[{"url":"https://github.com/jadkins89/Recipe-Scraper","name":"Justin Adkins","email":"jadkins1019@gmail.com"}],"homepage":"https://github.com/brandonrjguth/Recipe-Scraper#readme","bugs":{"url":"https://github.com/brandonrjguth/Recipe-Scraper/issues"},"dist":{"shasum":"8f4017be23609836047bcb6875538a5c5898a485","tarball":"https://registry.npmjs.org/@brandonrjguth/recipe-scraper/-/recipe-scraper-2.6.1.tgz","fileCount":60,"integrity":"sha512-tZO9i26XbMmqrC8jEZAh87bLIXefnp6E2yOw+YUvoOaT3p2mfswOmXcUFiOHH7uQf6OZnLQ81T/Md5BIsFD0dg==","signatures":[{"sig":"MEUCIQCRrfTgX1wlvLZwPSrYbrDpVkxw9Ys8RX7+Usopc7tA0AIgXH/yj05a1PcDAMEb6ERPxEHU1wFUszLEBD3UP65spp8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":94319},"main":"scrapers/index.js","gitHead":"1da42d33170ba31d6b98af152e923e4a2b97afe9","scripts":{"test":"mocha --timeout 15000","start":"node scrapers/index.js","coverage":"nyc npm test","coveralls":"nyc npm test && nyc report --reporter=text-lcov | coveralls"},"_npmUser":{"name":"brandonrjguth","email":"brandonrjguthrie@gmail.com"},"repository":{"url":"git+https://github.com/brandonrjguth/Recipe-Scraper.git","type":"git"},"_npmVersion":"10.5.0","description":"A JS package for scraping recipes from the web.","directories":{"test":"test"},"_nodeVersion":"20.11.1","dependencies":{"cheerio":"^1.0.0-rc.3","puppeteer":"^9.0.0","jsonschema":"^1.4.0","node-fetch":"^2.6.1","parse-domain":"^2.3.2"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^14.1.1","chai":"^4.2.0","mocha":"^6.2.1","coveralls":"^3.0.6"},"_npmOperationalInternal":{"tmp":"tmp/recipe-scraper_2.6.1_1760375820880_0.27055912952080785","host":"s3://npm-registry-packages-npm-production"}},"2.6.2":{"name":"@brandonrjguth/recipe-scraper","version":"2.6.2","keywords":["recipes","scraper","web-scraper","recipe"],"author":{"name":"Brandon","email":"brandonrjguthrie@gmail.com"},"license":"MIT","_id":"@brandonrjguth/recipe-scraper@2.6.2","maintainers":[{"name":"brandonrjguth","email":"brandonrjguthrie@gmail.com"}],"contributors":[{"url":"https://github.com/jadkins89/Recipe-Scraper","name":"Justin Adkins","email":"jadkins1019@gmail.com"}],"homepage":"https://github.com/brandonrjguth/Recipe-Scraper#readme","bugs":{"url":"https://github.com/brandonrjguth/Recipe-Scraper/issues"},"dist":{"shasum":"e3c689a488a0e8abe6c3289bdb643d3da4d4e065","tarball":"https://registry.npmjs.org/@brandonrjguth/recipe-scraper/-/recipe-scraper-2.6.2.tgz","fileCount":60,"integrity":"sha512-fctItdHe5idlkiwVm+sWH8jmdGRxk9/7dqH2UA14roAfy9TpUBRQ5wYPFd+cbemc0f4yK//I+ElQ2g6LCTzSwQ==","signatures":[{"sig":"MEUCIBa2T2NCwCiAkFCs7a/U/+STCp2oUB4M4LX0yFJmfVzwAiEAyPFRpjuRwJIMFdQVcBTLZfbhJTe+0bW33lu+lh7w+2E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":94319},"main":"scrapers/index.js","gitHead":"0137c638818549f17397d176d8a8509d083db5a8","scripts":{"test":"mocha --timeout 15000","start":"node scrapers/index.js","coverage":"nyc npm test","coveralls":"nyc npm test && nyc report --reporter=text-lcov | coveralls"},"_npmUser":{"name":"brandonrjguth","email":"brandonrjguthrie@gmail.com"},"repository":{"url":"git+https://github.com/brandonrjguth/Recipe-Scraper.git","type":"git"},"_npmVersion":"10.5.0","description":"A JS package for scraping recipes from the web.","directories":{"test":"test"},"_nodeVersion":"20.11.1","dependencies":{"cheerio":"^1.0.0-rc.3","puppeteer":"^9.0.0","jsonschema":"^1.4.0","node-fetch":"^2.6.1","parse-domain":"^2.3.2"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^14.1.1","chai":"^4.2.0","mocha":"^6.2.1","coveralls":"^3.0.6"},"_npmOperationalInternal":{"tmp":"tmp/recipe-scraper_2.6.2_1760376555386_0.4723821409186999","host":"s3://npm-registry-packages-npm-production"}},"2.6.3":{"name":"@brandonrjguth/recipe-scraper","version":"2.6.3","keywords":["recipes","scraper","web-scraper","recipe"],"author":{"name":"Brandon","email":"brandonrjguthrie@gmail.com"},"license":"MIT","_id":"@brandonrjguth/recipe-scraper@2.6.3","maintainers":[{"name":"brandonrjguth","email":"brandonrjguthrie@gmail.com"}],"contributors":[{"url":"https://github.com/jadkins89/Recipe-Scraper","name":"Justin Adkins","email":"jadkins1019@gmail.com"}],"homepage":"https://github.com/brandonrjguth/Recipe-Scraper#readme","bugs":{"url":"https://github.com/brandonrjguth/Recipe-Scraper/issues"},"dist":{"shasum":"189ec45e9f0fd7f9739537b92fe560c1cff1cac8","tarball":"https://registry.npmjs.org/@brandonrjguth/recipe-scraper/-/recipe-scraper-2.6.3.tgz","fileCount":60,"integrity":"sha512-4BVEck/6kFttReXSATw1XZZJ3O25VknqNT9Ru1MFzJ8sIBXpLhJPz6B+JlkbweR0xSUoo+2tj2UJ7LcGMng7vA==","signatures":[{"sig":"MEUCIQCT5mbrD7704aIH++JueuNGNz9ECpIXZ701pUzlMTYE7wIgWhFzA3jijfqCwMbVqRhtuZeRMVflKwlQ8dR+wHdHbNo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":94156},"main":"scrapers/index.js","gitHead":"766b715ed0ede4c0d860ab77924cb2acfbc159c1","scripts":{"test":"mocha --timeout 15000","start":"node scrapers/index.js","coverage":"nyc npm test","coveralls":"nyc npm test && nyc report --reporter=text-lcov | coveralls"},"_npmUser":{"name":"brandonrjguth","email":"brandonrjguthrie@gmail.com"},"repository":{"url":"git+https://github.com/brandonrjguth/Recipe-Scraper.git","type":"git"},"_npmVersion":"10.5.0","description":"A JS package for scraping recipes from the web.","directories":{"test":"test"},"_nodeVersion":"20.11.1","dependencies":{"cheerio":"^1.0.0-rc.3","puppeteer":"^9.0.0","jsonschema":"^1.4.0","node-fetch":"^2.6.1","parse-domain":"^2.3.2"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^14.1.1","chai":"^4.2.0","mocha":"^6.2.1","coveralls":"^3.0.6"},"_npmOperationalInternal":{"tmp":"tmp/recipe-scraper_2.6.3_1760377088941_0.8747528814078871","host":"s3://npm-registry-packages-npm-production"}},"2.7.0":{"name":"@brandonrjguth/recipe-scraper","version":"2.7.0","keywords":["recipes","scraper","web-scraper","recipe"],"author":{"name":"Brandon","email":"brandonrjguthrie@gmail.com"},"license":"MIT","_id":"@brandonrjguth/recipe-scraper@2.7.0","maintainers":[{"name":"brandonrjguth","email":"brandonrjguthrie@gmail.com"}],"contributors":[{"url":"https://github.com/jadkins89/Recipe-Scraper","name":"Justin Adkins","email":"jadkins1019@gmail.com"}],"homepage":"https://github.com/brandonrjguth/Recipe-Scraper#readme","bugs":{"url":"https://github.com/brandonrjguth/Recipe-Scraper/issues"},"dist":{"shasum":"0e1f7d745c5301626cbed6365426827c24215682","tarball":"https://registry.npmjs.org/@brandonrjguth/recipe-scraper/-/recipe-scraper-2.7.0.tgz","fileCount":61,"integrity":"sha512-VmiO+OkNi9c6wXXs6HNVgWeFsYp1OViVKtz5rE6C8uwoci+D18Dz3bJRvfJqGenenEZ38N5s8ymVw8rsUkZ70A==","signatures":[{"sig":"MEUCIEvSQvAEu4oSqQjPix+vEIv4Zg0WXCizjRz7pfZNZA1sAiEAr13oyWqpK0ep3I9klgtUF8rJbrtpBrvtpLAf+RSIcOY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":96138},"main":"scrapers/index.js","gitHead":"0d542263feda48b5b0dcf70516fff5c0c37f78d5","scripts":{"test":"mocha --timeout 15000","start":"node scrapers/index.js","coverage":"nyc npm test","coveralls":"nyc npm test && nyc report --reporter=text-lcov | coveralls"},"_npmUser":{"name":"brandonrjguth","email":"brandonrjguthrie@gmail.com"},"repository":{"url":"git+https://github.com/brandonrjguth/Recipe-Scraper.git","type":"git"},"_npmVersion":"10.5.0","description":"A JS package for scraping recipes from the web.","directories":{"test":"test"},"_nodeVersion":"20.11.1","dependencies":{"cheerio":"^1.0.0-rc.3","puppeteer":"^9.0.0","jsonschema":"^1.4.0","node-fetch":"^2.6.1","parse-domain":"^2.3.2"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^14.1.1","chai":"^4.2.0","mocha":"^6.2.1","coveralls":"^3.0.6"},"_npmOperationalInternal":{"tmp":"tmp/recipe-scraper_2.7.0_1760377319637_0.8214856403844222","host":"s3://npm-registry-packages-npm-production"}},"2.7.1":{"name":"@brandonrjguth/recipe-scraper","version":"2.7.1","keywords":["recipes","scraper","web-scraper","recipe"],"author":{"name":"Brandon","email":"brandonrjguthrie@gmail.com"},"license":"MIT","_id":"@brandonrjguth/recipe-scraper@2.7.1","maintainers":[{"name":"brandonrjguth","email":"brandonrjguthrie@gmail.com"}],"contributors":[{"url":"https://github.com/jadkins89/Recipe-Scraper","name":"Justin Adkins","email":"jadkins1019@gmail.com"}],"homepage":"https://github.com/brandonrjguth/Recipe-Scraper#readme","bugs":{"url":"https://github.com/brandonrjguth/Recipe-Scraper/issues"},"dist":{"shasum":"206b438ba2c594b2e2c18abc0e4a7c968dd35371","tarball":"https://registry.npmjs.org/@brandonrjguth/recipe-scraper/-/recipe-scraper-2.7.1.tgz","fileCount":61,"integrity":"sha512-fyz1177E8u+vT93yzVwZlD4lFKSRE2HTWtYwJ+x9YHAmd+GQNW8buiOOLCikSmxVJQgZJ7bCrU5Gfzp5SlYRKg==","signatures":[{"sig":"MEUCIE+76/leH3+9t7LXJUw7X0JO4T2CWLBdhVCZNx38OhhbAiEArnNEExAPzvMJDosQd/FQlUTq6t15yMO/Glkw5Z0+WFs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":95067},"main":"scrapers/index.js","gitHead":"36ce1ec85f4245259d9cddd664fb53bd543f25b6","scripts":{"test":"mocha --timeout 15000","start":"node scrapers/index.js","coverage":"nyc npm test","coveralls":"nyc npm test && nyc report --reporter=text-lcov | coveralls"},"_npmUser":{"name":"brandonrjguth","email":"brandonrjguthrie@gmail.com"},"repository":{"url":"git+https://github.com/brandonrjguth/Recipe-Scraper.git","type":"git"},"_npmVersion":"10.5.0","description":"A JS package for scraping recipes from the web.","directories":{"test":"test"},"_nodeVersion":"20.11.1","dependencies":{"cheerio":"^1.0.0-rc.3","puppeteer":"^9.0.0","jsonschema":"^1.4.0","node-fetch":"^2.6.1","parse-domain":"^2.3.2"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^14.1.1","chai":"^4.2.0","mocha":"^6.2.1","coveralls":"^3.0.6"},"_npmOperationalInternal":{"tmp":"tmp/recipe-scraper_2.7.1_1760377786722_0.17649621044059005","host":"s3://npm-registry-packages-npm-production"}},"2.8.0":{"name":"@brandonrjguth/recipe-scraper","version":"2.8.0","keywords":["recipes","scraper","web-scraper","recipe"],"author":{"name":"Brandon","email":"brandonrjguthrie@gmail.com"},"license":"MIT","_id":"@brandonrjguth/recipe-scraper@2.8.0","maintainers":[{"name":"brandonrjguth","email":"brandonrjguthrie@gmail.com"}],"contributors":[{"url":"https://github.com/jadkins89/Recipe-Scraper","name":"Justin Adkins","email":"jadkins1019@gmail.com"}],"homepage":"https://github.com/brandonrjguth/Recipe-Scraper#readme","bugs":{"url":"https://github.com/brandonrjguth/Recipe-Scraper/issues"},"dist":{"shasum":"b80ec5b113e1484d3e401fb0faa47b5c49eb51ec","tarball":"https://registry.npmjs.org/@brandonrjguth/recipe-scraper/-/recipe-scraper-2.8.0.tgz","fileCount":62,"integrity":"sha512-+ige+xXzI9OZXlZVqlc0huDzhN3E05TonMGwhACr5ING46xwbYo7So2zGs0M0dICqr+5ZXkWLtrh8MXNCa5N2Q==","signatures":[{"sig":"MEUCIQCXDRdsVCD8X7LJK21uBCDKwhe5U4js/W2XlVh7BuywIQIgRvyGx36+pUFy062WM+6KLjrwg51wC8Ttl8ULC4utunY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":96313},"main":"scrapers/index.js","gitHead":"caa3e7ab1f73d015eba6177cf44331d2c40b95e4","scripts":{"test":"mocha --timeout 15000","start":"node scrapers/index.js","coverage":"nyc npm test","coveralls":"nyc npm test && nyc report --reporter=text-lcov | coveralls"},"_npmUser":{"name":"brandonrjguth","email":"brandonrjguthrie@gmail.com"},"repository":{"url":"git+https://github.com/brandonrjguth/Recipe-Scraper.git","type":"git"},"_npmVersion":"11.6.2","description":"A JS package for scraping recipes from the web.","directories":{"test":"test"},"_nodeVersion":"24.12.0","dependencies":{"cheerio":"^1.0.0-rc.3","puppeteer":"^9.0.0","jsonschema":"^1.4.0","node-fetch":"^2.6.1","parse-domain":"^2.3.2"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^14.1.1","chai":"^4.2.0","mocha":"^6.2.1","coveralls":"^3.0.6"},"_npmOperationalInternal":{"tmp":"tmp/recipe-scraper_2.8.0_1766107227766_0.6737425616563217","host":"s3://npm-registry-packages-npm-production"}},"2.8.1":{"name":"@brandonrjguth/recipe-scraper","version":"2.8.1","keywords":["recipes","scraper","web-scraper","recipe"],"author":{"name":"Brandon","email":"brandonrjguthrie@gmail.com"},"license":"MIT","_id":"@brandonrjguth/recipe-scraper@2.8.1","maintainers":[{"name":"brandonrjguth","email":"brandonrjguthrie@gmail.com"}],"contributors":[{"url":"https://github.com/jadkins89/Recipe-Scraper","name":"Justin Adkins","email":"jadkins1019@gmail.com"}],"homepage":"https://github.com/brandonrjguth/Recipe-Scraper#readme","bugs":{"url":"https://github.com/brandonrjguth/Recipe-Scraper/issues"},"dist":{"shasum":"8b2a9959a07a754aa6e99bdf55321941e48b5e79","tarball":"https://registry.npmjs.org/@brandonrjguth/recipe-scraper/-/recipe-scraper-2.8.1.tgz","fileCount":62,"integrity":"sha512-4GGz1dM+gngnJPXmdB/xA7JyEfj7oAe3K2GKxN23XmWFxByzsk00pnPZ0IuzN/gwCItFRYK+PrxMuXHDsAPkNw==","signatures":[{"sig":"MEQCIFvNYWYhX24QuY25qTvgQIA3+TqoTxzYjCRe+byQSHEXAiBFLxsTbPd7yoViBAXtpEMSYNyVlSTWlWQvKbTeM+cwQg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":96312},"main":"scrapers/index.js","gitHead":"31431acfb13a66050d2fcd0615962b38bbec84a2","scripts":{"test":"mocha --timeout 15000","start":"node scrapers/index.js","coverage":"nyc npm test","coveralls":"nyc npm test && nyc report --reporter=text-lcov | coveralls"},"_npmUser":{"name":"brandonrjguth","email":"brandonrjguthrie@gmail.com"},"repository":{"url":"git+https://github.com/brandonrjguth/Recipe-Scraper.git","type":"git"},"_npmVersion":"11.6.2","description":"A JS package for scraping recipes from the web.","directories":{"test":"test"},"_nodeVersion":"24.12.0","dependencies":{"cheerio":"^1.0.0-rc.3","puppeteer":"^9.0.0","jsonschema":"^1.4.0","node-fetch":"^2.6.1","parse-domain":"^2.3.2"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^14.1.1","chai":"^4.2.0","mocha":"^6.2.1","coveralls":"^3.0.6"},"_npmOperationalInternal":{"tmp":"tmp/recipe-scraper_2.8.1_1766107721903_0.5500532858215632","host":"s3://npm-registry-packages-npm-production"}},"2.8.2":{"name":"@brandonrjguth/recipe-scraper","version":"2.8.2","description":"A JS package for scraping recipes from the web.","author":{"name":"Brandon","email":"brandonrjguthrie@gmail.com"},"contributors":[{"name":"Justin Adkins","email":"jadkins1019@gmail.com","url":"https://github.com/jadkins89/Recipe-Scraper"}],"license":"MIT","keywords":["recipes","scraper","web-scraper","recipe"],"main":"scrapers/index.js","scripts":{"test":"mocha --timeout 15000","start":"node scrapers/index.js","coverage":"nyc npm test","coveralls":"nyc npm test && nyc report --reporter=text-lcov | coveralls"},"repository":{"type":"git","url":"git+https://github.com/brandonrjguth/Recipe-Scraper.git"},"bugs":{"url":"https://github.com/brandonrjguth/Recipe-Scraper/issues"},"homepage":"https://github.com/brandonrjguth/Recipe-Scraper#readme","dependencies":{"cheerio":"^1.0.0-rc.3","jsonschema":"^1.4.0","node-fetch":"^2.6.1","parse-domain":"^2.3.2","puppeteer":"^9.0.0"},"devDependencies":{"chai":"^4.2.0","coveralls":"^3.0.6","mocha":"^6.2.1","nyc":"^14.1.1"},"directories":{"test":"test"},"gitHead":"228a1e9dec47adad009cb5105b73015d0dca961d","_id":"@brandonrjguth/recipe-scraper@2.8.2","_nodeVersion":"24.12.0","_npmVersion":"11.6.2","dist":{"integrity":"sha512-yBjK/L0ylv+JAFRg6meEGzLuFn2eFk4g1LsFFMSxW//qDQFkT7Z5deBOS5EeuAjGHyGZeLPjcwuSMkc2ssgVPA==","shasum":"2aba31e011dcc70ba7f7d0033663d11e2e8ba364","tarball":"https://registry.npmjs.org/@brandonrjguth/recipe-scraper/-/recipe-scraper-2.8.2.tgz","fileCount":62,"unpackedSize":96311,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIE8KYuxSMkByVgTC3UpUpxSqnKc5MoFS2tPstfywQyrOAiEA60+SHqo9NfSduNSrawIg4RwkHrjmF09rAw/OKFvZd7w="}]},"_npmUser":{"name":"brandonrjguth","email":"brandonrjguthrie@gmail.com"},"maintainers":[{"name":"brandonrjguth","email":"brandonrjguthrie@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/recipe-scraper_2.8.2_1766108282246_0.6337818158347952"},"_hasShrinkwrap":false}},"time":{"created":"2024-04-03T16:34:56.266Z","modified":"2025-12-19T01:38:02.563Z","2.1.1":"2024-04-03T16:34:56.602Z","2.2.0":"2025-04-03T09:05:10.339Z","2.3.0":"2025-04-03T12:58:57.170Z","2.4.0":"2025-07-22T13:25:30.742Z","2.5.0":"2025-08-03T09:45:57.486Z","2.6.0":"2025-10-13T17:08:18.233Z","2.6.1":"2025-10-13T17:17:01.087Z","2.6.2":"2025-10-13T17:29:15.573Z","2.6.3":"2025-10-13T17:38:09.152Z","2.7.0":"2025-10-13T17:41:59.831Z","2.7.1":"2025-10-13T17:49:46.900Z","2.8.0":"2025-12-19T01:20:27.905Z","2.8.1":"2025-12-19T01:28:42.059Z","2.8.2":"2025-12-19T01:38:02.381Z"},"bugs":{"url":"https://github.com/brandonrjguth/Recipe-Scraper/issues"},"author":{"name":"Brandon","email":"brandonrjguthrie@gmail.com"},"license":"MIT","homepage":"https://github.com/brandonrjguth/Recipe-Scraper#readme","keywords":["recipes","scraper","web-scraper","recipe"],"repository":{"type":"git","url":"git+https://github.com/brandonrjguth/Recipe-Scraper.git"},"description":"A JS package for scraping recipes from the web.","contributors":[{"name":"Justin Adkins","email":"jadkins1019@gmail.com","url":"https://github.com/jadkins89/Recipe-Scraper"}],"maintainers":[{"name":"brandonrjguth","email":"brandonrjguthrie@gmail.com"}],"readme":"# recipe-scraper\r\n\r\n**A NodeJS package for scraping recipes from the web.**\r\n\r\n[![Build Status](https://travis-ci.org/jadkins89/Recipe-Scraper.svg?branch=master)](https://travis-ci.org/jadkins89/Recipe-Scraper)\r\n[![Coverage Status](https://coveralls.io/repos/github/jadkins89/Recipe-Scraper/badge.svg?branch=master)](https://coveralls.io/github/jadkins89/Recipe-Scraper?branch=master)\r\n\r\n## Installation\r\n\r\n```sh\r\nnpm install recipe-scraper\r\n```\r\n\r\n## Usage\r\n\r\n```javascript\r\n// import the module\r\nconst recipeScraper = require(\"recipe-scraper\");\r\n\r\n// enter a supported recipe url as a parameter - returns a promise\r\nasync function someAsyncFunc() {\r\n  ...\r\n  let recipe = await recipeScraper(\"some.recipe.url\");\r\n  ...\r\n}\r\n\r\n// using Promise chaining\r\nrecipeScraper(\"some.recipe.url\").then(recipe => {\r\n    // do something with recipe\r\n  }).catch(error => {\r\n    // do something with error\r\n  });\r\n```\r\n\r\n## Supported Websites\r\n\r\n- https://www.101cookbooks.com/\r\n- https://www.allrecipes.com/\r\n- https://www.ambitiouskitchen.com/\r\n- https://www.averiecooks.com/\r\n- https://www.bbc.co.uk/\r\n- https://www.bbcgoodfood.com/\r\n- https://www.bonappetit.com/\r\n- https://www.budgetbytes.com/\r\n- https://www.centraltexasfoodbank.org/\r\n- https://www.closetcooking.com/\r\n- https://cookieandkate.com/\r\n- https://copykat.com/\r\n- https://damndelicious.net/\r\n- https://www.eatingwell.com/\r\n- https://www.epicurious.com/\r\n- https://www.food.com/\r\n- https://www.foodandwine.com/\r\n- https://www.foodnetwork.com/\r\n- https://gimmedelicious.com/\r\n- https://www.gimmesomeoven.com/\r\n- https://julieblanner.com/\r\n- https://www.kitchenstories.com/\r\n- https://www.melskitchencafe.com/\r\n- https://www.minimalistbaker.com/\r\n- https://www.myrecipes.com/\r\n- https://www.nomnompaleo.com/\r\n- https://www.omnivorescookbook.com/\r\n- https://pinchofyum.com/\r\n- https://recipetineats.com/\r\n- https://www.seriouseats.com/\r\n- https://www.simplyrecipes.com/\r\n- https://smittenkitchen.com/\r\n- https://thepioneerwoman.com/\r\n- https://www.tasteofhome.com/\r\n- https://tastesbetterfromscratch.com/\r\n- https://thatlowcarblife.com/\r\n- https://www.theblackpeppercorn.com/\r\n- https://therealfoodrds.com/\r\n- https://www.thespruceeats.com/\r\n- https://whatsgabycooking.com/\r\n- https://www.woolworths.com.au/\r\n- https://www.yummly.com/\r\n- https://www.jamieoliver.com/\r\n\r\nDon't see a website you'd like to scrape? Open an [issue](https://github.com/jadkins89/Recipe-Scraper/issues) and we'll do our best to add it.\r\n\r\n## Recipe Object\r\n\r\nDepending on the recipe, certain fields may be left blank. All fields are represented as strings or arrays of strings. The name, ingredients, and instructions properties are required for schema validation.\r\n\r\n```javascript\r\n{\r\n    name: \"\",\r\n    ingredients: [],\r\n    instructions: [],\r\n    tags: [],\r\n    servings: \"\",\r\n    image: \"\",\r\n    time: {\r\n      prep: \"\",\r\n      cook: \"\",\r\n      active: \"\",\r\n      inactive: \"\",\r\n      ready: \"\",\r\n      total: \"\"\r\n    }\r\n}\r\n```\r\n\r\n## Error Handling\r\n\r\nIf the url provided is invalid and a domain is unable to be parsed, an error message will be returned.\r\n\r\n```javascript\r\nrecipeScraper(\"keyboard kitty\").catch(error => {\r\n  console.log(error.message);\r\n  // => \"Failed to parse domain\"\r\n});\r\n```\r\n\r\nIf the url provided doesn't match a supported domain, an error message will be returned.\r\n\r\n```javascript\r\nrecipeScraper(\"some.invalid.url\").catch(error => {\r\n  console.log(error.message);\r\n  // => \"Site not yet supported\"\r\n});\r\n```\r\n\r\nIf a recipe is not found on a supported domain site, an error message will be returned.\r\n\r\n```javascript\r\nrecipeScraper(\"some.no.recipe.url\").catch(error => {\r\n  console.log(error.message);\r\n  // => \"No recipe found on page\"\r\n});\r\n```\r\n\r\nIf a page does not exist or some other 400+ error occurs when fetching, an error message will be returned.\r\n\r\n```javascript\r\nrecipeScraper(\"some.nonexistent.page\").catch(error => {\r\n  console.log(error.message);\r\n  // => \"No recipe found on page\"\r\n});\r\n```\r\n\r\nIf a supported url does not contain the proper sub-url to be a valid recipe, an error message will be returned including the sub-url required.\r\n\r\n```javascript\r\nrecipeScraper(\"some.improper.url\").catch(error => {\r\n  console.log(error.message);\r\n  // => \"url provided must include '#subUrl'\"\r\n});\r\n```\r\n\r\n## Bugs\r\n\r\nWith web scraping comes a reliance on the website being used not changing format. If this occurs we need to update our scrape. Please reach out if you are experiencing an issue.\r\n\r\n## Contributing\r\n\r\nI welcome pull requests that keep the scrapes up to date or add new ones. I'm doing my best to keep this package maintained and with your help this goal is much more achievable. Please add testing if you add a scrape. Thank you 😁\r\n","readmeFilename":"README.md"}