garminconnect-js

A zero-dependency TypeScript client for Garmin Connect. This page is its live demo: each panel shows the library call that filled it, with the arguments it sent and what came back.

npm install garminconnect-js

You're looking at synthetic demo data. Sign in with your Garmin account to run these calls against your own data. Your password goes to Garmin only and is never stored; your session stays in your browser.

Sign in with Garmin
await garmin.fullName()→ "Demo athlete" (synthetic)
Sleep score, last night65
Sleep, last night6h 24m
Activities, 90 days99
Active time, 90 days115h 27m
Resting heart rate, latest47 bpm
HRV, last night56 ms
await garmin.getSleepDaily("2026-07-02", "2026-09-29")→ 90 nights (synthetic)

Sleep

Sleep score
Show table
Sleep score
DateSleep score
Jul 272
Jul 371
Jul 483
Jul 581
Jul 686
Jul 786
Jul 883
Jul 981
Jul 1077
Jul 1178
Jul 1283
Jul 1366
Jul 1478
Jul 1571
Jul 1678
Jul 1765
Jul 1872
Jul 1963
Jul 2069
Jul 2183
Jul 2285
Jul 2372
Jul 2482
Jul 2578
Jul 2684
Jul 2778
Jul 2886
Jul 2975
Jul 3072
Jul 3171
Aug 169
Aug 269
Aug 373
Aug 474
Aug 570
Aug 671
Aug 776
Aug 874
Aug 976
Aug 1074
Aug 1188
Aug 1279
Aug 1375
Aug 1473
Aug 1585
Aug 1677
Aug 1778
Aug 1874
Aug 1983
Aug 2080
Aug 2170
Aug 2258
Aug 2357
Aug 2468
Aug 2572
Aug 2671
Aug 2776
Aug 2878
Aug 2972
Aug 3077
Aug 3188
Sep 179
Sep 282
Sep 384
Sep 473
Sep 573
Sep 672
Sep 777
Sep 866
Sep 967
Sep 1065
Sep 1169
Sep 1277
Sep 1382
Sep 1474
Sep 1572
Sep 1681
Sep 1774
Sep 1886
Sep 1981
Sep 2084
Sep 2184
Sep 2274
Sep 2391
Sep 2482
Sep 2578
Sep 2670
Sep 2771
Sep 2877
Sep 2965
Sleep duration
Show table
Sleep duration
DateSleep duration
Jul 26h 24m
Jul 36h 54m
Jul 47h 36m
Jul 57h 18m
Jul 67h 54m
Jul 77h 48m
Jul 87h 54m
Jul 97h 18m
Jul 107h 30m
Jul 117h 18m
Jul 127h 24m
Jul 136h 12m
Jul 147h 06m
Jul 156h 36m
Jul 166h 54m
Jul 176h 18m
Jul 186h 54m
Jul 196h 12m
Jul 206h 42m
Jul 217h 36m
Jul 227h 30m
Jul 236h 54m
Jul 247h 36m
Jul 257h 30m
Jul 268h 06m
Jul 277h 24m
Jul 287h 36m
Jul 297h 18m
Jul 306h 54m
Jul 316h 42m
Aug 16h 30m
Aug 26h 42m
Aug 36h 54m
Aug 46h 48m
Aug 56h 36m
Aug 66h 30m
Aug 77h 12m
Aug 87h 06m
Aug 97h 12m
Aug 107h 00m
Aug 117h 48m
Aug 127h 06m
Aug 137h 06m
Aug 147h 12m
Aug 158h 06m
Aug 167h 30m
Aug 177h 12m
Aug 186h 36m
Aug 197h 18m
Aug 207h 06m
Aug 216h 48m
Aug 225h 48m
Aug 235h 54m
Aug 246h 36m
Aug 256h 48m
Aug 266h 54m
Aug 277h 18m
Aug 286h 54m
Aug 296h 48m
Aug 306h 48m
Aug 317h 42m
Sep 17h 00m
Sep 27h 12m
Sep 37h 36m
Sep 47h 06m
Sep 56h 48m
Sep 66h 30m
Sep 77h 00m
Sep 86h 36m
Sep 96h 00m
Sep 106h 00m
Sep 116h 54m
Sep 126h 54m
Sep 137h 12m
Sep 147h 00m
Sep 156h 36m
Sep 167h 36m
Sep 177h 00m
Sep 187h 54m
Sep 197h 24m
Sep 207h 54m
Sep 217h 48m
Sep 227h 06m
Sep 237h 54m
Sep 247h 18m
Sep 257h 30m
Sep 266h 54m
Sep 276h 36m
Sep 286h 48m
Sep 296h 24m
await garmin.getActivitiesByDate("2026-07-02", "2026-09-29")→ 99 activities (synthetic)

