# Product Hunt

> Track and search Product Hunt launches, their upvotes, comments, topics, collections and makers.

App · Social Media · 20 actions. Web page: https://docs.lodol.com/docs/integrations/product-hunt

## Actions

### Find a launch by link

Find the Product Hunt launches registered against a product's own website or its X (Twitter) URL: the way to answer 'has this product been launched, and how did it do?'. Fill in either link, or both.

**Inputs**

- Website URL (`website_url`, text): The product's own website, exactly as it appears on the launch.
- X (Twitter) URL (`twitter_url`, text): The product's X (Twitter) profile URL.
- How many (`limit`, number): How many launches to return, from 1 to 100. Defaults to 20. From 1 to 100. Default: `20`.

**Outputs**

- `found` (true/false): True when at least one launch matched
- `post_count` (number)
- `posts` (list)
- `twitter_url` (text)
- `website_url` (text)

**Example output**

```json
{
  "found": true,
  "post_count": 1,
  "posts": [
    {
      "comments_count": 96,
      "created_at": "2026-03-04T08:01:00Z",
      "daily_rank": 1,
      "description": "Lodol turns a sentence into a working automation.",
      "featured_at": "2026-03-04T08:01:00Z",
      "hunter": {
        "followers_count": 1840,
        "following_count": 320,
        "headline": "Building developer tools",
        "id": "12345",
        "is_following": false,
        "is_maker": true,
        "is_viewer": false,
        "name": "Ada Lovelace",
        "profile_image_url": "https://ph-avatars.imgix.net/12345/original",
        "twitter_username": "adalovelace",
        "url": "https://www.producthunt.com/@adalovelace",
        "username": "adalovelace",
        "website_url": "https://example.com"
      },
      "id": "987654",
      "is_featured": true,
      "monthly_rank": 11,
      "name": "Lodol",
      "reviews_count": 12,
      "reviews_rating": 4.8,
      "slug": "lodol",
      "tagline": "Automate anything with AI agents",
      "thumbnail_url": "https://ph-files.imgix.net/987654/original",
      "topic_slugs": [
        "artificial-intelligence"
      ],
      "topics": [
        {
          "created_at": "2014-03-11T18:02:00Z",
          "description": "Products powered by artificial intelligence.",
          "followers_count": 412000,
          "id": "44",
          "image_url": "https://ph-files.imgix.net/topics/44",
          "is_following": true,
          "name": "Artificial Intelligence",
          "posts_count": 18400,
          "slug": "artificial-intelligence",
          "url": "https://www.producthunt.com/topics/artificial-intelligence"
        }
      ],
      "url": "https://www.producthunt.com/posts/lodol",
      "votes_count": 1284,
      "website_url": "https://www.producthunt.com/r/abcdef",
      "weekly_rank": 3,
      "yearly_rank": 140
    }
  ],
  "twitter_url": null,
  "website_url": "https://www.lodol.ai"
}
```

### Follow a person

Follow someone on Product Hunt as the connected account. The result says whether this changed anything, so following someone already followed is safe to repeat. Needs the 'write' scope, which Product Hunt grants on request at hello@producthunt.com.

**Inputs**

- Person (`user`, text, required): The person: their Product Hunt username (the handle in their profile URL), their profile URL, or their numeric id.

**Outputs**

- `changed` (true/false): Whether this call actually changed anything
- `is_following` (true/false): True: the account now follows them
- `user` (object)
- `was_following` (true/false): Whether the account already followed them

**Example output**

```json
{
  "changed": true,
  "is_following": true,
  "user": {
    "followers_count": 1840,
    "following_count": 320,
    "headline": "Building developer tools",
    "id": "12345",
    "is_following": true,
    "is_maker": true,
    "is_viewer": false,
    "name": "Ada Lovelace",
    "profile_image_url": "https://ph-avatars.imgix.net/12345/original",
    "twitter_username": "adalovelace",
    "url": "https://www.producthunt.com/@adalovelace",
    "username": "adalovelace",
    "website_url": "https://example.com"
  },
  "was_following": false
}
```

### Get a collection

Get one curated collection: its description, curator, follower count, topics and the launches inside it. Only published collections are readable.

**Inputs**

- Collection (`collection`, text, required): The collection: paste its Product Hunt URL, or give its slug or numeric id.
- Launches to include (`posts_limit`, number): How many launches from inside the collection to return, from 0 to 50. Defaults to 20. From 0 to 50. Default: `20`.

**Outputs**

- `collection` (object)

**Example output**

