---
title: "Create Watch"
method: POST
path: "/v1/mentions/watches"
tags: ["mentions"]
---

# Create Watch

`POST /v1/mentions/watches`

## Request

- Base URL: `https://api.snoopscan.com`
- URL: `https://api.snoopscan.com/v1/mentions/watches`
- Auth: none declared

## Headers

- `authorization` string, nullable

## Request body

- WatchRequest
  - `keywords` string[]: Words or phrases to look for, up to 20 with `competitors`. Whole words, any case.
  - `competitors` string[]: Keywords for a competitor. A post that matches one of these and none of `keywords` is sorted as `competitor`.
  - `exclude` string[]: Words that remove a post from the results when it contains any of them.
  - `platforms` string[], nullable: Where to look: reddit, hackernews, bluesky, youtube, threads, web, github, feeds. Default is all of them.
  - `feeds` string[], nullable: RSS or Atom feed addresses to read (a Substack, a blog, a forum), up to 10. Read when `platforms` includes feeds; new entries that name a keyword as a whole word become mentions.
  - `categories` string[], nullable: Categories to keep: bug_report, complaint, question, buying_intent, praise, competitor, other. Posts sorted elsewhere are dropped. Default is all.
  - `customWords` object, nullable: Your own words for a category, added to the built-in ones. Example: {"buying_intent": ["any tips"]}.
  - `intervalMinutes` integer, nullable: How often to check, in minutes: 5 to 10,080. Default 15.
  - `name` string, required: A name for the watch.
  - `webhook` string, nullable: A URL to POST to with `mention.created` for each new mention. Signed with your key's webhook secret.

## Response `200`

Successful Response

- object

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/snoopscan/apis/snoopscan-api.md) · [All operations](https://skmtc.dev/snoopscan/apis/snoopscan-api/llms.txt) · [OpenAPI document](https://skmtc.dev/snoopscan/apis/snoopscan-api/revisions/c278cdbcaf7b?raw)
