DigitalOcean (as usual) also have a nice article How To Use Web APIs in Python 3 | DigitalOcean[^]

- thats two votes for the 'requests' library

BTW, there's a great tool you can use to test REST API's (ie, as a client), called 'Postman' - well worth downloading and using to check the call, data etc https://www.postman.com/downloads/[^]

Interesting that there's no authentication required, but using that URL directly (which postman then identifies the two query parameters startTs & endTs) gives (truncated)

[ { "blobJson": "[{'deviceTimestamp': 166150, 'x': 3.8919, 'y': -8.6865, 'z': -3.3077}, {'deviceTimestamp': 166170, 'x': 4.2998, 'y': -9.8624, 'z': -2.0769}, {'deviceTimestamp': 166190, 'x': 0.74341, 'y': -9.4483, 'z': 0.57692}, {'deviceTimestamp': 166210, 'x': 0.73178, 'y': -9.5004, 'z': 3.0769}, {'deviceTimestamp': 166230, 'x': 3.5538, 'y': -9.7006, 'z': 3.3077}, {'deviceTimestamp': 166250, 'x': -1.4629, 'y': -7.0692, 'z': 2.2308}, {'deviceTimestamp': 166260, 'x': -6.7571, 'y': -5.0299, 'z': -0.076923}, {'deviceTimestamp': 166280, 'x': -5.0319, 'y': -6.5896, 'z': -0.076923}, {'deviceTimestamp': 166300, 'x': -0.21122, 'y': -8.9002, 'z': 2.5}, {'deviceTimestamp': 166320, 'x': 6.3477, 'y': -9.3142, 'z': 4.5385}, {'deviceTimestamp': 166340, 'x': 10.904, 'y': -9.9498, 'z': 5.6538}, {'deviceTimestamp': 166360, 'x': 9.5501, 'y': -8.5014, 'z': 5.6923}, {'deviceTimestamp': 166380, 'x': 7.7312, 'y': -8.5973, 'z': 5.6154}, {'deviceTimestamp': 166400, 'x': 8.9783, 'y': -10.132, 'z': 4.7692}, {'deviceTimestamp': 166420, 'x': 9.8307, 'y': -11.159, 'z': 5.0385}, {'deviceTimestamp': 166440, 'x': 7.7934, 'y': -10.556, 'z': 5.8077}, {'deviceTimestamp': 166460, 'x': 5.8261, 'y': -10.259, 'z': 2.8462}, {'deviceTimestamp': 166480, 'x': 4.4837, 'y': -10.092, 'z': 1.6538}, {'deviceTimestamp': 166500, 'x': 5.5556, 'y': -11.08, 'z': 1.8462}, {'deviceTimestamp': 166520, 'x': 8.4009, 'y': -12.06, 'z': 1.0}, {'deviceTimestamp': 166540, 'x': 8.9573, 'y': -12.456, 'z': -0.73077}, {'deviceTimestamp': 166560, 'x': 8.2957, 'y': -14.59, 'z': -1.9231}, {'deviceTimestamp': 166580, 'x': 6.9804, 'y': -14.953, 'z': -2.3077}, {'deviceTimestamp': 166600, 'x': 6.6967, 'y': -13.515, 'z': -0.5}, {'deviceTimestamp': 166620, 'x': 9.6361, 'y': -14.48, 'z': 0.076923}, {'deviceTimestamp': 166640, 'x': 10.407, 'y': -15.51, 'z': 0.15385}, {'deviceTimestamp': 166660, 'x': 10.14, 'y': -15.447, 'z': -0.96154}, {'deviceTimestamp': 166670, 'x': 10.684, 'y': -14.821, 'z': -0.5}, {'deviceTimestamp': 166690, 'x': 11.048, 'y': -15.117, 'z': 0.34615}, {'deviceTimestamp': 166710, 'x': 8.4361, 'y': -13.489, 'z': 0.38462}, {'deviceTimestamp': 166730, 'x': 5.8655, 'y': -12.051, 'z': 0.57692}, {'deviceTimestamp': 166750, 'x': 2.3597, 'y': -10.318, 'z': 0.46154}, {'deviceTimestamp': 166770, 'x': -0.62984, 'y': -7.8898, 'z': 0.11538}, {'deviceTimestamp': 166790, 'x': -2.7007, 'y': -5.8762, 'z': -0.30769}, {'deviceTimestamp': 166810, 'x': -3.7714, 'y': -4.7735, 'z': -0.5}, {'deviceTimestamp': 166830, 'x': -4.9101, 'y': -5.2045, 'z': -0.15385}, {'deviceTimestamp': 166850, 'x': -4.8295, 'y': -4.2244, 'z': 1.6154}, {'deviceTimestamp': 166870, 'x': -5.7695, 'y': -2.9912, 'z': 2.8077}, {'deviceTimestamp': 166890, 'x': -5.2339, 'y': -3.1535, 'z': 1.4231}, {'deviceTimestamp': 166910, 'x': -4.6184, 'y': -4.11, 'z': 1.3077}, {'deviceTimestamp': 166930, 'x': -4.0096, 'y': -4.637, 'z': 1.8462}, {'deviceTimestamp': 166950, 'x': -1.5587, 'y': -6.1456, 'z': 2.3846}, {'deviceTimestamp': 166970, 'x': 1.9769, 'y': -9.0787, 'z': 1.6923}, {'deviceTimestamp': 166990, 'x': 3.6063, 'y': -11.394, 'z': 3.1923}, {'deviceTimestamp': 167010, 'x': 8.8673, 'y': -12.291, 'z': 4.3846}, {'deviceTimestamp': 167030, 'x': 17.873, 'y': -15.767, 'z': 5.3846},that you can then parse / convert to objects / otherwise use