Activities

  1. Lunch rideRoad biking · Sep 29, 12:1730.57 km1h 05m
  2. Upper bodyStrength training · Sep 28, 18:5447 min
  3. Easy runRunning · Sep 27, 07:477.97 km45 min
  4. Ridge hikeHiking · Sep 26, 10:5910.23 km2h 34m
  5. Evening walkWalking · Sep 25, 19:423.12 km37 min
  6. Long trail runTrail running · Sep 25, 08:0512.39 km1h 21m
  7. Pool swimLap swimming · Sep 24, 07:071.66 km43 min
  8. Lunch rideRoad biking · Sep 22, 12:3936.83 km1h 23m
  9. Upper bodyStrength training · Sep 21, 18:2547 min
  10. Recovery yogaYoga · Sep 20, 21:0330 min
  11. Easy runRunning · Sep 20, 07:046.80 km41 min
  12. Ridge hikeHiking · Sep 19, 10:2612.07 km2h 54m
  13. Evening walkWalking · Sep 18, 19:512.53 km31 min
  14. Long trail runTrail running · Sep 18, 08:1415.30 km1h 47m
  15. Pool swimLap swimming · Sep 17, 07:441.75 km42 min
  16. Evening walkWalking · Sep 16, 19:483.00 km35 min
  17. Lunch rideRoad biking · Sep 15, 12:5632.12 km1h 14m
  18. Upper bodyStrength training · Sep 14, 18:4651 min
  19. Easy runRunning · Sep 13, 07:286.35 km37 min
  20. Ridge hikeHiking · Sep 12, 10:1712.89 km3h 11m

Showing the latest 20 of 99.

await garmin.getRhrDaily("2026-07-02", "2026-09-29")→ 90 days (synthetic)
await garmin.getHrvDataRange("2026-07-02", "2026-09-29")→ 90 nights (synthetic)

Heart

