---
name: reddit-search-api
description: Search Reddit conversations using AI-powered semantic search and vector similarity. Use when searching Reddit posts, analyzing community sentiment, discovering trends, monitoring brands, validating startup ideas, or extracting market research insights from subreddit discussions.
metadata:
  author: reddapi
  version: "1.0"
---
 
# reddapi.dev Reddit Search API

Search Reddit conversations using AI-powered semantic search and vector similarity. Analyze sentiment, discover trends, and get AI-generated summaries from real Reddit discussions.

## About

reddapi.dev provides programmatic access to Reddit conversation data through two search approaches:

- **Semantic Search**: AI-powered search that understands natural language questions, extracts keywords, and generates comprehensive summaries
- **Vector Search**: Fast similarity search that directly matches query embeddings against indexed posts

The API covers 1000+ subreddits with millions of indexed posts, updated continuously.

## Authentication

All API endpoints require a Bearer token. Get your API key:

1. Create an account at https://reddapi.dev
2. Subscribe to a paid plan (Lite $9.90/mo, Starter $49/mo, Pro $99/mo, or Enterprise)
3. Go to https://reddapi.dev/account to view or generate your API key

```
Authorization: Bearer YOUR_API_KEY
```

### Rate Limits

| Plan | Monthly API Calls | Per Minute |
|------|-------------------|------------|
| Lite | 500 | 50 |
| Starter | 5,000 | 50 |
| Pro | 15,000 | 100 |
| Enterprise | Unlimited | 1,000 |

## API Reference

**Base URL:** `https://reddapi.dev`

### POST /api/v1/search/semantic

AI-powered semantic search with keyword extraction, vector search, and AI summary generation.

**Request:**
```json
{
  "query": "What do developers think about Rust vs Go for backend services?",
  "limit": 20
}
```

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| query | string | Yes | Natural language question |
| limit | number | No | Results to return (default: 20, max: 100) |

**Response:**
```json
{
  "success": true,
  "data": {
    "query": "What do developers think about Rust vs Go for backend services?",
    "results": [
      {
        "id": "1abc234",
        "title": "Switched our microservices from Go to Rust - here's what happened",
        "content": "After 6 months of running Go in production...",
        "subreddit": "rust",
        "upvotes": 847,
        "comments": 234,
        "created": "2026-02-15T10:30:00.000Z",
        "relevance": 0.92,
        "sentiment": "Discussion",
        "url": "https://reddit.com/r/rust/comments/1abc234"
      }
    ],
    "total": 20,
    "processing_time_ms": 12450,
    "ai_summary": "Developers are divided on Rust vs Go for backend services..."
  }
}
```

### POST /api/v1/search/vector

Fast vector similarity search. No LLM processing, returns results in seconds.

**Request:**
```json
{
  "query": "best productivity apps for ADHD",
  "limit": 30,
  "start_date": "2026-01-01",
  "end_date": "2026-03-18"
}
```

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| query | string | Yes | Search query |
| limit | number | No | Results to return (default: 30, max: 30) |
| start_date | string | No | Start date filter (ISO 8601 or YYYY-MM-DD) |
| end_date | string | No | End date filter (ISO 8601 or YYYY-MM-DD) |

**Response:**
```json
{
  "success": true,
  "data": {
    "query": "best productivity apps for ADHD",
    "results": [
      {
        "id": "2def567",
        "title": "Finally found an app that works for my ADHD brain",
        "content": "I've tried everything from Todoist to Notion...",
        "subreddit": "ADHD",
        "upvotes": 1203,
        "comments": 456,
        "created": "2026-03-01T14:22:00.000Z",
        "similarity_score": 0.89,
        "url": "https://reddit.com/r/ADHD/comments/2def567"
      }
    ],
    "total": 30,
    "processing_time_ms": 3200
  }
}
```

### POST /api/v1/search

Same as `/api/v1/search/semantic`. Alternative endpoint path.

### GET /api/v1/subreddits

List available subreddits with metadata, sorted by subscribers.

**Query Parameters:**

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| search | string | No | Filter by name, title, or description |
| page | number | No | Page number (default: 1) |
| limit | number | No | Results per page (default: 50, max: 100) |
| sort | string | No | Sort by "subscribers" or "created" (default: subscribers) |
| order | string | No | "asc" or "desc" (default: desc) |

**Example:** `GET /api/v1/subreddits?search=programming&limit=10`

