The Product Hunt API is a great source of data for side projects and skill improvement.

Querying the Product Hunt GraphQL API with Python is pretty straightforward. First, make sure that you have generated a developer token from the Product Hunt API Dashboard. Next, simply use the following code with your own token:

import json
import requests

API_URL = "https://api.producthunt.com/v2/api/graphql"

# Specify your API token
MY_API_TOKEN = "YOUR_TOKEN_HERE"

# Specify your query
query = {"query":
        """
        query todayPosts {
            posts {
                edges {
                    node {
                        id
                        name
                        tagline
                        votesCount
                    }
                }
            }
        }
        """}

headers = {
'Accept': 'application/json',
'Content-Type': 'application/json',
'Authorization': 'Bearer ' + MY_API_TOKEN,
'Host': 'api.producthunt.com'
}

today_posts = requests.post(API_URL,
							headers=headers,
							data=json.dumps(query))

today_posts = today_posts.json()

Replace the query with whatever query that you're looking to run. The query in the code above will result in data for the top 20 posts from the current day. Their GraphQL API can be explored here. Note that there is a query "complexity limit" of 1000. The complexity score of a query is determined by the fields that are being requested. Additionally, there is a rate limit that is reset every 15 minutes.