Untappd allows you to download your checkin data in JSON and CSV formats (if you are a supporter). This is great, however they do not have an option to download the data of just your 'unique' checkins. This script will take the json file you downloaded from untappd and create both json and csv files with only your last checkins of each beer.
There are also additional parsing options detailed below. I use this to generate the beer map on my website. So this has become mostly tailored towards that.
pip install -e .untappd-parser <UNTAPPD-DATA>.jsonAvailable keys: brewery_name, venue, beer_type, photo_url, bid
untappd-parser <UNTAPPD-DATA>.json --key brewery_nameuntappd-parser <UNTAPPD-DATA>.json --split-by-visitsThis creates 3 separate CSV files:
*_1_visit.csv- venues with exactly 1 visit*_2-4_visits.csv- venues with 2-4 visits*_5+_visits.csv- venues with 5 or more visits
--no-human-keys- Keep original snake_case keys (e.g.venue_nameinstead ofVenue Name)--no-strip-backend- Keep all keys from the original JSON file--no-fancy-dates- Keep dates inYYYY-MM-DD HH:MM:SSformat instead of readable format
Open untappd.html in your browser to use the parser without installing Python:
- Serve the file
python3 -m http.server 8080
- Open in browser: http://localhost:8080/untappd.html
- Drag and drop your Untappd JSON file
- Download the processed CSVs with visit distribution
The browser interface uses a minified Python bundle (src/untappd_parser_bundle.py) generated from the source files.
-
Install dev dependencies
pip install -e ".[dev]" # or using npm npm run build:setup
-
Build the bundle
npm run build # or directly python3 build.py
Run linters and formatters:
npm run lint
npm run formatMIT