# LaunchNests CLI and Public API

> Official command-line client and OpenAPI 3.1 REST API for the developer tools and products catalog. No API key for reads.

```yaml
url: "https://launchnests.com/cli"
openapi: "https://launchnests.com/openapi.json"
openapi_yaml: "https://launchnests.com/api/openapi.yaml"
rest: "https://launchnests.com/v1"
cli: npx @launchnests/cli
auth: none - public read-only GET
```

## Quick Start via CLI

Run without installing:

```bash
npx @launchnests/cli --help
npx @launchnests/cli search "postgres" --json
npx @launchnests/cli leaderboard --limit 10
npx @launchnests/cli tool supabase
npx @launchnests/cli product decispher
```

## Public REST Endpoints

All `/v1` endpoints are public and read-only without authentication:

- `GET /v1` — Public API directory & index
- `GET /v1/tools` — Paginated tools catalog (?q=, ?category=, ?pricing=, ?sort=)
- `GET /v1/tools/{slug}` — Tool details and verified builds count
- `GET /v1/products` — Paginated products catalog (?q=, ?category=, ?pricing=, ?sort=)
- `GET /v1/products/{slug}` — Product details and declared tech stack
- `GET /v1/search?q={query}` — Unified search across tools and products
- `GET /v1/leaderboard` — Top tools and trending products by upvotes

## Curl Examples

```bash
# Search for auth providers
curl -sS "https://launchnests.com/v1/search?q=auth"

# Fetch this week's leaderboard
curl -sS "https://launchnests.com/v1/leaderboard?limit=5"

# Fetch markdown representation of a tool
curl -H "Accept: text/markdown" "https://launchnests.com/tools/supabase"
```

## RFC 9457 Errors & Rate Limiting

Error responses use RFC 9457 Problem Details as `application/problem+json` with `type`, `title`, `status`, and `detail`.
Rate limit: **120 requests per minute per IP**. Responses include standard IETF headers:
- `RateLimit-Limit`
- `RateLimit-Remaining`
- `RateLimit-Reset`
- `Retry-After` (on 429)

## Related Agent Surfaces

- [MCP docs](https://launchnests.com/mcp) — Model Context Protocol tools
- [llms.txt](https://launchnests.com/llms.txt) — LLM site map
- [AI snapshot](https://launchnests.com/api/ai) — Bounded JSON snapshot
