# youtube.search

Search public YouTube content by keyword or phrase. Returns matching result cards, estimated result count, and spelling suggestions. Use filter parameters to apply multiple YouTube search filters: - upload_date: Last hour, Today, This week, This month, This year - content_type: Video, Channel, Playlist, Movie - duration: Under 4 minutes, 4 - 20 minutes, Over 20 minutes - features: Live, 4K, HD, Subtitles/CC, Creative Commons, 360°, VR180, 3D, HDR, Location, Purchased (multiple allowed) - sort_by: Relevance, Upload date, View count, Rating Filter values are matched case-insensitively. Only one option per group applies except features, which accepts multiple labels. When a requested filter cannot be applied, the API returns the best-effort results available so far and includes unappliedFilters with the labels that were skipped. Use cursor with the same query to paginate: pass cursorNext from a prior response. Filter parameters and cursor cannot be combined. Check didYouMean when the query may be misspelled. Cost = 20 tokens.

Agent View of the PolicyLayer registry record for `youtube.search`. HTML page: https://policylayer.com/tools/io-github-vee3io-vee3/youtube.search

## Facts

- Tool: `youtube.search`
- Server: Vee3 (`https://mcp.vee3.io/mcp`) — https://policylayer.com/tools/io-github-vee3io-vee3.md
- Homepage: https://github.com/Vee3io/vee3
- Risk category: Read (Low risk)
- Registry record: grade F, identity unverified
- Server auth posture: open
- Server rate-limited: no
- Parameters: 9 (1 required)
- Recommended policy verdict: Allowed

## Parameters

| Parameter | Type | Required | Description |
| --- | --- | --- | --- |
| `query` | string | yes | Search keywords or phrase. |
| `cursor` | object | no | Pagination cursor from cursorNext. |
| `sort_by` | object | no | Sort order. One of: Relevance, Upload date, View count, Rating. |
| `duration` | object | no | Duration filter. One of: Under 4 minutes, 4 - 20 minutes, Over 20 minutes. |
| `features` | object | no | Feature filters. Multiple allowed. Each value must be one of: Live, 4K, HD, Subtitles/CC, Creative Commons, 360°, VR180, 3D, HDR, Location, Purchased. |
| `language` | string | no | Language code for localized results (for example en). |
| `location` | string | no | Country code for localized results (for example US). |
| `upload_date` | object | no | Upload date filter. One of: Last hour, Today, This week, This month, This year. |
| `content_type` | object | no | Content type filter. One of: Video, Channel, Playlist, Movie. |

Parameters from the server's own tool schema.

