producthunt

Search Product Hunt launches, products, and makers via the GraphQL V2 API. Use when the user asks about Product Hunt launches, trending products, or wants to research a product's reception. Requires a free developer token (~2 min setup).

176 stars

Best use case

producthunt is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Search Product Hunt launches, products, and makers via the GraphQL V2 API. Use when the user asks about Product Hunt launches, trending products, or wants to research a product's reception. Requires a free developer token (~2 min setup).

Teams using producthunt should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/producthunt/SKILL.md --create-dirs "https://raw.githubusercontent.com/dylanfeltus/skills/main/producthunt/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/producthunt/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How producthunt Compares

Feature / AgentproducthuntStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Search Product Hunt launches, products, and makers via the GraphQL V2 API. Use when the user asks about Product Hunt launches, trending products, or wants to research a product's reception. Requires a free developer token (~2 min setup).

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

Related Guides

SKILL.md Source

# Product Hunt Search & Monitoring

Search for products, track launches, and monitor Product Hunt activity via the GraphQL V2 API.

## When to Use

- User asks about a product's Product Hunt launch or performance
- User wants to find trending products in a category
- User wants to monitor Product Hunt for competitors or similar products
- User asks "what launched on Product Hunt today/this week"
- User wants to research a product's reception on PH

## Requirements

**API Token Required.** The Product Hunt API requires authentication — but it's **free and takes ~2 minutes** to set up.

### Getting a Token

