## youtube/search/advanced

`GET /v1/youtube/search/advanced`

Advanced YouTube search exposing the Data API search.list filters (order, duration, event/type, category, geo, dates, captions and more).

*YouTube advanced search*

| Parameter | Required | Description |
| --- | --- | --- |
| `query` | yes | Search query — e.g. `machine learning` |
| `order` | no | relevance, date, rating, title or viewCount — e.g. `viewCount` |
| `duration` | no | short, medium or long (forces video results) — e.g. `long` |
| `event_type` | no | live, upcoming or completed (forces video results) — e.g. `completed` |
| `license` | no | any, creativeCommon or youtube (maps to videoLicense) — e.g. `creativeCommon` |
| `category` | no | videoCategoryId — e.g. `28` |
| `region` | no | ISO-3166 region code (maps to regionCode) — e.g. `US` |
| `language` | no | Preferred content language (maps to relevanceLanguage) — e.g. `en` |
| `published_after` | no | RFC-3339 lower bound (maps to publishedAfter) — e.g. `2024-01-01T00:00:00Z` |
| `published_before` | no | RFC-3339 upper bound (maps to publishedBefore) — e.g. `2025-01-01T00:00:00Z` |
| `channel_id` | no | Restrict to a channel (maps to channelId) — e.g. `UC_x5XG1OV2P6uZZ5FSM9Ttw` |
| `safe_search` | no | none, moderate or strict (maps to safeSearch) — e.g. `moderate` |
| `video_caption` | no | any, closedCaption or none (maps to videoCaption) — e.g. `closedCaption` |
| `video_definition` | no | any, standard or high (maps to videoDefinition) — e.g. `high` |
| `video_dimension` | no | 2d, 3d or any (maps to videoDimension) — e.g. `2d` |
| `video_embeddable` | no | true or any (maps to videoEmbeddable) — e.g. `true` |
| `video_type` | no | any, episode or movie (maps to videoType) — e.g. `movie` |
| `topic_id` | no | Freebase topic id (maps to topicId) — e.g. `/m/019_rr` |
| `location` | no | lat,long point (maps to location; requires location_radius) — e.g. `37.42307,-122.08427` |
| `location_radius` | no | Search radius, e.g. 10km (maps to locationRadius) — e.g. `10km` |
| `max_results` | no | Requested page size, 1–50. The paid primary defaults to 50; the source may return fewer. Keep an explicit size unchanged while paginating. — e.g. `50` |
| `cursor` | no | Opaque page token from a previous response — e.g. `CAUQAA` |
| `dry_run` | no | Read a zero-credit estimate without fetching sources, running AI, or reserving credits. Cache status is a snapshot, not a guarantee at execution. — e.g. `1` |
| `judgments` | no | Add bounded AI labels to eligible returned records (default on). off preserves the original data shape. Unclassified records remain present; labels depend on evidence, time, capacity and the existing request budget. No label surcharge. — e.g. `on` |
| `label` | no | Set none to disable labels; default enables the endpoint’s label set. Equivalent to judgments=off. — e.g. `none` |
| `label_evidence` | no | Include exact supporting sentences and zero-based sentence indexes when a label has validated evidence. No extra charge or change to decisions. — e.g. `1` |
| `exclude` | no | Optionally remove confidently labelled engagement bait. Uncertain and unclassified records stay; removed IDs and an owner-bound recall reference are returned. — e.g. `engagement_bait` |
| `fit` | no | Use goal to replace confidently irrelevant records with recall stubs. Keeps first, last, relevant and uncertain records; preserves order. Full evidence is stored for 24 hours when available. — e.g. `goal` |
| `goal` | no | Required with fit=goal: describe the task in at most 600 characters. Supplied text is task context, never permission to act on posts. — e.g. `Find concrete product complaints` |
| `tokens` | no | Optional soft response target for fit=goal, 256–32000. Safety and evidence retention take priority, so the returned result may exceed it. — e.g. `4000` |

**Cost:** 1 credit at list price per successful uncached response; variable-cost operations may quote or settle a different charge. Confirmed uncharged or refunded failures report zero. Pending reconciliation can report credits_used:null; retain request_id and the original idempotency key.

```bash
curl "https://www.monocrawl.com/v1/youtube/search/advanced?query=machine%20learning" \
  -H "x-api-key: mn_your_key_here"
```

### Response data

Illustrative abbreviated data; documented core fields are optional and may be null. Additional source fields are allowed.

```json
{
  "items": [
    {
      "kind": "video",
      "id": "abcdefghijk",
      "url": "https://www.youtube.com/watch?v=abcdefghijk",
      "title": "A quieter desk setup",
      "channel": {
        "id": "UC_example",
        "name": "Example Channel"
      }
    }
  ],
  "cursor": null,
  "has_more": null
}
```

[Field reference](https://www.monocrawl.com/docs/endpoints/youtube/search/advanced#response) · [JSON Schema for response.data](https://www.monocrawl.com/schemas/youtube/search/advanced.json)
