Endpoint Playground
Searches individual Product Hunt launches from the dataset id enum value `producthunt-products` — the searchable launch archive. Each result is one product with its topics, upvotes, ranks and launch history; description/website/twitter_url/pricing/makers are filled in over time. Sort enum: `relevance`, `votes_desc`, `launched_desc`, `launched_asc`, `rating_desc`, `best_rank_asc`. Billing: this search costs 1 credit per record returned, with a minimum of 2 (an empty result costs 2, a full page of 100 costs 100). Dataset Playground requests query indexed data and do not apply proxy routing.
14 Oct 2026: 20 items; 6 fields had a value in every checked item and 22 varied between items.
Sample value profiles: first_launch_date: 2015-01-01 to 2026-01-12; latest_score: 75 to 632, median 142; website: streaksapp.com and 14 other hosts.
curl "https://api.crawlora.net/api/v1/datasets/producthunt-products/search?sort=relevance" \
-H "x-api-key: $CRAWLORA_API_KEY"| Parameter | Type | Required | Prefilled value | Description |
|---|---|---|---|---|
| q | string | No | Full-text query over product name and tagline, max 256 characters | |
| topic | string | No | Exact topic-slug filter, e.g. artificial-intelligence, max 128 characters | |
| maker | string | No | Exact maker-username filter (populated by hydration), max 128 characters | |
| launched_after | string | No | Lower bound on first-launch date, an ISO-8601 date (YYYY-MM-DD) | |
| launched_before | string | No | Upper bound on first-launch date, an ISO-8601 date (YYYY-MM-DD) | |
| min_votes | integer | No | Minimum upvotes, 0 or greater | |
| min_rating | number | No | Minimum review rating, from 0 through 5 (populated by hydration) | |
| pricing_type | string | No | Exact pricing-type filter (populated by hydration), e.g. free, paid, freemium | |
| has_website | boolean | No | Website presence filter (populated by hydration) | |
| is_online | boolean | No | true keeps only products still online, false only retired products | |
| sort | string | No | relevance | Sort enum: relevance, votes_desc, launched_desc, launched_asc, rating_desc, best_rank_asc |
| page | integer | No | Page number, defaults to 1 | |
| page_size | integer | No | Page size, defaults to 20 and maxes at 100; page * page_size must be <= 10000 |
{
"code": 200,
"msg": "OK",
"data": {
"dataset": "producthunt-products",
"items": [
{
"product_id": "94418",
"slug": "streaks",
"name": "Streaks",
"tagline": "The to-do list that helps you form good habits.",
"topic_slugs": [
"ios",
"task-management",
"tech"
],
"latest_score": 414,
"best_daily_rank": 1,
"won_daily": true,
"first_launch_date": "2015-06-01",
"launch_count": 1
}
],
"page": 1,
"page_size": 20,
"total": 1,
"sort": "votes_desc"
}
}The sample response, schema and code snippets below work without an account. Sending a live request needs an API key.