Skip to main content
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:
EndpointDescription
POST /v1/searches/youtube/videosSearch for videos by keywords
POST /v1/searches/youtube/channelMonitor a specific YouTube channel

How it works

  1. Create a saved search using one of the YouTube endpoints
  2. Trigify checks YouTube on your configured frequency (DAILY, WEEKLY, MONTHLY, or QUARTERLY; HOURLY is available on Enterprise and Custom plans only)
  3. New videos matching your criteria appear in your search results
  4. Optionally trigger workflows on new results for alerts, enrichment, or integrations

Use POST /v1/searches/youtube/videos to find videos matching your keywords across all of YouTube.

Supported filters

FieldTypeRequiredDescription
namestringYesA descriptive name for your saved search
keywordsstring[]YesKeywords to search for (OR logic between keywords)
keywords_andstring[]NoAll of these keywords must appear (AND logic)
keywords_notstring[]NoExclude videos containing these keywords
time_framestringNoHow far back to search: past-24h, past-week, past-month, past-year, all-time
max_resultsnumberNoMaximum videos to return per run (default: 50)
frequencystringNoHow 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.
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

FieldTypeRequiredDescription
namestringYesA descriptive name for your saved search
profile_urlstringYesThe YouTube channel URL (e.g. https://youtube.com/@channelname)
max_resultsnumberNoMaximum videos to return per run (default: 50)
frequencystringNoHow often to check: DAILY, WEEKLY, MONTHLY, QUARTERLY; HOURLY is Enterprise/Custom only
time_framestringNoHow 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