Resting heart rate
47
Show table
Resting heart rate
DateResting heart rate
Jul 249 bpm
Jul 351 bpm
Jul 451 bpm
Jul 550 bpm
Jul 652 bpm
Jul 753 bpm
Jul 851 bpm
Jul 952 bpm
Jul 1052 bpm
Jul 1153 bpm
Jul 1253 bpm
Jul 1352 bpm
Jul 1452 bpm
Jul 1550 bpm
Jul 1651 bpm
Jul 1752 bpm
Jul 1849 bpm
Jul 1951 bpm
Jul 2050 bpm
Jul 2150 bpm
Jul 2250 bpm
Jul 2349 bpm
Jul 2450 bpm
Jul 2549 bpm
Jul 2648 bpm
Jul 2749 bpm
Jul 2849 bpm
Jul 2948 bpm
Jul 3048 bpm
Jul 3151 bpm
Aug 151 bpm
Aug 251 bpm
Aug 351 bpm
Aug 450 bpm
Aug 552 bpm
Aug 652 bpm
Aug 752 bpm
Aug 851 bpm
Aug 953 bpm
Aug 1053 bpm
Aug 1151 bpm
Aug 1252 bpm
Aug 1354 bpm
Aug 1453 bpm
Aug 1553 bpm
Aug 1651 bpm
Aug 1750 bpm
Aug 1851 bpm
Aug 1950 bpm
Aug 2049 bpm
Aug 2149 bpm
Aug 2249 bpm
Aug 2349 bpm
Aug 2449 bpm
Aug 2548 bpm
Aug 2650 bpm
Aug 2749 bpm
Aug 2848 bpm
Aug 2949 bpm
Aug 3049 bpm
Aug 3148 bpm
Sep 148 bpm
Sep 251 bpm
Sep 351 bpm
Sep 450 bpm
Sep 551 bpm
Sep 652 bpm
Sep 753 bpm
Sep 852 bpm
Sep 952 bpm
Sep 1053 bpm
Sep 1153 bpm
Sep 1253 bpm
Sep 1352 bpm
Sep 1453 bpm
Sep 1552 bpm
Sep 1653 bpm
Sep 1751 bpm
Sep 1852 bpm
Sep 1950 bpm
Sep 2051 bpm
Sep 2151 bpm
Sep 2250 bpm
Sep 2350 bpm
Sep 2450 bpm
Sep 2547 bpm
Sep 2647 bpm
Sep 2749 bpm
Sep 2850 bpm
Sep 2947 bpm
Overnight HRV
56
Show table
Overnight HRV
DateOvernight HRV
Jul 263 ms
Jul 368 ms
Jul 464 ms
Jul 569 ms
Jul 667 ms
Jul 770 ms
Jul 868 ms
Jul 962 ms
Jul 1060 ms
Jul 1162 ms
Jul 1262 ms
Jul 1358 ms
Jul 1454 ms
Jul 1553 ms
Jul 1653 ms
Jul 1756 ms
Jul 1853 ms
Jul 1957 ms
Jul 2057 ms
Jul 2158 ms
Jul 2261 ms
Jul 2360 ms
Jul 2465 ms
Jul 2563 ms
Jul 2662 ms
Jul 2771 ms
Jul 2866 ms
Jul 2971 ms
Jul 3069 ms
Jul 3167 ms
Aug 168 ms
Aug 264 ms
Aug 363 ms
Aug 460 ms
Aug 563 ms
Aug 663 ms
Aug 755 ms
Aug 859 ms
Aug 954 ms
Aug 1058 ms
Aug 1159 ms
Aug 1259 ms
Aug 1357 ms
Aug 1459 ms
Aug 1558 ms
Aug 1656 ms
Aug 1764 ms
Aug 1863 ms
Aug 1963 ms
Aug 2066 ms
Aug 2169 ms
Aug 2264 ms
Aug 2365 ms
Aug 2470 ms
Aug 2567 ms
Aug 2665 ms
Aug 2766 ms
Aug 2864 ms
Aug 2966 ms
Aug 3066 ms
Aug 3159 ms
Sep 159 ms
Sep 256 ms
Sep 357 ms
Sep 455 ms
Sep 560 ms
Sep 658 ms
Sep 760 ms
Sep 857 ms
Sep 958 ms
Sep 1064 ms
Sep 1161 ms
Sep 1262 ms
Sep 1368 ms
Sep 1464 ms
Sep 1564 ms
Sep 1668 ms
Sep 1768 ms
Sep 1872 ms
Sep 1967 ms
Sep 2071 ms
Sep 2167 ms
Sep 2267 ms
Sep 2362 ms
Sep 2461 ms
Sep 2559 ms
Sep 2661 ms
Sep 2757 ms
Sep 2854 ms
Sep 2956 ms
await garmin.getPersonalRecord()→ 6 running records (synthetic)
await garmin.getEarnedBadges()→ 10 badges (synthetic)
await garmin.getBadgeDetail(9)→ 5 badges in its series (synthetic)

Personal records

1 km3:48Track intervalsAug 19
1 mile6:12Track intervalsAug 19
5 km21:14ParkrunSep 17
10 km44:49Riverside 10KJun 25
Half marathon1:39:02City halfApr 2
Longest run28.41 kmLong trail runSep 3

Latest badges

  • Parkrun RegularRecord five runs on a Saturday morning. · ParkrunSep 17
  • Weekend Warrior×4Record an activity on both days of a weekend.Sep 10
  • Trail BlazerRun 25 kilometers on trails in a single activity. · Long trail runSep 3
  • Early Bird×6Start an activity before 6 a.m. · Easy runAug 27
  • Century RideRide 100 kilometers in a single activity. · Lunch rideAug 2
  • Pool Party×2Swim 2 kilometers in a single activity. · Pool swimJul 17
  • Step Streak 30Meet your step goal 30 days in a row.Jun 20
  • Summit SeekerClimb 1,000 meters in a single activity. · Ridge hikeMay 12

Showing the latest 8 of 10.

The Half Marathon series

  1. Milestoneearned
  2. 5K Runearned
  3. 10K Runearned
  4. Half Marathonearned
  5. Marathonnot earned yet