Skip to content

danielschwartz85/garmin-run-fetch

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

36 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Garmin Run Fetch

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.


Install

npm i garmin-run-fetch

Require module:

const garminRunFetch = require('garmin-run-fetch');
const opts = {
    userName,
    password,
    limit,     // optional
    startDate, // optional
    endDate,   // optional
};
const activitiesJson = await garminRunFetch(opts);

Or use command line:

GARMIN_USER_NAME=daniel@gmail.com GARMIN_PASSWORD=123456 npx garmin-run-fetch

// Output activity json to console ...

Params

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 -

Notes

  • 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.

Releases

No releases published