Use the YouTube monitoring endpoints to track videos matching your keywords or monitor specific channels for new uploads. Stay on top of brand mentions, competitor content, and industry trends on YouTube.
Endpoints
YouTube monitoring provides two endpoints:
| Endpoint | Description |
|---|
POST /v1/searches/youtube/videos | Search for videos by keywords |
POST /v1/searches/youtube/channel | Monitor a specific YouTube channel |
How it works
- Create a saved search using one of the YouTube endpoints
- Trigify checks YouTube on your configured frequency (
DAILY, WEEKLY, MONTHLY, or QUARTERLY; HOURLY is available on Enterprise and Custom plans only)
- New videos matching your criteria appear in your search results
- Optionally trigger workflows on new results for alerts, enrichment, or integrations
Video keyword search
Use POST /v1/searches/youtube/videos to find videos matching your keywords across all of YouTube.
Supported filters
| Field | Type | Required | Description |
|---|
name | string | Yes | A descriptive name for your saved search |
keywords | string[] | Yes | Keywords to search for (OR logic between keywords) |
keywords_and | string[] | No | All of these keywords must appear (AND logic) |
keywords_not | string[] | No | Exclude videos containing these keywords |
time_frame | string | No | How far back to search: past-24h, past-week, past-month, past-year, all-time |
max_results | number | No | Maximum videos to return per run (default: 50) |
frequency | string | No | How often to check: DAILY, WEEKLY, MONTHLY, QUARTERLY; HOURLY is Enterprise/Custom only |
The total number of keywords across keywords, keywords_and, and keywords_not must not exceed 10.
Create a video keyword search
curl -X POST https://api.trigify.io/v1/searches/youtube/videos \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "AI Coding Tutorials",
"keywords": ["AI coding", "copilot tutorial"],
"keywords_not": ["unboxing", "reaction"],
"time_frame": "past-week",
"frequency": "DAILY",
"max_results": 25
}'
Channel monitoring
Use POST /v1/searches/youtube/channel to monitor a specific YouTube channel for new uploads.
Supported filters
| Field | Type | Required | Description |
|---|
name | string | Yes | A descriptive name for your saved search |
profile_url | string | Yes | The YouTube channel URL (e.g. https://youtube.com/@channelname) |
max_results | number | No | Maximum videos to return per run (default: 50) |
frequency | string | No | How often to check: DAILY, WEEKLY, MONTHLY, QUARTERLY; HOURLY is Enterprise/Custom only |
time_frame | string | No | How far back to search: past-24h, past-week, past-month, past-year, all-time |
Create a channel monitor
curl -X POST https://api.trigify.io/v1/searches/youtube/channel \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "Competitor Channel Tracker",
"profile_url": "https://youtube.com/@CompetitorChannel",
"frequency": "DAILY",
"max_results": 10,
"time_frame": "past-week"
}'
const response = await fetch("https://api.trigify.io/v1/searches/youtube/channel", {
method: "POST",
headers: {
"x-api-key": "YOUR_API_KEY",
"Content-Type": "application/json",
},
body: JSON.stringify({
name: "Competitor Channel Tracker",
profile_url: "https://youtube.com/@CompetitorChannel",
frequency: "DAILY",
max_results: 10,
time_frame: "past-week",
}),
});
const data = await response.json();
import requests
response = requests.post(
"https://api.trigify.io/v1/searches/youtube/channel",
headers={
"x-api-key": "YOUR_API_KEY",
"Content-Type": "application/json",
},
json={
"name": "Competitor Channel Tracker",
"profile_url": "https://youtube.com/@CompetitorChannel",
"frequency": "DAILY",
"max_results": 10,
"time_frame": "past-week",
},
)
data = response.json()
Use cases
- Brand video monitoring — Track when creators publish videos mentioning your product or brand
- Competitor channel tracking — Monitor competitor channels for new content, launches, and strategy changes
- Industry content discovery — Find the latest videos on topics relevant to your business
Response
GET /v1/searches/{id}/results returns YouTube results in Trigify’s standard search result shape.
For the full shared response contract, see Get Search Results.
Preview your filters
Before committing to a saved search, POST the exact same body to the preview endpoint to see a sample of matching videos. Useful for validating keywords or confirming a channel URL resolves correctly before spending a credit.
- Video preview:
POST /v1/searches/youtube/videos/preview
- Channel preview:
POST /v1/searches/youtube/channel/preview
curl -X POST https://api.trigify.io/v1/searches/youtube/videos/preview \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "Next.js tutorials 2026",
"keywords": ["nextjs", "app router"],
"time_frame": "past-month",
"max_results": 10
}'
Response shape mirrors GET /v1/searches/{id}/results plus a meta block with count, total_available, and monitoring_type.
Preview is free — no credit charged. Once you’re happy, POST the same body to /v1/searches/youtube/videos (or /channel) to commit the saved search.
Credit Usage
- 1 credit per search or channel monitor created
- Previewing filters via
POST /v1/searches/youtube/{videos,channel}/preview is free
- Retrieving results via
GET /v1/searches/{id}/results is free
- Updating or deleting a search is free
- Subsequent runs on the configured frequency do not consume additional credits for search creation
Notes
- Video keyword searches use OR logic by default. Use
keywords_and for AND logic
- Channel monitoring does not require keywords — it tracks all new uploads from the channel
profile_url must be a valid YouTube channel URL (e.g. https://youtube.com/@channelname or https://youtube.com/channel/UC...)
HOURLY frequency requires an Enterprise or Custom plan