**Response:**
```json
{
  "success": true,
  "data": {
    "subreddits": [
      {
        "name": "programming",
        "title": "programming",
        "description": "Computer programming",
        "subscribers": 6200000,
        "created": "2006-01-10T00:00:00.000Z",
        "icon": "https://..."
      }
    ],
    "total": 42,
    "page": 1,
    "limit": 10,
    "total_pages": 5
  }
}
```

### GET /api/v1/subreddits/{name}

Get detailed information about a specific subreddit with recent posts.

**Path Parameter:** `name` - Subreddit name without `r/` prefix

**Example:** `GET /api/v1/subreddits/webdev`

**Response:**
```json
{
  "success": true,
  "data": {
    "name": "webdev",
    "title": "webdev: reddit for web developers",
    "description": "A community dedicated to all things web development...",
    "subscribers": 2100000,
    "created": "2008-01-25T00:00:00.000Z",
    "recent_posts": [
      {
        "id": "3ghi890",
        "title": "Is Next.js still worth learning in 2026?",
        "upvotes": 523,
        "comments": 187,
        "created": "2026-03-17T08:15:00.000Z"
      }
    ]
  }
}
```

### POST /api/v1/trends

Get trending topics from Reddit based on post engagement.

**Request:**
```json
{
  "start_date": "2026-03-01",
  "end_date": "2026-03-18",
  "limit": 10
}
```

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| start_date | string | No | Start date (default: today) |
| end_date | string | No | End date (default: today) |
| limit | number | No | Topics to return (default: 20, max: 100) |

**Response:**
```json
{
  "success": true,
  "data": {
    "trends": [
      {
        "id": "trend_claude",
        "topic": "claude",
        "post_count": 45,
        "total_upvotes": 12340,
        "total_comments": 3456,
        "top_subreddits": ["artificial", "ChatGPT", "LocalLLaMA"],
        "trending_keywords": ["claude", "anthropic", "sonnet", "coding"],
        "sample_posts": [...],
        "trend_score": 8786.4,
        "growth_rate": 264.7
      }
    ],
    "total": 10,
    "date_range": { "start": "2026-03-01", "end": "2026-03-18" },
    "processing_time_ms": 2100
  }
}
```

## MCP Server

reddapi.dev provides a Model Context Protocol (MCP) server for direct integration with any MCP-compatible AI client (Claude Desktop, Cursor, Windsurf, Cline, etc.).

**Endpoint:** `https://reddapi.dev/api/mcp`
**Protocol:** MCP Streamable HTTP Transport (2025-11-25)

### MCP Setup

Add the following to your AI client's MCP configuration. Refer to your client's documentation for the config file location.

```json
{
  "mcpServers": {
    "reddit-search-api": {
      "transport": {
        "type": "http",
        "url": "https://reddapi.dev/api/mcp",
        "headers": {
          "Authorization": "Bearer YOUR_API_KEY"
        }
      }
    }
  }
}
```

### MCP Tools

#### reddit_semantic_search

AI-powered semantic search with keyword extraction and AI summary.

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| query | string | Yes | Natural language search query |
| limit | number | No | Number of results (default: 20, max: 100) |

Returns: JSON with `query`, `keywords`, `total`, `ai_summary`, and `results` array.

#### reddit_vector_search

Fast vector similarity search without LLM processing.

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| query | string | Yes | Search query |
| limit | number | No | Number of results (default: 30, max: 30) |

Returns: JSON with `query`, `total`, and `results` array with `similarity_score`.

#### reddit_list_subreddits

Get a paginated list of available subreddits.

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| page | number | No | Page number (default: 1) |
| limit | number | No | Results per page (default: 20, max: 100) |
| search | string | No | Filter by name/title/description |

Returns: JSON with `page`, `total_pages`, `total`, and `subreddits` array.

#### reddit_get_subreddit

Get metadata for a specific subreddit.

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| subreddit | string | Yes | Subreddit name without `r/` prefix |

Returns: JSON with `name`, `title`, `description`, `subscribers`, `created`.

#### reddit_get_trends

Get trending keywords from Reddit sorted by popularity.

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| page | number | No | Page number (default: 1) |
| limit | number | No | Results per page (default: 12, max: 50) |
| filter | string | No | "latest", "today", "week", or "month" (default: latest) |
| category | string | No | Category filter (e.g. Technology, Health, Sports) |