```json
{
  "collection": {
    "cover_image_url": "https://ph-files.imgix.net/collections/7788",
    "created_at": "2025-11-02T12:00:00Z",
    "curator": {
      "followers_count": 1840,
      "following_count": 320,
      "headline": "Building developer tools",
      "id": "12345",
      "is_following": false,
      "is_maker": true,
      "is_viewer": false,
      "name": "Ada Lovelace",
      "profile_image_url": "https://ph-avatars.imgix.net/12345/original",
      "twitter_username": "adalovelace",
      "url": "https://www.producthunt.com/@adalovelace",
      "username": "adalovelace",
      "website_url": "https://example.com"
    },
    "description": "A running list of the automation products worth trying.",
    "featured_at": "2025-11-05T12:00:00Z",
    "followers_count": 2140,
    "id": "7788",
    "is_featured": true,
    "is_following": false,
    "name": "AI automation tools",
    "posts": [
      {
        "comments_count": 96,
        "created_at": "2026-03-04T08:01:00Z",
        "daily_rank": 1,
        "description": "Lodol turns a sentence into a working automation.",
        "featured_at": "2026-03-04T08:01:00Z",
        "hunter": {
          "followers_count": 1840,
          "following_count": 320,
          "headline": "Building developer tools",
          "id": "12345",
          "is_following": false,
          "is_maker": true,
          "is_viewer": false,
          "name": "Ada Lovelace",
          "profile_image_url": "https://ph-avatars.imgix.net/12345/original",
          "twitter_username": "adalovelace",
          "url": "https://www.producthunt.com/@adalovelace",
          "username": "adalovelace",
          "website_url": "https://example.com"
        },
        "id": "987654",
        "is_featured": true,
        "monthly_rank": 11,
        "name": "Lodol",
        "reviews_count": 12,
        "reviews_rating": 4.8,
        "slug": "lodol",
        "tagline": "Automate anything with AI agents",
        "thumbnail_url": "https://ph-files.imgix.net/987654/original",
        "topic_slugs": [
          "artificial-intelligence"
        ],
        "topics": [
          {
            "created_at": "2014-03-11T18:02:00Z",
            "description": "Products powered by artificial intelligence.",
            "followers_count": 412000,
            "id": "44",
            "image_url": "https://ph-files.imgix.net/topics/44",
            "is_following": true,
            "name": "Artificial Intelligence",
            "posts_count": 18400,
            "slug": "artificial-intelligence",
            "url": "https://www.producthunt.com/topics/artificial-intelligence"
          }
        ],
        "url": "https://www.producthunt.com/posts/lodol",
        "votes_count": 1284,
        "website_url": "https://www.producthunt.com/r/abcdef",
        "weekly_rank": 3,
        "yearly_rank": 140
      }
    ],
    "posts_count": 1,
    "tagline": "Everything that runs itself",
    "topics": [
      {
        "created_at": "2014-03-11T18:02:00Z",
        "description": "Products powered by artificial intelligence.",
        "followers_count": 412000,
        "id": "44",
        "image_url": "https://ph-files.imgix.net/topics/44",
        "is_following": true,
        "name": "Artificial Intelligence",
        "posts_count": 18400,
        "slug": "artificial-intelligence",
        "url": "https://www.producthunt.com/topics/artificial-intelligence"
      }
    ],
    "total_posts_count": 34,
    "url": "https://www.producthunt.com/@adalovelace/collections/ai-automation-tools"
  }
}
```

### Get a comment

Get one comment by id, with its author, its upvotes, the comment it replies to, and the replies underneath it.

**Inputs**

- Comment ID (`comment_id`, text, required): The comment's id, as returned by 'List comments on a launch'. Comments have no slug.
- Replies per comment (`replies_limit`, number): How many replies to include under each comment, from 0 to 50. Set 0 to skip replies. Defaults to 10. From 0 to 50. Default: `10`.

**Outputs**

- `comment` (object)

**Example output**

```json
{
  "comment": {
    "body": "Congrats on the launch! How does it handle rate limits?",
    "created_at": "2026-03-04T09:14:00Z",
    "id": "5544332",
    "is_reply": false,
    "is_voted_by_me": false,
    "parent_id": null,
    "replies": [],
    "replies_count": 0,
    "total_replies_count": 0,
    "url": "https://www.producthunt.com/posts/lodol#comment-5544332",
    "user": {
      "followers_count": 1840,
      "following_count": 320,
      "headline": "Building developer tools",
      "id": "12345",
      "is_following": false,
      "is_maker": true,
      "is_viewer": false,
      "name": "Ada Lovelace",
      "profile_image_url": "https://ph-avatars.imgix.net/12345/original",
      "twitter_username": "adalovelace",
      "url": "https://www.producthunt.com/@adalovelace",
      "username": "adalovelace",
      "website_url": "https://example.com"
    },
    "votes_count": 18
  }
}
```

### Get a day's leaderboard

