diff --git a/lib/datasource/api.ts b/lib/datasource/api.ts
index 356af4bc8a106f33f534d509ffd805078a22d0ae..342bb6f2202e945ea420c9c0079e48c2724d09eb 100644
--- a/lib/datasource/api.ts
+++ b/lib/datasource/api.ts
@@ -19,6 +19,7 @@ import { HelmDatasource } from './helm';
 import { HexDatasource } from './hex';
 import * as jenkinsPlugins from './jenkins-plugins';
 import * as maven from './maven';
+import { NodeDatasource } from './node';
 import * as npm from './npm';
 import * as nuget from './nuget';
 import { OrbDatasource } from './orb';
@@ -59,6 +60,7 @@ api.set('hex', new HexDatasource());
 api.set('jenkins-plugins', jenkinsPlugins);
 api.set('maven', maven);
 api.set('npm', npm);
+api.set(NodeDatasource.id, new NodeDatasource());
 api.set('nuget', nuget);
 api.set('orb', new OrbDatasource());
 api.set('packagist', packagist);
diff --git a/lib/datasource/node/__fixtures__/index.json b/lib/datasource/node/__fixtures__/index.json
new file mode 100644
index 0000000000000000000000000000000000000000..3b620b7385b76c2c01598ec3dff4b89d67bfe0f2
--- /dev/null
+++ b/lib/datasource/node/__fixtures__/index.json
@@ -0,0 +1,66 @@
+[
+  {"version":"v16.9.0","date":"2021-09-07","files":["aix-ppc64","headers","linux-arm64","linux-armv7l","linux-ppc64le","linux-s390x","linux-x64","osx-arm64-tar","osx-x64-pkg","osx-x64-tar","src","win-x64-7z","win-x64-exe","win-x64-msi","win-x64-zip","win-x86-7z","win-x86-exe","win-x86-msi","win-x86-zip"],"npm":"7.21.1","v8":"9.3.345.16","uv":"1.42.0","zlib":"1.2.11","openssl":"1.1.1l+quic","modules":"93","lts":false,"security":false},
+  {"version":"v16.8.0","date":"2021-08-25","files":["aix-ppc64","headers","linux-arm64","linux-armv7l","linux-ppc64le","linux-s390x","linux-x64","osx-arm64-tar","osx-x64-pkg","osx-x64-tar","src","win-x64-7z","win-x64-exe","win-x64-msi","win-x64-zip","win-x86-7z","win-x86-exe","win-x86-msi","win-x86-zip"],"npm":"7.21.0","v8":"9.2.230.21","uv":"1.42.0","zlib":"1.2.11","openssl":"1.1.1k+quic","modules":"93","lts":false,"security":false},
+  {"version":"v16.7.0","date":"2021-08-18","files":["aix-ppc64","headers","linux-arm64","linux-armv7l","linux-ppc64le","linux-s390x","linux-x64","osx-arm64-tar","osx-x64-pkg","osx-x64-tar","src","win-x64-7z","win-x64-exe","win-x64-msi","win-x64-zip","win-x86-7z","win-x86-exe","win-x86-msi","win-x86-zip"],"npm":"7.20.3","v8":"9.2.230.21","uv":"1.42.0","zlib":"1.2.11","openssl":"1.1.1k+quic","modules":"93","lts":false,"security":false},
+  {"version":"v16.6.2","date":"2021-08-11","files":["aix-ppc64","headers","linux-arm64","linux-armv7l","linux-ppc64le","linux-s390x","linux-x64","osx-arm64-tar","osx-x64-pkg","osx-x64-tar","src","win-x64-7z","win-x64-exe","win-x64-msi","win-x64-zip","win-x86-7z","win-x86-exe","win-x86-msi","win-x86-zip"],"npm":"7.20.3","v8":"9.2.230.21","uv":"1.41.0","zlib":"1.2.11","openssl":"1.1.1k+quic","modules":"93","lts":false,"security":true},
+  {"version":"v16.6.1","date":"2021-08-03","files":["aix-ppc64","headers","linux-arm64","linux-armv7l","linux-ppc64le","linux-s390x","linux-x64","osx-arm64-tar","osx-x64-pkg","osx-x64-tar","src","win-x64-7z","win-x64-exe","win-x64-msi","win-x64-zip","win-x86-7z","win-x86-exe","win-x86-msi","win-x86-zip"],"npm":"7.20.3","v8":"9.2.230.21","uv":"1.41.0","zlib":"1.2.11","openssl":"1.1.1k+quic","modules":"93","lts":false,"security":false},
+  {"version":"v16.6.0","date":"2021-07-29","files":["aix-ppc64","headers","linux-arm64","linux-armv7l","linux-ppc64le","linux-s390x","linux-x64","osx-arm64-tar","osx-x64-pkg","osx-x64-tar","src","win-x64-7z","win-x64-exe","win-x64-msi","win-x64-zip","win-x86-7z","win-x86-exe","win-x86-msi","win-x86-zip"],"npm":"7.19.1","v8":"9.2.230.21","uv":"1.41.0","zlib":"1.2.11","openssl":"1.1.1k+quic","modules":"93","lts":false,"security":true},
+  {"version":"v16.5.0","date":"2021-07-14","files":["aix-ppc64","headers","linux-arm64","linux-armv7l","linux-ppc64le","linux-s390x","linux-x64","osx-arm64-tar","osx-x64-pkg","osx-x64-tar","src","win-x64-7z","win-x64-exe","win-x64-msi","win-x64-zip","win-x86-7z","win-x86-exe","win-x86-msi","win-x86-zip"],"npm":"7.19.1","v8":"9.1.269.38","uv":"1.41.0","zlib":"1.2.11","openssl":"1.1.1k+quic","modules":"93","lts":false,"security":false},
+  {"version":"v16.4.2","date":"2021-07-05","files":["aix-ppc64","headers","linux-arm64","linux-armv7l","linux-ppc64le","linux-s390x","linux-x64","osx-arm64-tar","osx-x64-pkg","osx-x64-tar","src","win-x64-7z","win-x64-exe","win-x64-msi","win-x64-zip","win-x86-7z","win-x86-exe","win-x86-msi","win-x86-zip"],"npm":"7.18.1","v8":"9.1.269.36","uv":"1.41.0","zlib":"1.2.11","openssl":"1.1.1k+quic","modules":"93","lts":false,"security":false},
+  {"version":"v16.4.1","date":"2021-07-01","files":["aix-ppc64","headers","linux-arm64","linux-armv7l","linux-ppc64le","linux-s390x","linux-x64","osx-arm64-tar","osx-x64-pkg","osx-x64-tar","src","win-x64-7z","win-x64-exe","win-x64-msi","win-x64-zip","win-x86-7z","win-x86-exe","win-x86-msi","win-x86-zip"],"npm":"7.18.1","v8":"9.1.269.36","uv":"1.41.0","zlib":"1.2.11","openssl":"1.1.1k+quic","modules":"93","lts":false,"security":true},
+  {"version":"v16.4.0","date":"2021-06-23","files":["aix-ppc64","headers","linux-arm64","linux-armv7l","linux-ppc64le","linux-s390x","linux-x64","osx-arm64-tar","osx-x64-pkg","osx-x64-tar","src","win-x64-7z","win-x64-exe","win-x64-msi","win-x64-zip","win-x86-7z","win-x86-exe","win-x86-msi","win-x86-zip"],"npm":"7.18.1","v8":"9.1.269.36","uv":"1.41.0","zlib":"1.2.11","openssl":"1.1.1k+quic","modules":"93","lts":false,"security":false},
+  {"version":"v16.3.0","date":"2021-06-03","files":["aix-ppc64","headers","linux-arm64","linux-armv7l","linux-ppc64le","linux-s390x","linux-x64","osx-arm64-tar","osx-x64-pkg","osx-x64-tar","src","win-x64-7z","win-x64-exe","win-x64-msi","win-x64-zip","win-x86-7z","win-x86-exe","win-x86-msi","win-x86-zip"],"npm":"7.15.1","v8":"9.0.257.25","uv":"1.41.0","zlib":"1.2.11","openssl":"1.1.1k+quic","modules":"93","lts":false,"security":false},
+  {"version":"v16.2.0","date":"2021-05-19","files":["aix-ppc64","headers","linux-arm64","linux-armv7l","linux-ppc64le","linux-s390x","linux-x64","osx-arm64-tar","osx-x64-pkg","osx-x64-tar","src","win-x64-7z","win-x64-exe","win-x64-msi","win-x64-zip","win-x86-7z","win-x86-exe","win-x86-msi","win-x86-zip"],"npm":"7.13.0","v8":"9.0.257.25","uv":"1.41.0","zlib":"1.2.11","openssl":"1.1.1k+quic","modules":"93","lts":false,"security":false},
+  {"version":"v16.1.0","date":"2021-05-04","files":["aix-ppc64","headers","linux-arm64","linux-armv7l","linux-ppc64le","linux-s390x","linux-x64","osx-arm64-tar","osx-x64-pkg","osx-x64-tar","src","win-x64-7z","win-x64-exe","win-x64-msi","win-x64-zip","win-x86-7z","win-x86-exe","win-x86-msi","win-x86-zip"],"npm":"7.11.2","v8":"9.0.257.24","uv":"1.41.0","zlib":"1.2.11","openssl":"1.1.1k+quic","modules":"93","lts":false,"security":false},
+  {"version":"v16.0.0","date":"2021-04-20","files":["aix-ppc64","headers","linux-arm64","linux-armv7l","linux-ppc64le","linux-s390x","linux-x64","osx-arm64-tar","osx-x64-pkg","osx-x64-tar","src","win-x64-7z","win-x64-exe","win-x64-msi","win-x64-zip","win-x86-7z","win-x86-exe","win-x86-msi","win-x86-zip"],"npm":"7.10.0","v8":"9.0.257.17","uv":"1.41.0","zlib":"1.2.11","openssl":"1.1.1k+quic","modules":"93","lts":false,"security":false},
+  {"version":"v15.14.0","date":"2021-04-06","files":["aix-ppc64","headers","linux-arm64","linux-armv7l","linux-ppc64le","linux-s390x","linux-x64","osx-x64-pkg","osx-x64-tar","src","win-x64-7z","win-x64-exe","win-x64-msi","win-x64-zip","win-x86-7z","win-x86-exe","win-x86-msi","win-x86-zip"],"npm":"7.7.6","v8":"8.6.395.17","uv":"1.41.0","zlib":"1.2.11","openssl":"1.1.1k+quic","modules":"88","lts":false,"security":false},
+  {"version":"v15.13.0","date":"2021-03-31","files":["aix-ppc64","headers","linux-arm64","linux-armv7l","linux-ppc64le","linux-s390x","linux-x64","osx-x64-pkg","osx-x64-tar","src","win-x64-7z","win-x64-exe","win-x64-msi","win-x64-zip","win-x86-7z","win-x86-exe","win-x86-msi","win-x86-zip"],"npm":"7.7.6","v8":"8.6.395.17","uv":"1.41.0","zlib":"1.2.11","openssl":"1.1.1j+quic","modules":"88","lts":false,"security":false},
+  {"version":"v15.12.0","date":"2021-03-17","files":["aix-ppc64","headers","linux-arm64","linux-armv7l","linux-ppc64le","linux-s390x","linux-x64","osx-x64-pkg","osx-x64-tar","src","win-x64-7z","win-x64-exe","win-x64-msi","win-x64-zip","win-x86-7z","win-x86-exe","win-x86-msi","win-x86-zip"],"npm":"7.6.3","v8":"8.6.395.17","uv":"1.41.0","zlib":"1.2.11","openssl":"1.1.1j+quic","modules":"88","lts":false,"security":false},
+  {"version":"v15.11.0","date":"2021-03-03","files":["aix-ppc64","headers","linux-arm64","linux-armv7l","linux-ppc64le","linux-s390x","linux-x64","osx-x64-pkg","osx-x64-tar","src","win-x64-7z","win-x64-exe","win-x64-msi","win-x64-zip","win-x86-7z","win-x86-exe","win-x86-msi","win-x86-zip"],"npm":"7.6.0","v8":"8.6.395.17","uv":"1.41.0","zlib":"1.2.11","openssl":"1.1.1j","modules":"88","lts":false,"security":false},
+  {"version":"v15.10.0","date":"2021-02-23","files":["aix-ppc64","headers","linux-arm64","linux-armv7l","linux-ppc64le","linux-s390x","linux-x64","osx-x64-pkg","osx-x64-tar","src","win-x64-7z","win-x64-exe","win-x64-msi","win-x64-zip","win-x86-7z","win-x86-exe","win-x86-msi","win-x86-zip"],"npm":"7.5.3","v8":"8.6.395.17","uv":"1.41.0","zlib":"1.2.11","openssl":"1.1.1j","modules":"88","lts":false,"security":true},
+  {"version":"v15.9.0","date":"2021-02-18","files":["aix-ppc64","headers","linux-arm64","linux-armv7l","linux-ppc64le","linux-s390x","linux-x64","osx-x64-pkg","osx-x64-tar","src","win-x64-7z","win-x64-exe","win-x64-msi","win-x64-zip","win-x86-7z","win-x86-exe","win-x86-msi","win-x86-zip"],"npm":"7.5.3","v8":"8.6.395.17","uv":"1.41.0","zlib":"1.2.11","openssl":"1.1.1i","modules":"88","lts":false,"security":false},
+  {"version":"v15.8.0","date":"2021-02-02","files":["aix-ppc64","headers","linux-arm64","linux-armv7l","linux-ppc64le","linux-s390x","linux-x64","osx-x64-pkg","osx-x64-tar","src","win-x64-7z","win-x64-exe","win-x64-msi","win-x64-zip","win-x86-7z","win-x86-exe","win-x86-msi","win-x86-zip"],"npm":"7.5.1","v8":"8.6.395.17","uv":"1.40.0","zlib":"1.2.11","openssl":"1.1.1i","modules":"88","lts":false,"security":false},
+  {"version":"v15.7.0","date":"2021-01-25","files":["aix-ppc64","headers","linux-arm64","linux-armv7l","linux-ppc64le","linux-s390x","linux-x64","osx-x64-pkg","osx-x64-tar","src","win-x64-7z","win-x64-exe","win-x64-msi","win-x64-zip","win-x86-7z","win-x86-exe","win-x86-msi","win-x86-zip"],"npm":"7.4.3","v8":"8.6.395.17","uv":"1.40.0","zlib":"1.2.11","openssl":"1.1.1i","modules":"88","lts":false,"security":false},
+  {"version":"v15.6.0","date":"2021-01-14","files":["aix-ppc64","headers","linux-arm64","linux-armv7l","linux-ppc64le","linux-s390x","linux-x64","osx-x64-pkg","osx-x64-tar","src","win-x64-7z","win-x64-exe","win-x64-msi","win-x64-zip","win-x86-7z","win-x86-exe","win-x86-msi","win-x86-zip"],"npm":"7.4.0","v8":"8.6.395.17","uv":"1.40.0","zlib":"1.2.11","openssl":"1.1.1i","modules":"88","lts":false,"security":false},
+  {"version":"v15.5.1","date":"2021-01-04","files":["aix-ppc64","headers","linux-arm64","linux-armv7l","linux-ppc64le","linux-s390x","linux-x64","osx-x64-pkg","osx-x64-tar","src","win-x64-7z","win-x64-exe","win-x64-msi","win-x64-zip","win-x86-7z","win-x86-exe","win-x86-msi","win-x86-zip"],"npm":"7.3.0","v8":"8.6.395.17","uv":"1.40.0","zlib":"1.2.11","openssl":"1.1.1i","modules":"88","lts":false,"security":true},
+  {"version":"v15.5.0","date":"2020-12-22","files":["aix-ppc64","headers","linux-arm64","linux-armv7l","linux-ppc64le","linux-s390x","linux-x64","osx-x64-pkg","osx-x64-tar","src","win-x64-7z","win-x64-exe","win-x64-msi","win-x64-zip","win-x86-7z","win-x86-exe","win-x86-msi","win-x86-zip"],"npm":"7.3.0","v8":"8.6.395.17","uv":"1.40.0","zlib":"1.2.11","openssl":"1.1.1i","modules":"88","lts":false,"security":false},
+  {"version":"v15.4.0","date":"2020-12-09","files":["aix-ppc64","headers","linux-arm64","linux-armv7l","linux-ppc64le","linux-s390x","linux-x64","osx-x64-pkg","osx-x64-tar","src","win-x64-7z","win-x64-exe","win-x64-msi","win-x64-zip","win-x86-7z","win-x86-exe","win-x86-msi","win-x86-zip"],"npm":"7.0.15","v8":"8.6.395.17","uv":"1.40.0","zlib":"1.2.11","openssl":"1.1.1g","modules":"88","lts":false,"security":false},
+  {"version":"v15.3.0","date":"2020-11-24","files":["aix-ppc64","headers","linux-arm64","linux-armv7l","linux-ppc64le","linux-s390x","linux-x64","osx-x64-pkg","osx-x64-tar","src","win-x64-7z","win-x64-exe","win-x64-msi","win-x64-zip","win-x86-7z","win-x86-exe","win-x86-msi","win-x86-zip"],"npm":"7.0.14","v8":"8.6.395.17","uv":"1.40.0","zlib":"1.2.11","openssl":"1.1.1g","modules":"88","lts":false,"security":false},
+  {"version":"v15.2.1","date":"2020-11-16","files":["aix-ppc64","headers","linux-arm64","linux-armv7l","linux-ppc64le","linux-s390x","linux-x64","osx-x64-pkg","osx-x64-tar","src","win-x64-7z","win-x64-exe","win-x64-msi","win-x64-zip","win-x86-7z","win-x86-exe","win-x86-msi","win-x86-zip"],"npm":"7.0.8","v8":"8.6.395.17","uv":"1.40.0","zlib":"1.2.11","openssl":"1.1.1g","modules":"88","lts":false,"security":true},
+  {"version":"v15.2.0","date":"2020-11-10","files":["aix-ppc64","headers","linux-arm64","linux-armv7l","linux-ppc64le","linux-s390x","linux-x64","osx-x64-pkg","osx-x64-tar","src","win-x64-7z","win-x64-exe","win-x64-msi","win-x64-zip","win-x86-7z","win-x86-exe","win-x86-msi","win-x86-zip"],"npm":"7.0.8","v8":"8.6.395.17","uv":"1.40.0","zlib":"1.2.11","openssl":"1.1.1g","modules":"88","lts":false,"security":false},
+  {"version":"v15.1.0","date":"2020-11-04","files":["aix-ppc64","headers","linux-arm64","linux-armv7l","linux-ppc64le","linux-s390x","linux-x64","osx-x64-pkg","osx-x64-tar","src","win-x64-7z","win-x64-exe","win-x64-msi","win-x64-zip","win-x86-7z","win-x86-exe","win-x86-msi","win-x86-zip"],"npm":"7.0.8","v8":"8.6.395.17","uv":"1.40.0","zlib":"1.2.11","openssl":"1.1.1g","modules":"88","lts":false,"security":false},
+  {"version":"v15.0.1","date":"2020-10-21","files":["aix-ppc64","headers","linux-arm64","linux-armv7l","linux-ppc64le","linux-s390x","linux-x64","osx-x64-pkg","osx-x64-tar","src","win-x64-7z","win-x64-exe","win-x64-msi","win-x64-zip","win-x86-7z","win-x86-exe","win-x86-msi","win-x86-zip"],"npm":"7.0.3","v8":"8.6.395.17","uv":"1.40.0","zlib":"1.2.11","openssl":"1.1.1g","modules":"88","lts":false,"security":false},
+  {"version":"v15.0.0","date":"2020-10-20","files":["aix-ppc64","headers","linux-arm64","linux-armv7l","linux-ppc64le","linux-s390x","linux-x64","osx-x64-pkg","osx-x64-tar","src","win-x64-7z","win-x64-exe","win-x64-msi","win-x64-zip","win-x86-7z","win-x86-exe","win-x86-msi","win-x86-zip"],"npm":"7.0.2","v8":"8.6.395.16","uv":"1.40.0","zlib":"1.2.11","openssl":"1.1.1g","modules":"88","lts":false,"security":false},
+  {"version":"v14.17.6","date":"2021-08-30","files":["aix-ppc64","headers","linux-arm64","linux-armv7l","linux-ppc64le","linux-s390x","linux-x64","osx-x64-pkg","osx-x64-tar","src","win-x64-7z","win-x64-exe","win-x64-msi","win-x64-zip","win-x86-7z","win-x86-exe","win-x86-msi","win-x86-zip"],"npm":"6.14.15","v8":"8.4.371.23","uv":"1.41.0","zlib":"1.2.11","openssl":"1.1.1l","modules":"83","lts":"Fermium","security":true},
+  {"version":"v14.17.5","date":"2021-08-11","files":["aix-ppc64","headers","linux-arm64","linux-armv7l","linux-ppc64le","linux-s390x","linux-x64","osx-x64-pkg","osx-x64-tar","src","win-x64-7z","win-x64-exe","win-x64-msi","win-x64-zip","win-x86-7z","win-x86-exe","win-x86-msi","win-x86-zip"],"npm":"6.14.14","v8":"8.4.371.23","uv":"1.41.0","zlib":"1.2.11","openssl":"1.1.1k","modules":"83","lts":"Fermium","security":true},
+  {"version":"v14.17.4","date":"2021-07-29","files":["aix-ppc64","headers","linux-arm64","linux-armv7l","linux-ppc64le","linux-s390x","linux-x64","osx-x64-pkg","osx-x64-tar","src","win-x64-7z","win-x64-exe","win-x64-msi","win-x64-zip","win-x86-7z","win-x86-exe","win-x86-msi","win-x86-zip"],"npm":"6.14.14","v8":"8.4.371.23","uv":"1.41.0","zlib":"1.2.11","openssl":"1.1.1k","modules":"83","lts":"Fermium","security":true},
+  {"version":"v14.17.3","date":"2021-07-05","files":["aix-ppc64","headers","linux-arm64","linux-armv7l","linux-ppc64le","linux-s390x","linux-x64","osx-x64-pkg","osx-x64-tar","src","win-x64-7z","win-x64-exe","win-x64-msi","win-x64-zip","win-x86-7z","win-x86-exe","win-x86-msi","win-x86-zip"],"npm":"6.14.13","v8":"8.4.371.23","uv":"1.41.0","zlib":"1.2.11","openssl":"1.1.1k","modules":"83","lts":"Fermium","security":true},
+  {"version":"v14.17.2","date":"2021-07-01","files":["aix-ppc64","headers","linux-arm64","linux-armv7l","linux-ppc64le","linux-s390x","linux-x64","osx-x64-pkg","osx-x64-tar","src","win-x64-7z","win-x64-exe","win-x64-msi","win-x64-zip","win-x86-7z","win-x86-exe","win-x86-msi","win-x86-zip"],"npm":"6.14.13","v8":"8.4.371.23","uv":"1.41.0","zlib":"1.2.11","openssl":"1.1.1k","modules":"83","lts":"Fermium","security":true},
+  {"version":"v14.17.1","date":"2021-06-15","files":["aix-ppc64","headers","linux-arm64","linux-armv7l","linux-ppc64le","linux-s390x","linux-x64","osx-x64-pkg","osx-x64-tar","src","win-x64-7z","win-x64-exe","win-x64-msi","win-x64-zip","win-x86-7z","win-x86-exe","win-x86-msi","win-x86-zip"],"npm":"6.14.13","v8":"8.4.371.23","uv":"1.41.0","zlib":"1.2.11","openssl":"1.1.1k","modules":"83","lts":"Fermium","security":false},
+  {"version":"v14.17.0","date":"2021-05-11","files":["aix-ppc64","headers","linux-arm64","linux-armv7l","linux-ppc64le","linux-s390x","linux-x64","osx-x64-pkg","osx-x64-tar","src","win-x64-7z","win-x64-exe","win-x64-msi","win-x64-zip","win-x86-7z","win-x86-exe","win-x86-msi","win-x86-zip"],"npm":"6.14.13","v8":"8.4.371.23","uv":"1.41.0","zlib":"1.2.11","openssl":"1.1.1k","modules":"83","lts":"Fermium","security":false},
+  {"version":"v14.16.1","date":"2021-04-06","files":["aix-ppc64","headers","linux-arm64","linux-armv7l","linux-ppc64le","linux-s390x","linux-x64","osx-x64-pkg","osx-x64-tar","src","win-x64-7z","win-x64-exe","win-x64-msi","win-x64-zip","win-x86-7z","win-x86-exe","win-x86-msi","win-x86-zip"],"npm":"6.14.12","v8":"8.4.371.19","uv":"1.40.0","zlib":"1.2.11","openssl":"1.1.1k","modules":"83","lts":"Fermium","security":true},
+  {"version":"v14.16.0","date":"2021-02-23","files":["aix-ppc64","headers","linux-arm64","linux-armv7l","linux-ppc64le","linux-s390x","linux-x64","osx-x64-pkg","osx-x64-tar","src","win-x64-7z","win-x64-exe","win-x64-msi","win-x64-zip","win-x86-7z","win-x86-exe","win-x86-msi","win-x86-zip"],"npm":"6.14.11","v8":"8.4.371.19","uv":"1.40.0","zlib":"1.2.11","openssl":"1.1.1j","modules":"83","lts":"Fermium","security":true},
+  {"version":"v14.15.5","date":"2021-02-09","files":["aix-ppc64","headers","linux-arm64","linux-armv7l","linux-ppc64le","linux-s390x","linux-x64","osx-x64-pkg","osx-x64-tar","src","win-x64-7z","win-x64-exe","win-x64-msi","win-x64-zip","win-x86-7z","win-x86-exe","win-x86-msi","win-x86-zip"],"npm":"6.14.11","v8":"8.4.371.19","uv":"1.40.0","zlib":"1.2.11","openssl":"1.1.1i","modules":"83","lts":"Fermium","security":false},
+  {"version":"v14.15.4","date":"2021-01-04","files":["aix-ppc64","headers","linux-arm64","linux-armv7l","linux-ppc64le","linux-s390x","linux-x64","osx-x64-pkg","osx-x64-tar","src","win-x64-7z","win-x64-exe","win-x64-msi","win-x64-zip","win-x86-7z","win-x86-exe","win-x86-msi","win-x86-zip"],"npm":"6.14.10","v8":"8.4.371.19","uv":"1.40.0","zlib":"1.2.11","openssl":"1.1.1i","modules":"83","lts":"Fermium","security":true},
+  {"version":"v14.15.3","date":"2020-12-17","files":["aix-ppc64","headers","linux-arm64","linux-armv7l","linux-ppc64le","linux-s390x","linux-x64","osx-x64-pkg","osx-x64-tar","src","win-x64-7z","win-x64-exe","win-x64-msi","win-x64-zip","win-x86-7z","win-x86-exe","win-x86-msi","win-x86-zip"],"npm":"6.14.9","v8":"8.4.371.19","uv":"1.40.0","zlib":"1.2.11","openssl":"1.1.1g","modules":"83","lts":"Fermium","security":false},
+  {"version":"v14.15.2","date":"2020-12-15","files":["aix-ppc64","headers","linux-arm64","linux-armv7l","linux-ppc64le","linux-s390x","linux-x64","osx-x64-pkg","osx-x64-tar","src","win-x64-7z","win-x64-exe","win-x64-msi","win-x64-zip","win-x86-7z","win-x86-exe","win-x86-msi","win-x86-zip"],"npm":"6.14.9","v8":"8.4.371.19","uv":"1.40.0","zlib":"1.2.11","openssl":"1.1.1g","modules":"83","lts":"Fermium","security":false},
+  {"version":"v14.15.1","date":"2020-11-16","files":["aix-ppc64","headers","linux-arm64","linux-armv7l","linux-ppc64le","linux-s390x","linux-x64","osx-x64-pkg","osx-x64-tar","src","win-x64-7z","win-x64-exe","win-x64-msi","win-x64-zip","win-x86-7z","win-x86-exe","win-x86-msi","win-x86-zip"],"npm":"6.14.8","v8":"8.4.371.19","uv":"1.40.0","zlib":"1.2.11","openssl":"1.1.1g","modules":"83","lts":"Fermium","security":true},
+  {"version":"v14.15.0","date":"2020-10-27","files":["aix-ppc64","headers","linux-arm64","linux-armv7l","linux-ppc64le","linux-s390x","linux-x64","osx-x64-pkg","osx-x64-tar","src","win-x64-7z","win-x64-exe","win-x64-msi","win-x64-zip","win-x86-7z","win-x86-exe","win-x86-msi","win-x86-zip"],"npm":"6.14.8","v8":"8.4.371.19","uv":"1.40.0","zlib":"1.2.11","openssl":"1.1.1g","modules":"83","lts":"Fermium","security":false},
+  {"version":"v14.14.0","date":"2020-10-15","files":["aix-ppc64","headers","linux-arm64","linux-armv7l","linux-ppc64le","linux-s390x","linux-x64","osx-x64-pkg","osx-x64-tar","src","win-x64-7z","win-x64-exe","win-x64-msi","win-x64-zip","win-x86-7z","win-x86-exe","win-x86-msi","win-x86-zip"],"npm":"6.14.8","v8":"8.4.371.19","uv":"1.40.0","zlib":"1.2.11","openssl":"1.1.1g","modules":"83","lts":false,"security":false},
+  {"version":"v14.13.1","date":"2020-10-07","files":["aix-ppc64","headers","linux-arm64","linux-armv7l","linux-ppc64le","linux-s390x","linux-x64","osx-x64-pkg","osx-x64-tar","src","win-x64-7z","win-x64-exe","win-x64-msi","win-x64-zip","win-x86-7z","win-x86-exe","win-x86-msi","win-x86-zip"],"npm":"6.14.8","v8":"8.4.371.19","uv":"1.40.0","zlib":"1.2.11","openssl":"1.1.1g","modules":"83","lts":false,"security":false},
+  {"version":"v14.13.0","date":"2020-09-29","files":["aix-ppc64","headers","linux-arm64","linux-armv7l","linux-ppc64le","linux-s390x","linux-x64","osx-x64-pkg","osx-x64-tar","src","win-x64-7z","win-x64-exe","win-x64-msi","win-x64-zip","win-x86-7z","win-x86-exe","win-x86-msi","win-x86-zip"],"npm":"6.14.8","v8":"8.4.371.19","uv":"1.40.0","zlib":"1.2.11","openssl":"1.1.1g","modules":"83","lts":false,"security":false},
+  {"version":"v14.12.0","date":"2020-09-22","files":["aix-ppc64","headers","linux-arm64","linux-armv7l","linux-ppc64le","linux-s390x","linux-x64","osx-x64-pkg","osx-x64-tar","src","win-x64-7z","win-x64-exe","win-x64-msi","win-x64-zip","win-x86-7z","win-x86-exe","win-x86-msi","win-x86-zip"],"npm":"6.14.8","v8":"8.4.371.19","uv":"1.39.0","zlib":"1.2.11","openssl":"1.1.1g","modules":"83","lts":false,"security":false},
+  {"version":"v14.11.0","date":"2020-09-15","files":["aix-ppc64","headers","linux-arm64","linux-armv7l","linux-ppc64le","linux-s390x","linux-x64","osx-x64-pkg","osx-x64-tar","src","win-x64-7z","win-x64-exe","win-x64-msi","win-x64-zip","win-x86-7z","win-x86-exe","win-x86-msi","win-x86-zip"],"npm":"6.14.8","v8":"8.4.371.19","uv":"1.39.0","zlib":"1.2.11","openssl":"1.1.1g","modules":"83","lts":false,"security":true},
+  {"version":"v14.10.1","date":"2020-09-10","files":["aix-ppc64","headers","linux-arm64","linux-armv7l","linux-ppc64le","linux-s390x","linux-x64","osx-x64-pkg","osx-x64-tar","src","win-x64-7z","win-x64-exe","win-x64-msi","win-x64-zip","win-x86-7z","win-x86-exe","win-x86-msi","win-x86-zip"],"npm":"6.14.8","v8":"8.4.371.19","uv":"1.39.0","zlib":"1.2.11","openssl":"1.1.1g","modules":"83","lts":false,"security":false},
+  {"version":"v14.10.0","date":"2020-09-08","files":["aix-ppc64","headers","linux-arm64","linux-armv7l","linux-ppc64le","linux-s390x","linux-x64","osx-x64-pkg","osx-x64-tar","src","win-x64-7z","win-x64-exe","win-x64-msi","win-x64-zip","win-x86-7z","win-x86-exe","win-x86-msi","win-x86-zip"],"npm":"6.14.8","v8":"8.4.371.19","uv":"1.39.0","zlib":"1.2.11","openssl":"1.1.1g","modules":"83","lts":false,"security":false},
+  {"version":"v14.9.0","date":"2020-08-27","files":["aix-ppc64","headers","linux-arm64","linux-armv7l","linux-ppc64le","linux-s390x","linux-x64","osx-x64-pkg","osx-x64-tar","src","win-x64-7z","win-x64-exe","win-x64-msi","win-x64-zip","win-x86-7z","win-x86-exe","win-x86-msi","win-x86-zip"],"npm":"6.14.8","v8":"8.4.371.19","uv":"1.39.0","zlib":"1.2.11","openssl":"1.1.1g","modules":"83","lts":false,"security":false},
+  {"version":"v14.8.0","date":"2020-08-11","files":["aix-ppc64","headers","linux-arm64","linux-armv7l","linux-ppc64le","linux-s390x","linux-x64","osx-x64-pkg","osx-x64-tar","src","win-x64-7z","win-x64-exe","win-x64-msi","win-x64-zip","win-x86-7z","win-x86-exe","win-x86-msi","win-x86-zip"],"npm":"6.14.7","v8":"8.4.371.19","uv":"1.38.1","zlib":"1.2.11","openssl":"1.1.1g","modules":"83","lts":false,"security":false},
+  {"version":"v14.7.0","date":"2020-07-29","files":["aix-ppc64","headers","linux-arm64","linux-armv7l","linux-ppc64le","linux-s390x","linux-x64","osx-x64-pkg","osx-x64-tar","src","win-x64-7z","win-x64-exe","win-x64-msi","win-x64-zip","win-x86-7z","win-x86-exe","win-x86-msi","win-x86-zip"],"npm":"6.14.7","v8":"8.4.371.19","uv":"1.38.1","zlib":"1.2.11","openssl":"1.1.1g","modules":"83","lts":false,"security":false},
+  {"version":"v14.6.0","date":"2020-07-20","files":["aix-ppc64","headers","linux-arm64","linux-armv7l","linux-ppc64le","linux-s390x","linux-x64","osx-x64-pkg","osx-x64-tar","src","win-x64-7z","win-x64-exe","win-x64-msi","win-x64-zip","win-x86-7z","win-x86-exe","win-x86-msi","win-x86-zip"],"npm":"6.14.6","v8":"8.4.371.19","uv":"1.38.1","zlib":"1.2.11","openssl":"1.1.1g","modules":"83","lts":false,"security":false},
+  {"version":"v14.5.0","date":"2020-06-30","files":["aix-ppc64","headers","linux-arm64","linux-armv7l","linux-ppc64le","linux-s390x","linux-x64","osx-x64-pkg","osx-x64-tar","src","win-x64-7z","win-x64-exe","win-x64-msi","win-x64-zip","win-x86-7z","win-x86-exe","win-x86-msi","win-x86-zip"],"npm":"6.14.5","v8":"8.3.110.9","uv":"1.38.0","zlib":"1.2.11","openssl":"1.1.1g","modules":"83","lts":false,"security":false},
+  {"version":"v14.4.0","date":"2020-06-02","files":["aix-ppc64","headers","linux-arm64","linux-armv7l","linux-ppc64le","linux-s390x","linux-x64","osx-x64-pkg","osx-x64-tar","src","win-x64-7z","win-x64-exe","win-x64-msi","win-x64-zip","win-x86-7z","win-x86-exe","win-x86-msi","win-x86-zip"],"npm":"6.14.5","v8":"8.1.307.31","uv":"1.37.0","zlib":"1.2.11","openssl":"1.1.1g","modules":"83","lts":false,"security":true},
+  {"version":"v14.3.0","date":"2020-05-19","files":["aix-ppc64","headers","linux-arm64","linux-armv7l","linux-ppc64le","linux-s390x","linux-x64","osx-x64-pkg","osx-x64-tar","src","win-x64-7z","win-x64-exe","win-x64-msi","win-x64-zip","win-x86-7z","win-x86-exe","win-x86-msi","win-x86-zip"],"npm":"6.14.5","v8":"8.1.307.31","uv":"1.37.0","zlib":"1.2.11","openssl":"1.1.1g","modules":"83","lts":false,"security":false},
+  {"version":"v14.2.0","date":"2020-05-05","files":["aix-ppc64","headers","linux-arm64","linux-armv7l","linux-ppc64le","linux-s390x","linux-x64","osx-x64-pkg","osx-x64-tar","src","win-x64-7z","win-x64-exe","win-x64-msi","win-x64-zip","win-x86-7z","win-x86-exe","win-x86-msi","win-x86-zip"],"npm":"6.14.4","v8":"8.1.307.31","uv":"1.37.0","zlib":"1.2.11","openssl":"1.1.1g","modules":"83","lts":false,"security":false},
+  {"version":"v14.1.0","date":"2020-04-29","files":["aix-ppc64","headers","linux-arm64","linux-armv7l","linux-ppc64le","linux-s390x","linux-x64","osx-x64-pkg","osx-x64-tar","src","win-x64-7z","win-x64-exe","win-x64-msi","win-x64-zip","win-x86-7z","win-x86-exe","win-x86-msi","win-x86-zip"],"npm":"6.14.4","v8":"8.1.307.31","uv":"1.37.0","zlib":"1.2.11","openssl":"1.1.1g","modules":"83","lts":false,"security":false},
+  {"version":"v14.0.0","date":"2020-04-21","files":["aix-ppc64","headers","linux-arm64","linux-armv7l","linux-ppc64le","linux-s390x","linux-x64","osx-x64-pkg","osx-x64-tar","src","win-x64-7z","win-x64-exe","win-x64-msi","win-x64-zip","win-x86-7z","win-x86-exe","win-x86-msi","win-x86-zip"],"npm":"6.14.4","v8":"8.1.307.30","uv":"1.37.0","zlib":"1.2.11","openssl":"1.1.1f","modules":"83","lts":false,"security":false}
+  ]
diff --git a/lib/datasource/node/__snapshots__/index.spec.ts.snap b/lib/datasource/node/__snapshots__/index.spec.ts.snap
new file mode 100644
index 0000000000000000000000000000000000000000..64380f4b0b1720e22b0cd77fb57df097898aaa8e
--- /dev/null
+++ b/lib/datasource/node/__snapshots__/index.spec.ts.snap
@@ -0,0 +1,331 @@
+// Jest Snapshot v1, https://goo.gl/fbAQLP
+
+exports[`datasource/node/index getReleases processes real data 1`] = `
+Object {
+  "homepage": "https://nodejs.org",
+  "registryUrl": "https://nodejs.org/dist",
+  "releases": Array [
+    Object {
+      "isStable": false,
+      "releaseTimestamp": "2020-04-21T00:00:00.000Z",
+      "version": "v14.0.0",
+    },
+    Object {
+      "isStable": false,
+      "releaseTimestamp": "2020-04-29T00:00:00.000Z",
+      "version": "v14.1.0",
+    },
+    Object {
+      "isStable": false,
+      "releaseTimestamp": "2020-05-05T00:00:00.000Z",
+      "version": "v14.2.0",
+    },
+    Object {
+      "isStable": false,
+      "releaseTimestamp": "2020-05-19T00:00:00.000Z",
+      "version": "v14.3.0",
+    },
+    Object {
+      "isStable": false,
+      "releaseTimestamp": "2020-06-02T00:00:00.000Z",
+      "version": "v14.4.0",
+    },
+    Object {
+      "isStable": false,
+      "releaseTimestamp": "2020-06-30T00:00:00.000Z",
+      "version": "v14.5.0",
+    },
+    Object {
+      "isStable": false,
+      "releaseTimestamp": "2020-07-20T00:00:00.000Z",
+      "version": "v14.6.0",
+    },
+    Object {
+      "isStable": false,
+      "releaseTimestamp": "2020-07-29T00:00:00.000Z",
+      "version": "v14.7.0",
+    },
+    Object {
+      "isStable": false,
+      "releaseTimestamp": "2020-08-11T00:00:00.000Z",
+      "version": "v14.8.0",
+    },
+    Object {
+      "isStable": false,
+      "releaseTimestamp": "2020-08-27T00:00:00.000Z",
+      "version": "v14.9.0",
+    },
+    Object {
+      "isStable": false,
+      "releaseTimestamp": "2020-09-08T00:00:00.000Z",
+      "version": "v14.10.0",
+    },
+    Object {
+      "isStable": false,
+      "releaseTimestamp": "2020-09-10T00:00:00.000Z",
+      "version": "v14.10.1",
+    },
+    Object {
+      "isStable": false,
+      "releaseTimestamp": "2020-09-15T00:00:00.000Z",
+      "version": "v14.11.0",
+    },
+    Object {
+      "isStable": false,
+      "releaseTimestamp": "2020-09-22T00:00:00.000Z",
+      "version": "v14.12.0",
+    },
+    Object {
+      "isStable": false,
+      "releaseTimestamp": "2020-09-29T00:00:00.000Z",
+      "version": "v14.13.0",
+    },
+    Object {
+      "isStable": false,
+      "releaseTimestamp": "2020-10-07T00:00:00.000Z",
+      "version": "v14.13.1",
+    },
+    Object {
+      "isStable": false,
+      "releaseTimestamp": "2020-10-15T00:00:00.000Z",
+      "version": "v14.14.0",
+    },
+    Object {
+      "isStable": true,
+      "releaseTimestamp": "2020-10-27T00:00:00.000Z",
+      "version": "v14.15.0",
+    },
+    Object {
+      "isStable": true,
+      "releaseTimestamp": "2020-11-16T00:00:00.000Z",
+      "version": "v14.15.1",
+    },
+    Object {
+      "isStable": true,
+      "releaseTimestamp": "2020-12-15T00:00:00.000Z",
+      "version": "v14.15.2",
+    },
+    Object {
+      "isStable": true,
+      "releaseTimestamp": "2020-12-17T00:00:00.000Z",
+      "version": "v14.15.3",
+    },
+    Object {
+      "isStable": true,
+      "releaseTimestamp": "2021-01-04T00:00:00.000Z",
+      "version": "v14.15.4",
+    },
+    Object {
+      "isStable": true,
+      "releaseTimestamp": "2021-02-09T00:00:00.000Z",
+      "version": "v14.15.5",
+    },
+    Object {
+      "isStable": true,
+      "releaseTimestamp": "2021-02-23T00:00:00.000Z",
+      "version": "v14.16.0",
+    },
+    Object {
+      "isStable": true,
+      "releaseTimestamp": "2021-04-06T00:00:00.000Z",
+      "version": "v14.16.1",
+    },
+    Object {
+      "isStable": true,
+      "releaseTimestamp": "2021-05-11T00:00:00.000Z",
+      "version": "v14.17.0",
+    },
+    Object {
+      "isStable": true,
+      "releaseTimestamp": "2021-06-15T00:00:00.000Z",
+      "version": "v14.17.1",
+    },
+    Object {
+      "isStable": true,
+      "releaseTimestamp": "2021-07-01T00:00:00.000Z",
+      "version": "v14.17.2",
+    },
+    Object {
+      "isStable": true,
+      "releaseTimestamp": "2021-07-05T00:00:00.000Z",
+      "version": "v14.17.3",
+    },
+    Object {
+      "isStable": true,
+      "releaseTimestamp": "2021-07-29T00:00:00.000Z",
+      "version": "v14.17.4",
+    },
+    Object {
+      "isStable": true,
+      "releaseTimestamp": "2021-08-11T00:00:00.000Z",
+      "version": "v14.17.5",
+    },
+    Object {
+      "isStable": true,
+      "releaseTimestamp": "2021-08-30T00:00:00.000Z",
+      "version": "v14.17.6",
+    },
+    Object {
+      "isStable": false,
+      "releaseTimestamp": "2020-10-20T00:00:00.000Z",
+      "version": "v15.0.0",
+    },
+    Object {
+      "isStable": false,
+      "releaseTimestamp": "2020-10-21T00:00:00.000Z",
+      "version": "v15.0.1",
+    },
+    Object {
+      "isStable": false,
+      "releaseTimestamp": "2020-11-04T00:00:00.000Z",
+      "version": "v15.1.0",
+    },
+    Object {
+      "isStable": false,
+      "releaseTimestamp": "2020-11-10T00:00:00.000Z",
+      "version": "v15.2.0",
+    },
+    Object {
+      "isStable": false,
+      "releaseTimestamp": "2020-11-16T00:00:00.000Z",
+      "version": "v15.2.1",
+    },
+    Object {
+      "isStable": false,
+      "releaseTimestamp": "2020-11-24T00:00:00.000Z",
+      "version": "v15.3.0",
+    },
+    Object {
+      "isStable": false,
+      "releaseTimestamp": "2020-12-09T00:00:00.000Z",
+      "version": "v15.4.0",
+    },
+    Object {
+      "isStable": false,
+      "releaseTimestamp": "2020-12-22T00:00:00.000Z",
+      "version": "v15.5.0",
+    },
+    Object {
+      "isStable": false,
+      "releaseTimestamp": "2021-01-04T00:00:00.000Z",
+      "version": "v15.5.1",
+    },
+    Object {
+      "isStable": false,
+      "releaseTimestamp": "2021-01-14T00:00:00.000Z",
+      "version": "v15.6.0",
+    },
+    Object {
+      "isStable": false,
+      "releaseTimestamp": "2021-01-25T00:00:00.000Z",
+      "version": "v15.7.0",
+    },
+    Object {
+      "isStable": false,
+      "releaseTimestamp": "2021-02-02T00:00:00.000Z",
+      "version": "v15.8.0",
+    },
+    Object {
+      "isStable": false,
+      "releaseTimestamp": "2021-02-18T00:00:00.000Z",
+      "version": "v15.9.0",
+    },
+    Object {
+      "isStable": false,
+      "releaseTimestamp": "2021-02-23T00:00:00.000Z",
+      "version": "v15.10.0",
+    },
+    Object {
+      "isStable": false,
+      "releaseTimestamp": "2021-03-03T00:00:00.000Z",
+      "version": "v15.11.0",
+    },
+    Object {
+      "isStable": false,
+      "releaseTimestamp": "2021-03-17T00:00:00.000Z",
+      "version": "v15.12.0",
+    },
+    Object {
+      "isStable": false,
+      "releaseTimestamp": "2021-03-31T00:00:00.000Z",
+      "version": "v15.13.0",
+    },
+    Object {
+      "isStable": false,
+      "releaseTimestamp": "2021-04-06T00:00:00.000Z",
+      "version": "v15.14.0",
+    },
+    Object {
+      "isStable": false,
+      "releaseTimestamp": "2021-04-20T00:00:00.000Z",
+      "version": "v16.0.0",
+    },
+    Object {
+      "isStable": false,
+      "releaseTimestamp": "2021-05-04T00:00:00.000Z",
+      "version": "v16.1.0",
+    },
+    Object {
+      "isStable": false,
+      "releaseTimestamp": "2021-05-19T00:00:00.000Z",
+      "version": "v16.2.0",
+    },
+    Object {
+      "isStable": false,
+      "releaseTimestamp": "2021-06-03T00:00:00.000Z",
+      "version": "v16.3.0",
+    },
+    Object {
+      "isStable": false,
+      "releaseTimestamp": "2021-06-23T00:00:00.000Z",
+      "version": "v16.4.0",
+    },
+    Object {
+      "isStable": false,
+      "releaseTimestamp": "2021-07-01T00:00:00.000Z",
+      "version": "v16.4.1",
+    },
+    Object {
+      "isStable": false,
+      "releaseTimestamp": "2021-07-05T00:00:00.000Z",
+      "version": "v16.4.2",
+    },
+    Object {
+      "isStable": false,
+      "releaseTimestamp": "2021-07-14T00:00:00.000Z",
+      "version": "v16.5.0",
+    },
+    Object {
+      "isStable": false,
+      "releaseTimestamp": "2021-07-29T00:00:00.000Z",
+      "version": "v16.6.0",
+    },
+    Object {
+      "isStable": false,
+      "releaseTimestamp": "2021-08-03T00:00:00.000Z",
+      "version": "v16.6.1",
+    },
+    Object {
+      "isStable": false,
+      "releaseTimestamp": "2021-08-11T00:00:00.000Z",
+      "version": "v16.6.2",
+    },
+    Object {
+      "isStable": false,
+      "releaseTimestamp": "2021-08-18T00:00:00.000Z",
+      "version": "v16.7.0",
+    },
+    Object {
+      "isStable": false,
+      "releaseTimestamp": "2021-08-25T00:00:00.000Z",
+      "version": "v16.8.0",
+    },
+    Object {
+      "isStable": false,
+      "releaseTimestamp": "2021-09-07T00:00:00.000Z",
+      "version": "v16.9.0",
+    },
+  ],
+  "sourceUrl": "https://github.com/nodejs/node",
+}
+`;
diff --git a/lib/datasource/node/common.ts b/lib/datasource/node/common.ts
new file mode 100644
index 0000000000000000000000000000000000000000..9a88f37c5cb889f2f1c9fa664d936ee54083a6ec
--- /dev/null
+++ b/lib/datasource/node/common.ts
@@ -0,0 +1,3 @@
+export const defaultRegistryUrl = 'https://nodejs.org/dist';
+
+export const datasource = 'node';
diff --git a/lib/datasource/node/index.spec.ts b/lib/datasource/node/index.spec.ts
new file mode 100644
index 0000000000000000000000000000000000000000..43a9e8b417ba899e5509de725625fb3fae391534
--- /dev/null
+++ b/lib/datasource/node/index.spec.ts
@@ -0,0 +1,54 @@
+import { getPkgReleases } from '..';
+import * as httpMock from '../../../test/http-mock';
+import { loadFixture } from '../../../test/util';
+import { EXTERNAL_HOST_ERROR } from '../../constants/error-messages';
+import { datasource, defaultRegistryUrl } from './common';
+
+const res1 = loadFixture('index.json');
+
+describe('datasource/node/index', () => {
+  describe('getReleases', () => {
+    it('throws for 500', async () => {
+      httpMock.scope(defaultRegistryUrl).get('/index.json').reply(500);
+      await expect(
+        getPkgReleases({
+          datasource,
+          depName: 'node',
+        })
+      ).rejects.toThrow(EXTERNAL_HOST_ERROR);
+    });
+
+    it('returns null for error', async () => {
+      httpMock
+        .scope(defaultRegistryUrl)
+        .get('/index.json')
+        .replyWithError('error');
+      expect(
+        await getPkgReleases({
+          datasource,
+          depName: 'node',
+        })
+      ).toBeNull();
+    });
+
+    it('returns null for empty 200 OK', async () => {
+      httpMock.scope(defaultRegistryUrl).get('/index.json').reply(200, []);
+      expect(
+        await getPkgReleases({
+          datasource,
+          depName: 'node',
+        })
+      ).toBeNull();
+    });
+
+    it('processes real data', async () => {
+      httpMock.scope(defaultRegistryUrl).get('/index.json').reply(200, res1);
+      const res = await getPkgReleases({
+        datasource,
+        depName: 'node',
+      });
+      expect(res).toMatchSnapshot();
+      expect(res.releases).toHaveLength(64);
+    });
+  });
+});
diff --git a/lib/datasource/node/index.ts b/lib/datasource/node/index.ts
new file mode 100644
index 0000000000000000000000000000000000000000..62daa1bd8928c61f22f1daa21ad249207874ce56
--- /dev/null
+++ b/lib/datasource/node/index.ts
@@ -0,0 +1,56 @@
+import { cache } from '../../util/cache/package/decorator';
+import { joinUrlParts } from '../../util/url';
+import { id as versioning } from '../../versioning/node';
+import { Datasource } from '../datasource';
+import type { GetReleasesConfig, ReleaseResult } from '../types';
+import { datasource, defaultRegistryUrl } from './common';
+import type { NodeRelease } from './types';
+
+export class NodeDatasource extends Datasource {
+  static readonly id = datasource;
+
+  constructor() {
+    super(datasource);
+  }
+
+  override readonly customRegistrySupport = false;
+
+  override readonly defaultRegistryUrls = [defaultRegistryUrl];
+
+  override readonly defaultVersioning = versioning;
+
+  override readonly caching = true;
+
+  @cache({
+    namespace: `datasource-${datasource}`,
+    key: ({ registryUrl }: GetReleasesConfig) => `${registryUrl}`,
+  })
+  async getReleases({
+    registryUrl,
+  }: GetReleasesConfig): Promise<ReleaseResult | null> {
+    const result: ReleaseResult = {
+      homepage: 'https://nodejs.org',
+      sourceUrl: 'https://github.com/nodejs/node',
+      registryUrl,
+      releases: [],
+    };
+    try {
+      const resp = (
+        await this.http.getJson<NodeRelease[]>(
+          joinUrlParts(registryUrl, 'index.json')
+        )
+      ).body;
+      result.releases.push(
+        ...resp.map(({ version, date, lts }) => ({
+          version,
+          releaseTimestamp: date,
+          isStable: lts !== false,
+        }))
+      );
+    } catch (err) {
+      this.handleGenericErrors(err);
+    }
+
+    return result.releases.length ? result : null;
+  }
+}
diff --git a/lib/datasource/node/readme.md b/lib/datasource/node/readme.md
new file mode 100644
index 0000000000000000000000000000000000000000..9d8c8b67265ef15cb6b9c42abf0ed8deb0ce3246
--- /dev/null
+++ b/lib/datasource/node/readme.md
@@ -0,0 +1 @@
+This datasource returns NodeJS releases from [nodejs.org](https://nodejs.org/dist/index.json) API.
diff --git a/lib/datasource/node/types.ts b/lib/datasource/node/types.ts
new file mode 100644
index 0000000000000000000000000000000000000000..8d221233603bc26b5b7fff8b94a77e326aed22b9
--- /dev/null
+++ b/lib/datasource/node/types.ts
@@ -0,0 +1,19 @@
+export interface NodeRelease {
+  /** release date */
+  date: string;
+
+  /** Is LTS release */
+  lts: false | string;
+
+  /** included files */
+  files: string[];
+
+  /** npm version */
+  npm: string;
+
+  /** Is security release */
+  security: boolean;
+
+  /** node version */
+  version: string;
+}