> ## Documentation Index
> Fetch the complete documentation index at: https://www.outx.ai/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Get Reddit Watchlists

> Retrieve all Reddit watchlists or a specific watchlist by ID

Retrieve your Reddit watchlists with detailed information about tracked keywords and filtering rules.

To fetch the actual Reddit posts collected by a watchlist, use [`GET /api-posts`](/api-reference/engagement/posts/get) with the watchlist's `id` as `watchlist_id`. The same endpoint serves LinkedIn and Reddit watchlists; the source is detected from the watchlist's `type`.

<Note>
  **Plugin requirement.** Like all `/api-reddit-watchlist` methods, this read requires at least one team member to have had the OutX browser extension active within the last 48 hours, otherwise it returns `403 Plugin installation required`. Teams with global data sharing enabled are exempt.
</Note>

## Query Parameters

<ParamField query="id" type="string">
  Watchlist ID. If omitted, returns all Reddit watchlists for your team.
</ParamField>

<RequestExample>
  ```bash Get All Reddit Watchlists theme={null}
  curl -X GET \
    "https://api.outx.ai/api-reddit-watchlist" \
    -H "x-api-key: YOUR_API_KEY"
  ```

  ```bash Get Specific Watchlist theme={null}
  curl -X GET \
    "https://api.outx.ai/api-reddit-watchlist?id=550e8400-e29b-41d4-a716-446655440000" \
    -H "x-api-key: YOUR_API_KEY"
  ```

  ```javascript JavaScript theme={null}
  // Get all Reddit watchlists
  const response = await fetch("https://api.outx.ai/api-reddit-watchlist", {
    headers: { "x-api-key": "YOUR_API_KEY" },
  });

  // Get specific watchlist
  const watchlistId = "550e8400-e29b-41d4-a716-446655440000";
  const specificResponse = await fetch(
    `https://api.outx.ai/api-reddit-watchlist?id=${watchlistId}`,
    {
      headers: { "x-api-key": "YOUR_API_KEY" },
    }
  );
  ```

  ```python Python theme={null}
  import requests

  headers = {'x-api-key': 'YOUR_API_KEY'}

  # Get all Reddit watchlists
  response = requests.get(
      'https://api.outx.ai/api-reddit-watchlist',
      headers=headers
  )

  # Get specific watchlist
  watchlist_id = '550e8400-e29b-41d4-a716-446655440000'
  specific_response = requests.get(
      f'https://api.outx.ai/api-reddit-watchlist?id={watchlist_id}',
      headers=headers
  )
  ```
</RequestExample>

<ResponseExample>
  ```json All Watchlists theme={null}
  {
    "watchlists": [
      {
        "id": "550e8400-e29b-41d4-a716-446655440000",
        "name": "Self-hosted CRM Threads",
        "slug": "self-hosted-crm-threads-550e8400",
        "type": "reddit",
        "fetchFreqInHours": 24,
        "keywords": ["crm", "indie hacker crm"],
        "createdAt": "2024-01-15T10:30:00Z"
      }
    ],
    "count": 1
  }
  ```

  ```json Single Watchlist theme={null}
  {
    "id": "550e8400-e29b-41d4-a716-446655440000",
    "name": "Self-hosted CRM Threads",
    "slug": "self-hosted-crm-threads-550e8400",
    "type": "reddit",
    "keywords": ["crm", "indie hacker crm"],
    "fetchFreqInHours": 24,
    "keyword_tracking": [
      {
        "id": "660e8400-e29b-41d4-a716-446655440001",
        "primary_keyword": "crm",
        "required_keywords": ["self-hosted", "open source"],
        "excluded_keywords": ["salesforce", "enterprise"]
      }
    ]
  }
  ```
</ResponseExample>

## Response Fields (All Watchlists)

<ResponseField name="watchlists" type="array">
  Array of Reddit watchlist objects
</ResponseField>

<ResponseField name="count" type="number">
  Total number of Reddit watchlists for your team
</ResponseField>

## Response Fields (Single Watchlist)

<ResponseField name="id" type="string">
  Unique identifier for the watchlist
</ResponseField>

<ResponseField name="name" type="string">
  Watchlist name
</ResponseField>

<ResponseField name="slug" type="string">
  URL-friendly slug for the watchlist
</ResponseField>

<ResponseField name="type" type="string">
  Always "reddit" for Reddit watchlists
</ResponseField>

<ResponseField name="keywords" type="array">
  Array of tracked keywords
</ResponseField>

<ResponseField name="fetchFreqInHours" type="number">
  Fetch frequency in hours
</ResponseField>

<ResponseField name="keyword_tracking" type="array">
  Detailed tracking configuration for each keyword (only on the single-watchlist response)
</ResponseField>

## Error Responses

| Status Code | Error Message                        | Description                                                                                                              |
| ----------- | ------------------------------------ | ------------------------------------------------------------------------------------------------------------------------ |
| 401         | Missing API Key / Invalid API Key    | Invalid or missing API key                                                                                               |
| 403         | Plugin installation required         | No team member has had the OutX browser extension active in the last 48 hours. Exempt if global data sharing is enabled. |
| 404         | Watchlist not found or access denied | Watchlist ID does not exist, is not a Reddit list, or is not yours                                                       |

## Frequently Asked Questions

<AccordionGroup>
  <Accordion title="How do I get a specific watchlist versus all my Reddit watchlists?">
    To get all Reddit watchlists, call `GET /api-reddit-watchlist` without parameters. To get a specific watchlist, pass the watchlist ID as a query parameter: `GET /api-reddit-watchlist?id=YOUR_WATCHLIST_ID`. The single-watchlist response includes the `keyword_tracking` array with full filtering rules.
  </Accordion>

  <Accordion title="Are Reddit and LinkedIn watchlists returned by the same endpoint?">
    No. Reddit watchlists live behind `/api-reddit-watchlist` (filtered server-side to `type=reddit`), and keyword/people/company LinkedIn watchlists each have their own `/api-*-watchlist` endpoint. Calling this endpoint returns Reddit watchlists only.
  </Accordion>
</AccordionGroup>
