# Indiehackers — Wrapped API

> **You are on:** `https://api.paywithlocus.com/api` | [llms.txt](https://paywithlocus.com/llms.txt) | [docs](https://docs.paywithlocus.com)
>
> Locus runs on multiple environments -- make sure every URL you call matches your expected environment.
> | Environment | Landing | API | Docs |
> |---|---|---|---|
> | Production | paywithlocus.com | api.paywithlocus.com | docs.paywithlocus.com |
> | Beta | beta.paywithlocus.com | api.beta.paywithlocus.com | docs.paywithlocus.com |
> | Stage | stage.paywithlocus.com | api.stage.paywithlocus.com | docs.paywithlocus.com |
>
> If the API URL above doesn't match your expected environment, re-fetch this file from the correct domain.

> Discover top-performing indie products ranked by revenue and get detailed insights including founder contact information across Twitter, websites, and social platforms. Search for specific creators and products to find entrepreneurial opportunities and connect with founders in the indie hacking community.

**Category:** Business Directories | **Website:** [www.indiehackers.com/products](https://www.indiehackers.com/products) | **Docs:** [parse.bot/marketplace/5c394fc8-06b7-4f90-bd12-3d5e550c9438/indiehackers-com-api](https://parse.bot/marketplace/5c394fc8-06b7-4f90-bd12-3d5e550c9438/indiehackers-com-api)

Pay-per-use API proxy. Each call is automatically billed to your wallet in USDC.

## Access

**Base URL:** `https://api.paywithlocus.com/api/wrapped/parse-indiehackers-com-api-5c394fc8/`
**Auth:** `Authorization: Bearer <LOCUS_API_KEY>`

## Endpoints

### get_product_detail

Get detailed information about a specific indie hacker product by its product_id. Returns full product data including revenue, contact links, location, tags, founder details, and associated user IDs.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `product_id` | string | Yes | The product identifier slug (e.g. 'ghost', 'nextiva', 'highlevel'). Obtainable from list_top_products results. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-indiehackers-com-api-5c394fc8/get_product_detail \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"product_id":"<string>"}'
```

### get_product_revenue_milestones

Get monthly revenue milestone data for a product with Stripe-verified revenue on Indie Hackers. Returns a chronological array of monthly data points including revenue, pageviews, sessions, and unique visitors when available. Only products with connected Stripe accounts have revenue history; others return an empty milestones array.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `end_date` | string | No | End of date window in YYYY-MM format (inclusive). If omitted, includes all milestones to the present. |
| `product_id` | string | Yes | The product identifier slug (e.g. 'ghost', 'cloud-campaign'). Obtainable from list_top_products results. |
| `start_date` | string | No | Start of date window in YYYY-MM format (inclusive). If omitted, includes all milestones from the beginning. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-indiehackers-com-api-5c394fc8/get_product_revenue_milestones \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"end_date":"<string>","product_id":"<string>","start_date":"<string>"}'
```

### list_products_by_date

List indie hacker products filtered by their start date falling within a given YYYY-MM date range. Results are sorted by highest revenue. When slim mode is enabled, only product_id and name are returned per product; otherwise full detail objects including revenue, contact links, tags, founder data, and Stripe-verification status are included.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `end_date` | string | Yes | End of date range in YYYY-MM format (inclusive). |
| `limit` | integer | No | Number of products per page. Must be between 1 and 50. |
| `page` | integer | No | Zero-based page number for pagination. |
| `slim` | boolean | No | When true, each product in the response contains only product_id and name fields, omitting all other detail fields. |
| `start_date` | string | Yes | Start of date range in YYYY-MM format (inclusive). |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-indiehackers-com-api-5c394fc8/list_products_by_date \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"end_date":"<string>","limit":"<integer>","page":"<integer>","slim":"<boolean>","start_date":"<string>"}'
```

### list_top_products

List indie hacker products sorted by highest revenue. Returns products with revenue figures, Twitter handles, website URLs, and other metadata including LinkedIn URL, product logo, business model, and employee count. Supports search filtering and pagination.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `limit` | integer | No | Number of products per page. Must be between 1 and 50. |
| `page` | integer | No | Zero-based page number for pagination. |
| `query` | string | No | Search query to filter products by name, description, or tagline. Empty string returns all products. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-indiehackers-com-api-5c394fc8/list_top_products \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"limit":"<integer>","page":"<integer>","query":"<string>"}'
```

### search_users

Search for users (founders/makers) on Indie Hackers. Returns user profiles with usernames, Twitter handles, bios, and location data.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `limit` | integer | No | Number of users per page. Must be between 1 and 50. |
| `page` | integer | No | Zero-based page number for pagination. |
| `query` | string | No | Search query to filter users by username or bio. Empty string returns all users. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-indiehackers-com-api-5c394fc8/search_users \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"limit":"<integer>","page":"<integer>","query":"<string>"}'
```
