spotprice
Get spot prices from Nordpool. Works in Node, Deno and Bun.
Note This works great, but it is in no way an official way of fetching data from Nordpool. See this as a proof of concept.
- Works in Node.js >=18.0 (both require and import)
- Works in Deno >=1.16
- Works in Bun >=0.2.2
- Supports both CommonJS, UMD and ESM
- Includes TypeScript typings
Installation
Node.js
npm install spotprice --save
JavaScript
// ESM Import ...
import spotprice from "spotprice";
// ... or CommonJS Require
const spotprice = require("spotprice");
TypeScript
Note Only default export is available in Node.js TypeScript, as the commonjs module is used internally.
import spotprice from "spotprice";
// ...
Bun
bun add spotprice
Note If you experience problems during install, try using
bun add spotprice --backend=copyfile
.
import spotprice from "spotprice";
// ...
Deno
JavaScript
import spotprice from "https://deno.land/x/spotprice@0.0.3/dist/spotprice.min.mjs";
// ...
TypeScript
import { spotprice } from "https://deno.land/x/spotprice@0.0.3/dist/spotprice.min.mjs";
// ...
Documentation
Full documentation available at hexagon.github.io/spotprice.
Examples
Assuming you have imported spotprice as described under 'Installation'.
// Import using the right method for your runtime
// according to the 'Installation'-section of the README
// This example is for Node/Bun using EMS import
import { spotprice } from "spotprice";
// Get spot prices today
const result = await spotprice("hourly", "SE2", "SEK", new Date());
/*
To get yesterday, today and tomorrow in one go:
const
oneDayMs = 24 * 3600 * 1000,
result = [
...await spotprice("hourly", config.area, config.currency, new Date(new Date().getTime() - oneDayMs)),
...await spotprice("hourly", config.area, config.currency, new Date()),
...await spotprice("hourly", config.area, config.currency, new Date(new Date().getTime() + oneDayMs)),
];
*/
console.table(result);
/*
Output (example data):
┌─────────┬──────────────────────────┬──────────────────────────┬──────────┬───────────┬───────────┐
│ (index) │ startTime │ endTime │ areaCode │ spotPrice │ unit │
├─────────┼──────────────────────────┼──────────────────────────┼──────────┼───────────┼───────────┤
│ 0 │ 2022-11-19T23:00:00.000Z │ 2022-11-21T00:00:00.000Z │ 'SE4' │ 1394.85 │ 'SEK/MWh' │
│ 1 │ 2022-11-20T00:00:00.000Z │ 2022-11-21T01:00:00.000Z │ 'SE4' │ 1395.06 │ 'SEK/MWh' │
│ 2 │ 2022-11-20T01:00:00.000Z │ 2022-11-21T02:00:00.000Z │ 'SE4' │ 1492.11 │ 'SEK/MWh' │
│ 3 │ 2022-11-20T02:00:00.000Z │ 2022-11-21T03:00:00.000Z │ 'SE4' │ 1443.97 │ 'SEK/MWh' │
│ 4 │ 2022-11-20T03:00:00.000Z │ 2022-11-21T04:00:00.000Z │ 'SE4' │ 1548.6 │ 'SEK/MWh' │
│ 5 │ 2022-11-20T04:00:00.000Z │ 2022-11-21T05:00:00.000Z │ 'SE4' │ 1708.96 │ 'SEK/MWh' │
│ 6 │ 2022-11-20T05:00:00.000Z │ 2022-11-21T06:00:00.000Z │ 'SE4' │ 2871.89 │ 'SEK/MWh' │
[...]
Full API
Todo ...
Contributing
License
MIT