Acciaccatura Untappd API Documentation

Presented by Osten

Introduction and notes

API URL

The Acciaccatura Untappd API can be accessed on https://untappd.acciaccatura.dk.

Authentication

Authentication is required for some, but not all, requests and will be elaborated where relevant.

Parameter-notation

Parameters noted in italics are considered optional. Normally styled parameters are required.


Functionality

The API currently supports the following; each will be described in details later on:


/

GET-request

Purpose:
Presents this page

Return:
This page.

Usage:
Send a GET-request to https://untappd.acciaccatura.dk/

Basic request:

url = "https://untappd.acciaccatura.dk/"
response = requests.request("GET", url)

POST-request

Purpose:
Fetch data from a user's RSS feed

Parameters:

Return:
Returns a JSON object with result of the request.
If both only_data and only_new is true, only_data will take precedence.
If only_data is True, no new data will be searched for, and only what's already stored will be returned along the user's data.
If only_new is True, only new data from the rss feed that has not been previously found will be returned along the user's data.

  • checkins - dict
    • The dict-object of checkins.
      {
          "username": str,
          "rss_feed": str,
          "checkins": {
              "CHECKIN_ID": {
                  "beer_name": str,
                  "brewery_name": str,
                  "comment": str,
                  "rating_score": float,
                  "created_at": str,
                  "checkin_url": str,
                  "beer_url": str,
                  "flavor_profiles": str,
                  "purchase_venue": str,
                  "serving_type": str,
                  "checkin_id": int,
                  "bid": int,
                  "photo_url": str,
                  "tagged_friends": str,
                  "total_toasts": str,
                  "total_comments": str,
                  "venue_name": str,
                  "venue_city": str,
                  "venue_state": str,
                  "venue_country": str,
                  "venue_lat": float,
                  "venue_lng": float,
                  "beer_abv": float,
                  "beer_ibu": float,
                  "global_rating_score": float,
                  "global_weighted_rating_score": float,
                  "beer_type": str,
                  "brewery_url": str,
                  "brewery_country": str,
                  "brewery_city": str,
                  "brewery_state": str,
                  "brewery_id": int,
              },
              ...
          }
      }
      
  • Usage:
    Send a POST-request to https://untappd.acciaccatura.dk/

    url = "https://untappd.acciaccatura.dk/"
    payload = {
        'api_key': 'REDACTED',
        'only_data': True, # Optional
        'only_new': False # Optional
    }
    response = requests.request("POST", url, data=payload)
    

    /users

    The /users-endpoint is not intended for public usage, except PATCH, which allows a user to update their api-key, or rss feed

    POST-request

    Purpose:
    To register a new user

    Parameters:

    Return:
    Returns a JSON object with a message and errors if any.

    Usage:
    Send a POST-request to https://untappd.acciaccatura.dk/users

    url = "https://untappd.acciaccatura.dk/users"
    payload = {
        'user': 'Acciaccatura',
        'api_key': 'REDACTED',
        'rss_feed': 'https://untappd.com/rss/user/Acciaccatura?key=d7010bf36c6d4431104f7447528ebce5'
        'authentication': 'REDACTED'
    }
    response = requests.request("POST", url, data=payload)
    
    {
        "message": [ 
            "Successfully created user: Acciaccatura"
        ]
    }
    

    PATCH-request

    Purpose:
    To update details of a user

    Parameters:

  • api_key - str
    • Required to authenticate the requester
  • new_api_key - str
    • The user's API key required for authentication of the user when they use POST-requests on root.
      If not given, the user's registered API key will not be changed.
  • rss_feed - str
    • The user's untappd rss feed. Can be provided at later point using the PATCH-request.
      If not given, the user's registered rss feed will not be changed.
  • Return:
    Returns a JSON object with a message and errors if any.

    Usage:
    Send a PATCH-request to https://untappd.acciaccatura.dk/users

    url = "https://untappd.acciaccatura.dk/users"
    payload = {
        'api_key': 'REDACTED',
        'new_api_key': 'REDACTED',
        'rss_feed': 'https://untappd.com/rss/user/Acciaccatura?key=d7010bf36c6d4431104f7447528ebce5'
    }
    response = requests.request("PATCH", url, data=payload)
    
    {
        "message": [ 
            "Successfully patched user: Acciaccatura"
        ]
    }
    

    DELETE-request

    Purpose:
    To delete a user and optionally their saved untappd-data

    Parameters:

  • api_key - str
    • Required to authenticate the requester such that they can delete their own data
  • delete_data - boolean [Default: False]
    • If True, not only deletes the registered API-key, but also all untappd-data registered for the user.
      Note that the backend is Python, so any non-empty string will count as True. Only the case-sensitive False will be evaluated as False (which would be the same as omitting this parameter entirely).
  • Return:
    Returns a JSON object with a message and errors if any.

    Usage:
    Send a DELETE-request to https://untappd.acciaccatura.dk/users

    url = "https://untappd.acciaccatura.dk/users"
    payload = {
        'api_key': 'REDACTED',
    }
    response = requests.request("DELETE", url, data=payload)
    
    {
        "message": [ 
            "Successfully deleted user: Acciaccatura"
        ]
    }