1. Go to [API Dashboard](https://www.producthunt.com/v2/oauth/applications)
2. Create an application (any name/URL works)
3. Use the **Developer Token** at the bottom of your app's page (no OAuth flow needed for read-only access)
4. Store the token in an environment variable: `PH_API_TOKEN`

If no token is available, fall back to using `web_search` with `site:producthunt.com` queries.

## Key Limitation: No Text Search

The Product Hunt API **does not support free-text search on posts**. You can browse by topic, date, or get a specific post by slug — but you cannot search "AI writing tool" and get matching products.

**To find a product by name**, use `web_search` first:
```
web_search: site:producthunt.com/posts "product name"
```
Then use the slug from the result to query the API for full details (votes, comments, makers, etc.).

## API Overview

- **Endpoint:** `https://api.producthunt.com/v2/api/graphql`
- **Method:** POST
- **Auth:** `Authorization: Bearer {token}`
- **Format:** GraphQL
- **Rate Limit:** ~900 requests per 15 minutes, complexity limit of 1000 per query

## How to Query

Use `exec` with `curl` to make GraphQL requests:

```bash
curl -s -X POST https://api.producthunt.com/v2/api/graphql \
  -H "Authorization: Bearer $PH_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"query": "YOUR_GRAPHQL_QUERY"}'
```

## Common Queries

### Today's Top Posts

```graphql
query {
  posts(order: VOTES, first: 10) {
    edges {
      node {
        id
        name
        tagline
        votesCount
        commentsCount
        url
        website
        createdAt
        makers {
          name
          username
        }
        topics {
          edges {
            node {
              name
            }
          }
        }
      }
    }
  }
}
```

### Browse Posts by Topic

```graphql
query {
  posts(order: VOTES, first: 10, topic: "developer-tools") {
    edges {
      node {
        id
        name
        tagline
        votesCount
        url
        website
      }
    }
  }
}
```

**Remember:** This browses a topic — it's not a text search. To find a specific product by name, use `web_search` with `site:producthunt.com/posts "product name"`, then look up the post by slug via the API.

### Get a Specific Post

```graphql
query {
  post(slug: "chatgpt") {
    id
    name
    tagline
    description
    votesCount
    commentsCount
    reviewsCount
    reviewsRating
    url
    website
    createdAt
    featuredAt
    makers {
      name
      username
      headline
    }
    topics {
      edges {
        node {
          name
          slug
        }
      }
    }
    comments(first: 5) {
      edges {
        node {
          body
          votesCount
          createdAt
          user {
            name
            username
          }
        }
      }
    }
  }
}
```

### Get Posts by Topic

```graphql
query {
  topic(slug: "artificial-intelligence") {
    name
    postsCount
    posts(first: 10, order: VOTES) {
      edges {
        node {
          name
          tagline
          votesCount
          url
          createdAt
        }
      }
    }
  }
}
```

### Get Posts for a Specific Date

```graphql
query {
  posts(postedAfter: "2024-01-15T00:00:00Z", postedBefore: "2024-01-16T00:00:00Z", order: VOTES, first: 10) {
    edges {
      node {
        name
        tagline
        votesCount
        url
      }
    }
  }
}
```

### Look Up a User

```graphql
query {
  user(username: "rrhoover") {
    name
    username
    headline
    followersCount
    followingCount
    madePosts(first: 5) {
      edges {
        node {
          name
          tagline
          votesCount
          url
        }
      }
    }
  }
}
```

## Available Topics (Common Slugs)

- `artificial-intelligence`, `developer-tools`, `design-tools`
- `productivity`, `marketing`, `saas`, `fintech`
- `no-code`, `open-source`, `social-media`
- `web-app`, `iphone`, `android`, `mac`, `chrome-extensions`

For a full list, query:
```graphql
query { topics(first: 50, order: FOLLOWERS_COUNT) { edges { node { name slug followersCount } } } }
```

## Constructing Product Hunt Links

- **Product page:** `https://www.producthunt.com/posts/{slug}`
- **User profile:** `https://www.producthunt.com/@{username}`
- **Topic page:** `https://www.producthunt.com/topics/{slug}`

## Fallback: No API Token

If no `PH_API_TOKEN` is available:

1. Use `web_search` with queries like:
   - `site:producthunt.com/posts "product name"`
   - `site:producthunt.com "topic" launched`
2. Use `web_fetch` on specific Product Hunt URLs to get basic info
3. Inform the user that richer data (vote counts, comments, maker info) requires an API token

## Output Format

```
### Product Hunt Results

1. **Product Name** — Tagline
   🔼 votes · 💬 comments · ⭐ rating
   By @maker_username
   Topics: AI, Developer Tools
   🔗 product_url
   🏠 website_url
   📅 launched_date

2. ...
```

## Error Handling

- **401 Unauthorized:** Token is invalid or expired. Check `PH_API_TOKEN`.
- **429 Rate Limited:** Wait 15 minutes for rate limit reset.
- **Complexity limit exceeded:** Reduce the number of fields or nested queries. Remove `comments`, `topics`, or `makers` sub-queries.
- **Post not found:** The slug may be wrong. Try searching with `web_search` first to confirm the exact slug.
- **No results for topic:** Check the topic slug — use the topics query to find valid slugs.

## Examples

### Example 1: "What launched on Product Hunt today?"

Query today's posts sorted by votes, present top 10.

### Example 2: "How did Linear do on Product Hunt?"

1. Search: `web_search "site:producthunt.com/posts linear"`
2. Get the slug from results
3. Query: `post(slug: "linear-5")` with full details

### Example 3: "Show me top AI tools on Product Hunt this month"

1. Query posts by topic `artificial-intelligence` with date filters
2. Sort by votes, present top results

## Data Source

[Product Hunt API V2](https://api.producthunt.com/v2/docs) — GraphQL API, requires free developer token.

Related Skills

visual-qa

176
from dylanfeltus/skills

Use vision models to self-review screenshots against design intent. Catches spacing issues, alignment problems, color inconsistencies, responsive bugs, and accessibility gaps. Use when reviewing designs, comparing implementations to mockups, or doing pre-ship QA.

trademark-search

176
from dylanfeltus/skills

Search the USPTO trademark database to check name availability and get registration details. Use when the user wants to check if a name is trademarked, research trademark availability, or look up registration status. No API key required.

recursive-improvement

176
from dylanfeltus/skills

A pattern for generating higher-quality output by iterating against explicit scoring criteria. Use for headlines, CTAs, landing page copy, social content, ad copy — anything where quality matters. Generate → Evaluate → Diagnose → Improve → Repeat.

privacy-cards

176
from dylanfeltus/skills

Create and manage Privacy.com virtual cards for agent spending. Use when an agent needs to make a purchase, buy a domain, pay for a service, or needs a disposable card with a spending limit. Requires a Privacy.com account and API key.

motion-design-patterns

176
from dylanfeltus/skills

Framer Motion (Motion) animation patterns for React — springs, staggers, layout animations, micro-interactions, scroll effects, and page transitions. Use when building or improving UI animations, adding polish, or making interfaces feel premium.

hn-search

176
from dylanfeltus/skills

Search and monitor Hacker News stories, comments, and users via the free Algolia API. Use when the user asks about HN discussions, wants to find posts about a topic, or monitor HN for mentions. No API key required.

design-tokens

176
from dylanfeltus/skills

Generate type scales, color palettes, spacing systems, WCAG contrast checks, and dark mode derivations with math. Use when setting up a design system, creating tokens, or building a Tailwind/CSS theme. Outputs CSS custom properties, Tailwind config, or JSON tokens.

creative-direction

176
from dylanfeltus/skills

Image prompt templates, model selection guidance, and anti-generic patterns for generating visual assets. Use when the user needs AI-generated images for landing pages, marketing, or products. Covers hero images, feature illustrations, OG cards, icons, and backgrounds.

appstore-intel

176
from dylanfeltus/skills

Look up app details, ratings, reviews, and search the iOS App Store, Mac App Store, and Google Play. Use when the user asks about app ratings, wants to compare apps, or research a competitor's app store presence. No API key required.

ProductHunt Skill

25
from ComeOnOliver/skillshub

Get posts, topics, users, and collections from Product Hunt via the official GraphQL API.

workspace-surface-audit

144923
from affaan-m/everything-claude-code

Audit the active repo, MCP servers, plugins, connectors, env surfaces, and harness setup, then recommend the highest-value ECC-native skills, hooks, agents, and operator workflows. Use when the user wants help setting up Claude Code or understanding what capabilities are actually available in their environment.

DevelopmentClaude

ui-demo

144923
from affaan-m/everything-claude-code

Record polished UI demo videos using Playwright. Use when the user asks to create a demo, walkthrough, screen recording, or tutorial video of a web application. Produces WebM videos with visible cursor, natural pacing, and professional feel.

Developer ToolsClaude