Skip to content
Import data from various APIs into InfluxDB
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.


Import personal data from various APIs into InfluxDB


Open each Python script and set your API credentials and InfluxDB server configuration at the top of the file


Check your Python version and make sure version 3.7 or newer is installed on your system:

$ python3 --version

Install required python3 modules:

$ pip3 install pytz influxdb requests requests-cache instaloader todoist-python publicsuffix2

Run each Python script from the terminal and it will insert the most recent data into InfluxDB.


  • RescueTime provides data each hour, so scheduling the script as an hourly cron job is recommended.
  • Steam provides the recent playtime over 2 weeks, so the first set of data inserted will contain 2 weeks of time. New data going forward will be more accurate as the script will calculate the time since the last run.
  • Google Play doesn't provide total play time, only achievements and last played timestamps
  • Instagram can take a very long time to download, so by default it will only fetch the 10 most recent posts. Set MAX_POSTS to 0 to download everything.

Grafana Dashboards

The grafana folder contains json files for various example dashboards. Most dashboards require the grafana-piechart-panel plugin, and the Foursquaure panel also requires the panodata grafana-map-panel plugin:

$ grafana-cli --pluginUrl plugins install grafana-map-panel

RescueTime dashboard

Grafana RescueTime Screenshot

Fitbit dashboard

Grafana Fitbit Screenshot

Gaming dashboard

Grafana Gaming Screenshot

Foursquare dashboard

Grafana Foursquare Screenshot

Instagram dashboard

Grafana Instagram Screenshot

Todoist dashboard

Grafana Todoist Screenshot

GitHub dashboard

Grafana GitHub Screenshot dashboard

Grafana Screenshot

EDSM dashboard

Grafana EDSM Screenshot

Exist dashboard

Grafana Exist Screenshot


Copyright (C) 2020 Sam Steele. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

You can’t perform that action at this time.