Returns: JSON with `filter`, `page`, `total_pages`, `total`, and `trends` array.

## Usage Examples

### Market Research

Find what users say about a product category, identify pain points, and validate demand.

```bash
# Discover pain points in project management tools
curl -X POST https://reddapi.dev/api/v1/search/semantic \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"query": "frustrated with project management tools switching from Jira", "limit": 50}'
```

### Competitive Intelligence

Monitor how users discuss competing products and identify gaps.

```bash
# Compare user sentiment between products
curl -X POST https://reddapi.dev/api/v1/search/semantic \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"query": "Notion vs Obsidian which is better for personal knowledge management"}'
```

### Content Ideation

Find trending discussions to inform blog posts, videos, or social content.

```bash
# Find trending topics this week
curl -X POST https://reddapi.dev/api/v1/trends \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"start_date": "2026-03-11", "end_date": "2026-03-18", "limit": 20}'
```

### Brand Monitoring

Track how users discuss your brand or product across subreddits.

```bash
# Fast check for brand mentions
curl -X POST https://reddapi.dev/api/v1/search/vector \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"query": "your-brand-name reviews complaints", "limit": 30}'
```

### Startup Idea Validation

Test if real users express a need before building a product.

```bash
# Validate demand for a product idea
curl -X POST https://reddapi.dev/api/v1/search/semantic \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"query": "I wish there was an app that helps me track my medication and side effects"}'
```

### Subreddit Discovery

Find relevant communities for your niche.

```bash
# Find subreddits related to your market
curl -X GET "https://reddapi.dev/api/v1/subreddits?search=artificial+intelligence&limit=20" \
  -H "Authorization: Bearer YOUR_API_KEY"
```

## Advanced Usage

### Choosing Between Semantic and Vector Search

| Use Case | Recommended Endpoint | Why |
|----------|---------------------|-----|
| Exploratory research | `/search/semantic` | LLM extracts multiple keywords, generates summary |
| Known-topic monitoring | `/search/vector` | Faster, direct matching, no LLM overhead |
| Batch processing | `/search/vector` | 5x faster per request, better for high volume |
| Answering complex questions | `/search/semantic` | AI summary synthesizes insights from multiple posts |
| Real-time dashboards | `/search/vector` | Low latency (~5s vs ~20s) |

### Combining Endpoints for Deep Research

Use vector search first to quickly scope the landscape, then semantic search for deep analysis:

```bash
# Step 1: Quick scope with vector search
curl -X POST https://reddapi.dev/api/v1/search/vector \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"query": "remote work productivity tools", "limit": 30}'

# Step 2: Deep dive with semantic search on specific angle
curl -X POST https://reddapi.dev/api/v1/search/semantic \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"query": "What remote work tools do managers hate but employees love?"}'
```

### Time-Filtered Analysis

Track how sentiment changes over time by querying different date ranges:

```bash
# Q4 2025 sentiment
curl -X POST https://reddapi.dev/api/v1/search/vector \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"query": "ChatGPT quality declining", "start_date": "2025-10-01", "end_date": "2025-12-31"}'

# Q1 2026 sentiment
curl -X POST https://reddapi.dev/api/v1/search/vector \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"query": "ChatGPT quality declining", "start_date": "2026-01-01", "end_date": "2026-03-18"}'
```

### MCP Integration for Automated Workflows

With MCP connected to Claude, you can build conversational research workflows:

- "Search Reddit for what users complain about in banking apps, then find the top subreddits where fintech is discussed, and check what's trending in the finance category"
- "Find discussions about our competitor Acme Corp, focus on the last month, and summarize the main complaints"
- "List the top 20 programming subreddits, then search for AI coding assistant discussions in each"

### Error Handling

All endpoints return consistent error responses:

```json
{
  "success": false,
  "error": "Error description",
  "message": {
    "title": "Human-readable title",
    "message": "Detailed explanation",
    "cta": "Suggested action",
    "ctaLink": "/pricing"
  }
}
```

Common HTTP status codes:
- `400` - Invalid parameters
- `401` - Missing or invalid API key
- `403` - Plan does not support this endpoint
- `429` - Rate limit exceeded
- `500` - Server error

### Response Caching

- Search results are cached for 12 hours server-side
- Trend data is cached for 8 hours
- API responses include `Cache-Control: private, max-age=300` headers
- For fresh data, results are still served from cached vector indexes updated continuously
