Retrieves Garmin Connect run activity data.
Performes a one time login with puppeteer for the credentials which are then kept (encrypted) between runs and are updated only if needed.
npm i garmin-run-fetch
const garminRunFetch = require('garmin-run-fetch');
const opts = {
userName,
password,
limit, // optional
startDate, // optional
endDate, // optional
};
const activitiesJson = await garminRunFetch(opts);
[email protected] GARMIN_PASSWORD=123456 npx garmin-run-fetch
// Output activity json to console ...
param | env var name | desc | default |
---|---|---|---|
userName | GARMIN_USER_NAME |
Garmin connect user email | - |
password | GARMIN_PASSWORD |
Garmin connect user password | - |
limit | GARMIN_LIMIT |
(Optional) number of activities to fetch | 20 |
startDate | GARMIN_START_DATE |
(Optional) fetch activitiess only older than this value, a UNIX epoch number. | 0 |
endDate | GARMIN_END_DATE |
(Optional) fetch activitiess only created before this value, a UNIX epoch number. | Date.now() |
- | DEBUG | (Optional) set as garmin:* for debugging | - |
- This module creates a
.cred.json
file (which is encrypted) with your garmin credentials, this is done for avoiding a login with every run. The file can be deleted in between runs. - The login is done with scrapping the Garmin Connect web page by using puppeteer.