## Example call (MCP tools/call, JSON-RPC 2.0)

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "youtube.search",
    "arguments": {
      "query": "<query>"
    }
  }
}
```

## Why youtube.search is rated Low

This tool purely retrieves publicly available YouTube search results. It has no side effects, does not modify or delete any data, and does not execute code or trigger external operations. It is a straightforward read/query operation.

From the tool's own definition: "Search public YouTube content by keyword or phrase. Returns matching result cards, estimated result count, and spelling suggestions."

## Use case

AI agents call youtube.search to retrieve information from Vee3 without modifying anything. It is typically the context-gathering step in research, monitoring, and reporting workflows, before the agent takes action elsewhere.

## Recommended policy (PolicyLayer)

Verdict: **Allowed**. Enforced by the PolicyLayer MCP gateway (https://policylayer.com/mcp-gateway) before a call reaches Vee3:

```json
{
  "version": "1",
  "default": "deny",
  "tools": {
    "youtube.search": {}
  }
}
```

## Other tools on Vee3 (248)

- `clerk.delete_allowlist_identifier` — Destructive — https://policylayer.com/tools/io-github-vee3io-vee3/clerk.delete-allowlist-identifier.md
- `clerk.delete_api_key` — Destructive — https://policylayer.com/tools/io-github-vee3io-vee3/clerk.delete-api-key.md
- `clerk.delete_blocklist_identifier` — Destructive — https://policylayer.com/tools/io-github-vee3io-vee3/clerk.delete-blocklist-identifier.md
- `clerk.delete_domain` — Destructive — https://policylayer.com/tools/io-github-vee3io-vee3/clerk.delete-domain.md
- `clerk.delete_email_address` — Destructive — https://policylayer.com/tools/io-github-vee3io-vee3/clerk.delete-email-address.md
- `clerk.delete_enterprise_connection` — Destructive — https://policylayer.com/tools/io-github-vee3io-vee3/clerk.delete-enterprise-connection.md
- `clerk.delete_jwt_template` — Destructive — https://policylayer.com/tools/io-github-vee3io-vee3/clerk.delete-jwt-template.md
- `clerk.delete_machine` — Destructive — https://policylayer.com/tools/io-github-vee3io-vee3/clerk.delete-machine.md
- `clerk.delete_machine_scope` — Destructive — https://policylayer.com/tools/io-github-vee3io-vee3/clerk.delete-machine-scope.md
- `clerk.delete_oauth_application` — Destructive — https://policylayer.com/tools/io-github-vee3io-vee3/clerk.delete-oauth-application.md
- `clerk.delete_organization` — Destructive — https://policylayer.com/tools/io-github-vee3io-vee3/clerk.delete-organization.md
- `clerk.delete_organization_domain` — Destructive — https://policylayer.com/tools/io-github-vee3io-vee3/clerk.delete-organization-domain.md
- `clerk.delete_organization_membership` — Destructive — https://policylayer.com/tools/io-github-vee3io-vee3/clerk.delete-organization-membership.md
- `clerk.delete_organization_permission` — Destructive — https://policylayer.com/tools/io-github-vee3io-vee3/clerk.delete-organization-permission.md
- `clerk.delete_organization_role` — Destructive — https://policylayer.com/tools/io-github-vee3io-vee3/clerk.delete-organization-role.md
- `clerk.delete_phone_number` — Destructive — https://policylayer.com/tools/io-github-vee3io-vee3/clerk.delete-phone-number.md
- `clerk.delete_redirect_url` — Destructive — https://policylayer.com/tools/io-github-vee3io-vee3/clerk.delete-redirect-url.md
- `clerk.delete_svix_app` — Destructive — https://policylayer.com/tools/io-github-vee3io-vee3/clerk.delete-svix-app.md
- `clerk.delete_user` — Destructive — https://policylayer.com/tools/io-github-vee3io-vee3/clerk.delete-user.md
- `clerk.delete_user_backup_codes` — Destructive — https://policylayer.com/tools/io-github-vee3io-vee3/clerk.delete-user-backup-codes.md
- `clerk.delete_user_external_account` — Destructive — https://policylayer.com/tools/io-github-vee3io-vee3/clerk.delete-user-external-account.md
- `clerk.delete_user_passkey` — Destructive — https://policylayer.com/tools/io-github-vee3io-vee3/clerk.delete-user-passkey.md
- `clerk.delete_user_totp` — Destructive — https://policylayer.com/tools/io-github-vee3io-vee3/clerk.delete-user-totp.md
- `clerk.delete_user_web3_wallet` — Destructive — https://policylayer.com/tools/io-github-vee3io-vee3/clerk.delete-user-web3-wallet.md
- `clerk.delete_waitlist_entry` — Destructive — https://policylayer.com/tools/io-github-vee3io-vee3/clerk.delete-waitlist-entry.md
- `clerk.revoke_actor_token` — Destructive — https://policylayer.com/tools/io-github-vee3io-vee3/clerk.revoke-actor-token.md
- `clerk.revoke_admin_portal_link_token` — Destructive — https://policylayer.com/tools/io-github-vee3io-vee3/clerk.revoke-admin-portal-link-token.md
- `clerk.revoke_api_key` — Destructive — https://policylayer.com/tools/io-github-vee3io-vee3/clerk.revoke-api-key.md
- `clerk.revoke_invitation` — Destructive — https://policylayer.com/tools/io-github-vee3io-vee3/clerk.revoke-invitation.md
- `clerk.revoke_m2m_token` — Destructive — https://policylayer.com/tools/io-github-vee3io-vee3/clerk.revoke-m2m-token.md
- …and 218 more: https://policylayer.com/tools/io-github-vee3io-vee3.md

## For agents

This record is a snapshot. Live verdicts and the full registry:

- Check every server in your MCP config at once: `npx -y policylayer stack`
- Vet a server before you add it: install the mcp-precheck skill — `npx skills add https://policylayer.com` (skill text: https://policylayer.com/skill.md)
- Query the registry over MCP: endpoint `https://api.policylayer.com/mcp` — tools `check_mcp_server`, `check_mcp_stack`, `check_tool`, `search_registry`, `get_change_events`

---

Source: the PolicyLayer MCP registry — one continuously verified record per MCP server. Full record: https://policylayer.com/registry?q=io-github-vee3io-vee3 · API: https://policylayer.com/registry/api · Policy library: https://policylayer.com/policies/io-github-vee3io-vee3