Get the launches Product Hunt featured on one date, in the order they finished (#1 first). A Product Hunt day runs midnight to midnight US Pacific time, which is what the daily rank is counted against, so that is the day used.

**Inputs**

- Date (`date`, date, required): The leaderboard day to read.
- How many (`limit`, number): How many launches to return, from 1 to 50. Defaults to 10. From 1 to 50. Default: `10`.

**Outputs**

- `date` (text): The Pacific date read
- `post_count` (number): How many posts were returned
- `posts` (list)
- `timezone` (text): The time zone the day was computed in
- `total_count` (number): How many exist in total, as Product Hunt reports it
- `window_end` (text): End of that Pacific day, in UTC
- `window_start` (text): Start of that Pacific day, in UTC

**Example output**

```json
{
  "date": "2026-03-04",
  "post_count": 1,
  "posts": [
    {
      "comments_count": 96,
      "created_at": "2026-03-04T08:01:00Z",
      "daily_rank": 1,
      "description": "Lodol turns a sentence into a working automation.",
      "featured_at": "2026-03-04T08:01:00Z",
      "hunter": {
        "followers_count": 1840,
        "following_count": 320,
        "headline": "Building developer tools",
        "id": "12345",
        "is_following": false,
        "is_maker": true,
        "is_viewer": false,
        "name": "Ada Lovelace",
        "profile_image_url": "https://ph-avatars.imgix.net/12345/original",
        "twitter_username": "adalovelace",
        "url": "https://www.producthunt.com/@adalovelace",
        "username": "adalovelace",
        "website_url": "https://example.com"
      },
      "id": "987654",
      "is_featured": true,
      "monthly_rank": 11,
      "name": "Lodol",
      "reviews_count": 12,
      "reviews_rating": 4.8,
      "slug": "lodol",
      "tagline": "Automate anything with AI agents",
      "thumbnail_url": "https://ph-files.imgix.net/987654/original",
      "topic_slugs": [
        "artificial-intelligence"
      ],
      "topics": [
        {
          "created_at": "2014-03-11T18:02:00Z",
          "description": "Products powered by artificial intelligence.",
          "followers_count": 412000,
          "id": "44",
          "image_url": "https://ph-files.imgix.net/topics/44",
          "is_following": true,
          "name": "Artificial Intelligence",
          "posts_count": 18400,
          "slug": "artificial-intelligence",
          "url": "https://www.producthunt.com/topics/artificial-intelligence"
        }
      ],
      "url": "https://www.producthunt.com/posts/lodol",
      "votes_count": 1284,
      "website_url": "https://www.producthunt.com/r/abcdef",
      "weekly_rank": 3,
      "yearly_rank": 140
    }
  ],
  "timezone": "America/Los_Angeles",
  "total_count": 1,
  "window_end": "2026-03-05T08:00:00Z",
  "window_start": "2026-03-04T08:00:00Z"
}
```

### Get a launch

Get one Product Hunt launch in full: its tagline and description, upvote, comment and review counts, its rank for the day, week, month and year, who hunted it, who made it, its topics, gallery media and product links.

**Inputs**

- Launch (`post`, text, required): The launch: paste its Product Hunt URL, or give its slug (the last part of that URL) or its numeric id.

**Outputs**

- `post` (object)

**Example output**

```json
{
  "post": {
    "comments_count": 96,
    "created_at": "2026-03-04T08:01:00Z",
    "daily_rank": 1,
    "description": "Lodol turns a sentence into a working automation.",
    "featured_at": "2026-03-04T08:01:00Z",
    "hunter": {
      "followers_count": 1840,
      "following_count": 320,
      "headline": "Building developer tools",
      "id": "12345",
      "is_following": false,
      "is_maker": true,
      "is_viewer": false,
      "name": "Ada Lovelace",
      "profile_image_url": "https://ph-avatars.imgix.net/12345/original",
      "twitter_username": "adalovelace",
      "url": "https://www.producthunt.com/@adalovelace",
      "username": "adalovelace",
      "website_url": "https://example.com"
    },
    "id": "987654",
    "is_collected_by_me": false,
    "is_featured": true,
    "is_voted_by_me": true,
    "makers": [
      {
        "followers_count": 1840,
        "following_count": 320,
        "headline": "Building developer tools",
        "id": "12345",
        "is_following": false,
        "is_maker": true,
        "is_viewer": false,
        "name": "Ada Lovelace",
        "profile_image_url": "https://ph-avatars.imgix.net/12345/original",
        "twitter_username": "adalovelace",
        "url": "https://www.producthunt.com/@adalovelace",
        "username": "adalovelace",
        "website_url": "https://example.com"
      }
    ],
    "media": [
      {
        "type": "image",
        "url": "https://ph-files.imgix.net/987654/gallery-1",
        "video_url": null
      }
    ],
    "monthly_rank": 11,
    "name": "Lodol",
    "product_links": [
      {
        "type": "website",
        "url": "https://www.lodol.ai"
      }
    ],
    "reviews_count": 12,
    "reviews_rating": 4.8,
    "scheduled_at": null,
    "slug": "lodol",
    "tagline": "Automate anything with AI agents",
    "thumbnail_url": "https://ph-files.imgix.net/987654/original",
    "topic_slugs": [
      "artificial-intelligence"
    ],
    "topics": [
      {
        "created_at": "2014-03-11T18:02:00Z",
        "description": "Products powered by artificial intelligence.",
        "followers_count": 412000,
        "id": "44",
        "image_url": "https://ph-files.imgix.net/topics/44",
        "is_following": true,
        "name": "Artificial Intelligence",
        "posts_count": 18400,
        "slug": "artificial-intelligence",
        "url": "https://www.producthunt.com/topics/artificial-intelligence"
      }
    ],
    "url": "https://www.producthunt.com/posts/lodol",
    "votes_count": 1284,
    "website_url": "https://www.producthunt.com/r/abcdef",
    "weekly_rank": 3,
    "yearly_rank": 140
  }
}
```

### Get a person

Get one Product Hunt profile: name, handle, headline, links, follower and following counts, and whether the connected account already follows them. Product Hunt redacts most of a profile for anyone but the token's own user, so a blank field means 'not visible', not 'empty'.

**Inputs**

- Person (`user`, text, required): The person: their Product Hunt username (the handle in their profile URL), their profile URL, or their numeric id.

**Outputs**

- `user` (object)

**Example output**

```json
{
  "user": {
    "followers_count": 1840,
    "following_count": 320,
    "headline": "Building developer tools",
    "id": "12345",
    "is_following": false,
    "is_maker": true,
    "is_viewer": false,
    "name": "Ada Lovelace",
    "profile_image_url": "https://ph-avatars.imgix.net/12345/original",
    "twitter_username": "adalovelace",
    "url": "https://www.producthunt.com/@adalovelace",
    "username": "adalovelace",
    "website_url": "https://example.com"
  }
}
```

### Get a topic

Get one topic: what it covers, how many people follow it, how many launches are filed under it, and whether the connected account follows it.

**Inputs**

- Topic (`topic`, text, required): The topic to look up. Pick one from the list, or give a topic slug, topic URL or id from an earlier step.

**Outputs**

- `topic` (object)

**Example output**

```json
{
  "topic": {
    "created_at": "2014-03-11T18:02:00Z",
    "description": "Products powered by artificial intelligence.",
    "followers_count": 412000,
    "id": "44",
    "image_url": "https://ph-files.imgix.net/topics/44",
    "is_following": true,
    "name": "Artificial Intelligence",
    "posts_count": 18400,
    "slug": "artificial-intelligence",
    "url": "https://www.producthunt.com/topics/artificial-intelligence"
  }
}
```

### Get my profile

Get the Product Hunt profile the connected token belongs to. Use it to confirm which account a workflow is acting as, or to get your own user id and handle for the other actions.

**Inputs**: None.

**Outputs**

- `user` (object)

**Example output**

```json
{
  "user": {
    "followers_count": 1840,
    "following_count": 320,
    "headline": "Building developer tools",
    "id": "12345",
    "is_following": false,
    "is_maker": true,
    "is_viewer": true,
    "name": "Ada Lovelace",
    "profile_image_url": "https://ph-avatars.imgix.net/12345/original",
    "twitter_username": "adalovelace",
    "url": "https://www.producthunt.com/@adalovelace",
    "username": "adalovelace",
    "website_url": "https://example.com"
  }
}
```

### List a comment's upvoters

List the people who upvoted one comment, newest first, each with the moment they upvoted.

**Inputs**

- Comment ID (`comment_id`, text, required): The comment's id, as returned by 'List comments on a launch'. Comments have no slug.
- Upvoted after (`created_after`, date and time): Only include upvotes cast at or after this moment. Optional.
- Upvoted before (`created_before`, date and time): Only include upvotes cast before this moment. Optional.
- How many (`limit`, number): How many upvoters to return, from 1 to 100. Defaults to 20. From 1 to 100. Default: `20`.

**Outputs**

- `comment` (object): The comment these upvotes belong to
- `created_after` (text)
- `created_before` (text)
- `total_count` (number): How many exist in total, as Product Hunt reports it
- `upvoter_count` (number): How many upvoters were returned
- `upvoters` (list)

**Example output**

```json
{
  "comment": {
    "body": "Congrats on the launch! How does it handle rate limits?",
    "created_at": "2026-03-04T09:14:00Z",
    "id": "5544332",
    "url": "https://www.producthunt.com/posts/lodol#comment-5544332",
    "votes_count": 18
  },
  "created_after": null,
  "created_before": null,
  "total_count": 18,
  "upvoter_count": 1,
  "upvoters": [
    {
      "followers_count": 1840,
      "following_count": 320,
      "headline": "Building developer tools",
      "id": "12345",
      "is_following": false,
      "is_maker": true,
      "is_viewer": false,
      "name": "Ada Lovelace",
      "profile_image_url": "https://ph-avatars.imgix.net/12345/original",
      "twitter_username": "adalovelace",
      "url": "https://www.producthunt.com/@adalovelace",
      "username": "adalovelace",
      "vote_id": "31415926",
      "voted_at": "2026-03-04T08:22:00Z",
      "website_url": "https://example.com"
    }
  ]
}
```

### List a launch's upvoters

List the people who upvoted a launch, newest first, each with the moment they upvoted. Narrow to a window to see who voted during a push.

**Inputs**

- Launch (`post`, text, required): The launch: paste its Product Hunt URL, or give its slug (the last part of that URL) or its numeric id.
- Upvoted after (`created_after`, date and time): Only include upvotes cast at or after this moment. Optional.
- Upvoted before (`created_before`, date and time): Only include upvotes cast before this moment. Optional.
- How many (`limit`, number): How many upvoters to return, from 1 to 100. Defaults to 20. From 1 to 100. Default: `20`.

**Outputs**

- `created_after` (text)
- `created_before` (text)
- `post` (object): The launch these records belong to
- `total_count` (number): How many exist in total, as Product Hunt reports it
- `upvoter_count` (number): How many upvoters were returned
- `upvoters` (list)

**Example output**

```json
{
  "created_after": null,
  "created_before": null,
  "post": {
    "comments_count": 96,
    "id": "987654",
    "name": "Lodol",
    "slug": "lodol",
    "tagline": "Automate anything with AI agents",
    "url": "https://www.producthunt.com/posts/lodol",
    "votes_count": 1284
  },
  "total_count": 1284,
  "upvoter_count": 1,
  "upvoters": [
    {
      "followers_count": 1840,
      "following_count": 320,
      "headline": "Building developer tools",
      "id": "12345",
      "is_following": false,
      "is_maker": true,
      "is_viewer": false,
      "name": "Ada Lovelace",
      "profile_image_url": "https://ph-avatars.imgix.net/12345/original",
      "twitter_username": "adalovelace",
      "url": "https://www.producthunt.com/@adalovelace",
      "username": "adalovelace",
      "vote_id": "31415926",
      "voted_at": "2026-03-04T08:22:00Z",
      "website_url": "https://example.com"
    }
  ]
}
```

### List a person's launches

List the launches a person made, submitted (hunted) or upvoted. 'Made' and 'submitted' differ: the hunter who posts a launch is often not one of its makers.

**Inputs**

- Person (`user`, text, required): The person: their Product Hunt username (the handle in their profile URL), their profile URL, or their numeric id.
- Their part in it (`relationship`, text): Which of the person's launches to list. One of: `made` (Made (credited as a maker)), `submitted` (Submitted (posted the launch)), `voted` (Upvoted). Default: `made`.
- How many (`limit`, number): How many launches to return, from 1 to 100. Defaults to 20. From 1 to 100. Default: `20`.

**Outputs**

- `post_count` (number): How many posts were returned
- `posts` (list)
- `relationship` (text): made, submitted or voted
- `total_count` (number): How many exist in total, as Product Hunt reports it
- `user` (object)

**Example output**

```json
{
  "post_count": 1,
  "posts": [
    {
      "comments_count": 96,
      "created_at": "2026-03-04T08:01:00Z",
      "daily_rank": 1,
      "description": "Lodol turns a sentence into a working automation.",
      "featured_at": "2026-03-04T08:01:00Z",
      "hunter": {
        "followers_count": 1840,
        "following_count": 320,
        "headline": "Building developer tools",
        "id": "12345",
        "is_following": false,
        "is_maker": true,
        "is_viewer": false,
        "name": "Ada Lovelace",
        "profile_image_url": "https://ph-avatars.imgix.net/12345/original",
        "twitter_username": "adalovelace",
        "url": "https://www.producthunt.com/@adalovelace",
        "username": "adalovelace",
        "website_url": "https://example.com"
      },
      "id": "987654",
      "is_featured": true,
      "monthly_rank": 11,
      "name": "Lodol",
      "reviews_count": 12,
      "reviews_rating": 4.8,
      "slug": "lodol",
      "tagline": "Automate anything with AI agents",
      "thumbnail_url": "https://ph-files.imgix.net/987654/original",
      "topic_slugs": [
        "artificial-intelligence"
      ],
      "topics": [
        {
          "created_at": "2014-03-11T18:02:00Z",
          "description": "Products powered by artificial intelligence.",
          "followers_count": 412000,
          "id": "44",
          "image_url": "https://ph-files.imgix.net/topics/44",
          "is_following": true,
          "name": "Artificial Intelligence",
          "posts_count": 18400,
          "slug": "artificial-intelligence",
          "url": "https://www.producthunt.com/topics/artificial-intelligence"
        }
      ],
      "url": "https://www.producthunt.com/posts/lodol",
      "votes_count": 1284,
      "website_url": "https://www.producthunt.com/r/abcdef",
      "weekly_rank": 3,
      "yearly_rank": 140
    }
  ],
  "relationship": "made",
  "total_count": 1,
  "user": {
    "followers_count": 1840,
    "following_count": 320,
    "headline": "Building developer tools",
    "id": "12345",
    "is_following": false,
    "is_maker": true,
    "is_viewer": false,
    "name": "Ada Lovelace",
    "profile_image_url": "https://ph-avatars.imgix.net/12345/original",
    "twitter_username": "adalovelace",
    "url": "https://www.producthunt.com/@adalovelace",
    "username": "adalovelace",
    "website_url": "https://example.com"
  }
}
```

### List collections

List curated collections: all of them, only featured ones, only one person's, or only the ones that hold a given launch.

**Inputs**

- Featured (`featured`, text): Whether to include only featured collections. One of: `any` (Any (featured or not)), `featured` (Featured only), `not_featured` (Not featured only). Default: `any`.
- Order (`order`, text): How to sort the collections. One of: `featured_at` (Most recently featured first), `followers` (Most followers first), `newest` (Newest first). Default: `featured_at`.
- Person (`user`, text): The person: their Product Hunt username (the handle in their profile URL), their profile URL, or their numeric id. Leave blank to skip this filter.
- Launch (`post`, text): The launch: paste its Product Hunt URL, or give its slug (the last part of that URL) or its numeric id. Leave blank to skip this filter.
- How many (`limit`, number): How many collections to return, from 1 to 100. Defaults to 20. From 1 to 100. Default: `20`.

**Outputs**

- `collection_count` (number): How many collections were returned
- `collections` (list)
- `featured` (text)
- `order` (text)
- `post_id` (text): The launch filtered on, if any
- `total_count` (number): How many exist in total, as Product Hunt reports it
- `user_id` (text): The curator filtered on, if any

**Example output**

```json
{
  "collection_count": 1,
  "collections": [
    {
      "cover_image_url": "https://ph-files.imgix.net/collections/7788",
      "created_at": "2025-11-02T12:00:00Z",
      "curator": {
        "followers_count": 1840,
        "following_count": 320,
        "headline": "Building developer tools",
        "id": "12345",
        "is_following": false,
        "is_maker": true,
        "is_viewer": false,
        "name": "Ada Lovelace",
        "profile_image_url": "https://ph-avatars.imgix.net/12345/original",
        "twitter_username": "adalovelace",
        "url": "https://www.producthunt.com/@adalovelace",
        "username": "adalovelace",
        "website_url": "https://example.com"
      },
      "description": "A running list of the automation products worth trying.",
      "featured_at": "2025-11-05T12:00:00Z",
      "followers_count": 2140,
      "id": "7788",
      "is_featured": true,
      "is_following": false,
      "name": "AI automation tools",
      "tagline": "Everything that runs itself",
      "url": "https://www.producthunt.com/@adalovelace/collections/ai-automation-tools"
    }
  ],
  "featured": "any",
  "order": "featured_at",
  "post_id": null,
  "total_count": 1,
  "user_id": null
}
```

### List collections a person follows

List the curated collections one person follows.

**Inputs**

- Person (`user`, text, required): The person: their Product Hunt username (the handle in their profile URL), their profile URL, or their numeric id.
- How many (`limit`, number): How many collections to return, from 1 to 100. Defaults to 20. From 1 to 100. Default: `20`.

**Outputs**

- `collection_count` (number): How many collections were returned
- `collections` (list)
- `total_count` (number): How many exist in total, as Product Hunt reports it
- `user` (object)

**Example output**

```json
{
  "collection_count": 1,
  "collections": [
    {
      "cover_image_url": "https://ph-files.imgix.net/collections/7788",
      "created_at": "2025-11-02T12:00:00Z",
      "curator": {
        "followers_count": 1840,
        "following_count": 320,
        "headline": "Building developer tools",
        "id": "12345",
        "is_following": false,
        "is_maker": true,
        "is_viewer": false,
        "name": "Ada Lovelace",
        "profile_image_url": "https://ph-avatars.imgix.net/12345/original",
        "twitter_username": "adalovelace",
        "url": "https://www.producthunt.com/@adalovelace",
        "username": "adalovelace",
        "website_url": "https://example.com"
      },
      "description": "A running list of the automation products worth trying.",
      "featured_at": "2025-11-05T12:00:00Z",
      "followers_count": 2140,
      "id": "7788",
      "is_featured": true,
      "is_following": false,
      "name": "AI automation tools",
      "tagline": "Everything that runs itself",
      "url": "https://www.producthunt.com/@adalovelace/collections/ai-automation-tools"
    }
  ],
  "total_count": 1,
  "user": {
    "followers_count": 1840,
    "following_count": 320,
    "headline": "Building developer tools",
    "id": "12345",
    "is_following": false,
    "is_maker": true,
    "is_viewer": false,
    "name": "Ada Lovelace",
    "profile_image_url": "https://ph-avatars.imgix.net/12345/original",
    "twitter_username": "adalovelace",
    "url": "https://www.producthunt.com/@adalovelace",
    "username": "adalovelace",
    "website_url": "https://example.com"
  }
}
```

### List comments on a launch

Read the discussion under a launch: each comment with its author, upvotes and the replies underneath it. Sort by newest or by most upvoted.

**Inputs**

- Launch (`post`, text, required): The launch: paste its Product Hunt URL, or give its slug (the last part of that URL) or its numeric id.
- Order (`order`, text): How to sort the comments. One of: `newest` (Newest first), `votes` (Most upvoted first). Default: `newest`.
- Include replies (`include_replies`, true/false): Include the replies under each comment. Default: `true`.
- Replies per comment (`replies_limit`, number): How many replies to include under each comment, from 0 to 50. Set 0 to skip replies. Defaults to 10. From 0 to 50. Default: `10`.
- How many (`limit`, number): How many comments to return, from 1 to 100. Defaults to 20. From 1 to 100. Default: `20`.

**Outputs**

- `comment_count` (number): How many comments were returned
- `comments` (list)
- `order` (text): The ordering used
- `post` (object): The launch these records belong to
- `total_count` (number): How many exist in total, as Product Hunt reports it

**Example output**

```json
{
  "comment_count": 1,
  "comments": [
    {
      "body": "Congrats on the launch! How does it handle rate limits?",
      "created_at": "2026-03-04T09:14:00Z",
      "id": "5544332",
      "is_reply": false,
      "is_voted_by_me": false,
      "parent_id": null,
      "replies": [],
      "replies_count": 0,
      "url": "https://www.producthunt.com/posts/lodol#comment-5544332",
      "user": {
        "followers_count": 1840,
        "following_count": 320,
        "headline": "Building developer tools",
        "id": "12345",
        "is_following": false,
        "is_maker": true,
        "is_viewer": false,
        "name": "Ada Lovelace",
        "profile_image_url": "https://ph-avatars.imgix.net/12345/original",
        "twitter_username": "adalovelace",
        "url": "https://www.producthunt.com/@adalovelace",
        "username": "adalovelace",
        "website_url": "https://example.com"
      },
      "votes_count": 18
    }
  ],
  "order": "newest",
  "post": {
    "comments_count": 96,
    "id": "987654",
    "name": "Lodol",
    "slug": "lodol",
    "tagline": "Automate anything with AI agents",
    "url": "https://www.producthunt.com/posts/lodol",
    "votes_count": 1284
  },
  "total_count": 96
}
```

### List launches

List Product Hunt launches, newest, most upvoted, most recently featured, or in Product Hunt's own ranking order. Narrow by topic, by whether they were featured, and by when they were posted. Product Hunt searches roughly the last month unless 'Posted after' is set.

**Inputs**

- Order (`order`, text): How to sort the launches. One of: `ranking` (Ranking (the order Product Hunt shows them in)), `newest` (Newest first), `votes` (Most upvoted first), `featured_at` (Most recently featured first). Default: `ranking`.
- Featured (`featured`, text): Whether to include only launches Product Hunt featured on its homepage. One of: `any` (Any (featured or not)), `featured` (Featured only), `not_featured` (Not featured only). Default: `any`.
- Topic (`topic`, text): Only include launches filed under this topic. Pick one from the list, or reference a topic slug from an earlier step. Leave blank for all topics.
- Posted after (`posted_after`, date and time): Only include launches posted at or after this moment. Leave blank and Product Hunt searches roughly the last month; set this to look further back.
- Posted before (`posted_before`, date and time): Only include launches posted before this moment. Optional.
- How many (`limit`, number): How many launches to return, from 1 to 100. Defaults to 20. From 1 to 100. Default: `20`.

**Outputs**

- `default_window_applied` (true/false): True when no start was given, so Product Hunt limited the search to roughly the last month
- `featured` (text): The featured filter used
- `order` (text): The ordering used
- `post_count` (number): How many posts were returned
- `posted_after` (text): Start of the window searched
- `posted_before` (text): End of the window searched
- `posts` (list)
- `topic` (text): The topic slug filtered on
- `total_count` (number): How many exist in total, as Product Hunt reports it

**Example output**

```json
{
  "default_window_applied": true,
  "featured": "any",
  "order": "ranking",
  "post_count": 1,
  "posted_after": null,
  "posted_before": null,
  "posts": [
    {
      "comments_count": 96,
      "created_at": "2026-03-04T08:01:00Z",
      "daily_rank": 1,
      "description": "Lodol turns a sentence into a working automation.",
      "featured_at": "2026-03-04T08:01:00Z",
      "hunter": {
        "followers_count": 1840,
        "following_count": 320,
        "headline": "Building developer tools",
        "id": "12345",
        "is_following": false,
        "is_maker": true,
        "is_viewer": false,
        "name": "Ada Lovelace",
        "profile_image_url": "https://ph-avatars.imgix.net/12345/original",
        "twitter_username": "adalovelace",
        "url": "https://www.producthunt.com/@adalovelace",
        "username": "adalovelace",
        "website_url": "https://example.com"
      },
      "id": "987654",
      "is_featured": true,
      "monthly_rank": 11,
      "name": "Lodol",
      "reviews_count": 12,
      "reviews_rating": 4.8,
      "slug": "lodol",
      "tagline": "Automate anything with AI agents",
      "thumbnail_url": "https://ph-files.imgix.net/987654/original",
      "topic_slugs": [
        "artificial-intelligence"
      ],
      "topics": [
        {
          "created_at": "2014-03-11T18:02:00Z",
          "description": "Products powered by artificial intelligence.",
          "followers_count": 412000,
          "id": "44",
          "image_url": "https://ph-files.imgix.net/topics/44",
          "is_following": true,
          "name": "Artificial Intelligence",
          "posts_count": 18400,
          "slug": "artificial-intelligence",
          "url": "https://www.producthunt.com/topics/artificial-intelligence"
        }
      ],
      "url": "https://www.producthunt.com/posts/lodol",
      "votes_count": 1284,
      "website_url": "https://www.producthunt.com/r/abcdef",
      "weekly_rank": 3,
      "yearly_rank": 140
    }
  ],
  "topic": null,
  "total_count": 1
}
```

### List topics a person follows

List the topics one person follows: what they have told Product Hunt they want to hear about.

**Inputs**

- Person (`user`, text, required): The person: their Product Hunt username (the handle in their profile URL), their profile URL, or their numeric id.
- How many (`limit`, number): How many topics to return, from 1 to 100. Defaults to 20. From 1 to 100. Default: `20`.

**Outputs**

- `topic_count` (number): How many topics were returned
- `topics` (list)
- `total_count` (number): How many exist in total, as Product Hunt reports it
- `user` (object)

**Example output**

```json
{
  "topic_count": 1,
  "topics": [
    {
      "created_at": "2014-03-11T18:02:00Z",
      "description": "Products powered by artificial intelligence.",
      "followers_count": 412000,
      "id": "44",
      "image_url": "https://ph-files.imgix.net/topics/44",
      "is_following": true,
      "name": "Artificial Intelligence",
      "posts_count": 18400,
      "slug": "artificial-intelligence",
      "url": "https://www.producthunt.com/topics/artificial-intelligence"
    }
  ],
  "total_count": 1,
  "user": {
    "id": "12345",
    "username": "adalovelace"
  }
}
```

### Search launches

Find launches whose name, tagline, description or topics mention some text. Every word has to appear somewhere in the launch, so two words narrow the result rather than widen it. Product Hunt has no text search for launches, so this reads the feed the filters describe and matches over it; narrow the dates or the topic to search further back.

**Inputs**

- Search text (`query`, text, required): The words to look for, e.g. 'ai notetaker'.
- Topic (`topic`, text): Only include launches filed under this topic. Pick one from the list, or reference a topic slug from an earlier step. Leave blank for all topics.
- Posted after (`posted_after`, date and time): Only include launches posted at or after this moment. Leave blank and Product Hunt searches roughly the last month; set this to look further back.
- Posted before (`posted_before`, date and time): Only include launches posted before this moment. Optional.
- Order (`order`, text): How to sort the launches before matching. One of: `ranking` (Ranking (the order Product Hunt shows them in)), `newest` (Newest first), `votes` (Most upvoted first), `featured_at` (Most recently featured first). Default: `ranking`.
- How many (`limit`, number): How many matches to return, from 1 to 100. Defaults to 20. From 1 to 100. Default: `20`.
- Scan limit (`scan_limit`, number): How many launches to read while searching to return, from 20 to 500. Defaults to 200. From 20 to 500. Default: `200`.

**Outputs**

- `default_window_applied` (true/false)
- `order` (text)
- `post_count` (number): How many posts were returned
- `posted_after` (text)
- `posted_before` (text)
- `posts` (list)
- `query` (text): The text searched for
- `scan_limit_reached` (true/false): True when the search stopped at its scan limit rather than at the end of the feed
- `scanned_count` (number): How many launches were read while searching
- `topic` (text)
- `total_count` (number): How many exist in total, as Product Hunt reports it

**Example output**

```json
{
  "default_window_applied": true,
  "order": "ranking",
  "post_count": 1,
  "posted_after": null,
  "posted_before": null,
  "posts": [
    {
      "comments_count": 96,
      "created_at": "2026-03-04T08:01:00Z",
      "daily_rank": 1,
      "description": "Lodol turns a sentence into a working automation.",
      "featured_at": "2026-03-04T08:01:00Z",
      "hunter": {
        "followers_count": 1840,
        "following_count": 320,
        "headline": "Building developer tools",
        "id": "12345",
        "is_following": false,
        "is_maker": true,
        "is_viewer": false,
        "name": "Ada Lovelace",
        "profile_image_url": "https://ph-avatars.imgix.net/12345/original",
        "twitter_username": "adalovelace",
        "url": "https://www.producthunt.com/@adalovelace",
        "username": "adalovelace",
        "website_url": "https://example.com"
      },
      "id": "987654",
      "is_featured": true,
      "monthly_rank": 11,
      "name": "Lodol",
      "reviews_count": 12,
      "reviews_rating": 4.8,
      "slug": "lodol",
      "tagline": "Automate anything with AI agents",
      "thumbnail_url": "https://ph-files.imgix.net/987654/original",
      "topic_slugs": [
        "artificial-intelligence"
      ],
      "topics": [
        {
          "created_at": "2014-03-11T18:02:00Z",
          "description": "Products powered by artificial intelligence.",
          "followers_count": 412000,
          "id": "44",
          "image_url": "https://ph-files.imgix.net/topics/44",
          "is_following": true,
          "name": "Artificial Intelligence",
          "posts_count": 18400,
          "slug": "artificial-intelligence",
          "url": "https://www.producthunt.com/topics/artificial-intelligence"
        }
      ],
      "url": "https://www.producthunt.com/posts/lodol",
      "votes_count": 1284,
      "website_url": "https://www.producthunt.com/r/abcdef",
      "weekly_rank": 3,
      "yearly_rank": 140
    }
  ],
  "query": "ai automation",
  "scan_limit_reached": true,
  "scanned_count": 200,
  "topic": null,
  "total_count": 4210
}
```

### Search topics

Find topics by name, or list the most-followed topics when no text is given. Use it to find the topic slug the launch feed filters on.

**Inputs**

- Search text (`query`, text): Match topics whose name or aliases contain this text. Leave blank to list the most-followed topics.
- Order (`order`, text): How to sort the topics. One of: `followers` (Most followers first), `newest` (Newest first). Default: `followers`.
- How many (`limit`, number): How many topics to return, from 1 to 100. Defaults to 20. From 1 to 100. Default: `20`.

**Outputs**

- `order` (text)
- `query` (text)
- `topic_count` (number): How many topics were returned
- `topics` (list)
- `total_count` (number): How many exist in total, as Product Hunt reports it

**Example output**

```json
{
  "order": "followers",
  "query": "artificial",
  "topic_count": 1,
  "topics": [
    {
      "created_at": "2014-03-11T18:02:00Z",
      "description": "Products powered by artificial intelligence.",
      "followers_count": 412000,
      "id": "44",
      "image_url": "https://ph-files.imgix.net/topics/44",
      "is_following": true,
      "name": "Artificial Intelligence",
      "posts_count": 18400,
      "slug": "artificial-intelligence",
      "url": "https://www.producthunt.com/topics/artificial-intelligence"
    }
  ],
  "total_count": 1
}
```

### Unfollow a person

Stop following someone on Product Hunt as the connected account. The result says whether this changed anything, so unfollowing someone not followed is safe to repeat. Needs the 'write' scope, which Product Hunt grants on request at hello@producthunt.com.

**Inputs**

- Person (`user`, text, required): The person: their Product Hunt username (the handle in their profile URL), their profile URL, or their numeric id.

**Outputs**

- `changed` (true/false): Whether this call actually changed anything
- `is_following` (true/false): False: the account no longer follows them
- `user` (object)
- `was_following` (true/false): Whether the account followed them before

**Example output**

```json
{
  "changed": true,
  "is_following": false,
  "user": {
    "followers_count": 1840,
    "following_count": 320,
    "headline": "Building developer tools",
    "id": "12345",
    "is_following": false,
    "is_maker": true,
    "is_viewer": false,
    "name": "Ada Lovelace",
    "profile_image_url": "https://ph-avatars.imgix.net/12345/original",
    "twitter_username": "adalovelace",
    "url": "https://www.producthunt.com/@adalovelace",
    "username": "adalovelace",
    "website_url": "https://example.com"
  },
  "was_following": true
}
```
