# YouTube Integration via LowCodeAPI

**Last Updated**: February 10, 2026

## Overview
YouTube Data API v3 allows you to incorporate YouTube functionality into your application

**Categories:**
- {'id': 'social-media', 'name': 'Social Media'}

## Base Endpoint
https://api.lowcodeapi.com/youtube

**Important**: Always include the provider name in the URL path after `api.lowcodeapi.com/`

## Authentication
**Type:** OAUTH2.0

**Official Documentation:** https://developers.google.com/youtube/v3

## URL Format (Important)

LowCodeAPI supports two URL formats. **Always try the New Format first**, then fall back to Old Format if needed.

### New Format (Priority)
- Path parameters stay in the URL path
- Do NOT include path parameters as query parameters
- Example: `https://api.lowcodeapi.com/{provider}/resource/{id}?api_token=XXX`

### Old Format (Fallback)
- Path parameters become query parameters
- Example: `https://api.lowcodeapi.com/{provider}/resource/id?id={id}&api_token=XXX`

### Decision Flow for AI Agents
1. Always use **New Format** first - keep path parameters in the URL path
2. If you get a 404 or error, try **Old Format** with sanitized path
3. Log which format worked for future requests to this provider

## API Categories

## Common Endpoints

### List activities

**Method:** GET
**LowCodeAPI Path:** /activities

**New Format URL:**
https://api.lowcodeapi.com/youtube/activities?api_token=YOUR_API_TOKEN

**Old Format URL:**
https://api.lowcodeapi.com/youtube/v3/activities?api_token=YOUR_API_TOKEN

**Query Parameters:**

| Parameter | Type | Description |
|-----------|------|-------------|
| channelId | string |  |
| home | boolean |  |
| maxResults | number |  |
| mine | boolean |  |
| pageToken | string |  |
| part | string |  |
| publishedAfter | string |  |
| publishedBefore | string |  |
| regionCode | string |  |

**Example Request (New Format):**

```bash
curl -X GET 'https://api.lowcodeapi.com/youtube/activities?api_token=YOUR_API_TOKEN'
```

**Official Documentation:** https://developers.google.com/youtube/v3/docs/activities/list

### Insert activity

**Method:** POST
**LowCodeAPI Path:** /activities

**New Format URL:**
https://api.lowcodeapi.com/youtube/activities?api_token=YOUR_API_TOKEN

**Old Format URL:**
https://api.lowcodeapi.com/youtube/v3/activities?api_token=YOUR_API_TOKEN

**Query Parameters:**

| Parameter | Type | Description |
|-----------|------|-------------|
| part | string |  |

**Request Body:**

| Field | Type | Description |
|-------|------|-------------|
| contentDetails | object |  |
| snippet | object |  |

**Example Request (New Format):**

```bash
curl -X POST 'https://api.lowcodeapi.com/youtube/activities?api_token=YOUR_API_TOKEN'
```

**Official Documentation:** https://developers.google.com/youtube/v3/docs/activities/insert

### List channels

**Method:** GET
**LowCodeAPI Path:** /channels

**New Format URL:**
https://api.lowcodeapi.com/youtube/channels?api_token=YOUR_API_TOKEN

**Old Format URL:**
https://api.lowcodeapi.com/youtube/v3/channels?api_token=YOUR_API_TOKEN

**Query Parameters:**

| Parameter | Type | Description |
|-----------|------|-------------|
| categoryId | string |  |
| forHandle | string |  |
| forUsername | string |  |
| hl | string |  |
| id | string |  |
| managedByMe | boolean |  |
| maxResults | number |  |
| mine | boolean |  |
| mySubscribers | boolean |  |
| onBehalfOfContentOwner | string |  |
| pageToken | string |  |
| part | string |  |

**Example Request (New Format):**

```bash
curl -X GET 'https://api.lowcodeapi.com/youtube/channels?api_token=YOUR_API_TOKEN'
```

**Official Documentation:** https://developers.google.com/youtube/v3/docs/channels/list

### Update channel

**Method:** PUT
**LowCodeAPI Path:** /channels

**New Format URL:**
https://api.lowcodeapi.com/youtube/channels?api_token=YOUR_API_TOKEN

**Old Format URL:**
https://api.lowcodeapi.com/youtube/v3/channels?api_token=YOUR_API_TOKEN

**Query Parameters:**

| Parameter | Type | Description |
|-----------|------|-------------|
| onBehalfOfContentOwner | string |  |
| part | string |  |

**Request Body:**

| Field | Type | Description |
|-------|------|-------------|
| auditDetails | object |  |
| brandingSettings | object |  |
| contentDetails | object |  |
| contentOwnerDetails | object |  |
| id | string |  |
| localizations | object |  |
| snippet | object |  |
| statistics | object |  |
| status | object |  |

**Example Request (New Format):**

```bash
curl -X PUT 'https://api.lowcodeapi.com/youtube/channels?api_token=YOUR_API_TOKEN'
```

**Official Documentation:** https://developers.google.com/youtube/v3/docs/channels/update

### List channel sections

**Method:** GET
**LowCodeAPI Path:** /channelSections

**New Format URL:**
https://api.lowcodeapi.com/youtube/channelSections?api_token=YOUR_API_TOKEN

**Old Format URL:**
https://api.lowcodeapi.com/youtube/v3/channelSections?api_token=YOUR_API_TOKEN

**Query Parameters:**

| Parameter | Type | Description |
|-----------|------|-------------|
| channelId | string |  |
| hl | string |  |
| id | string |  |
| mine | boolean |  |
| onBehalfOfContentOwner | string |  |
| part | string |  |

**Example Request (New Format):**

```bash
curl -X GET 'https://api.lowcodeapi.com/youtube/channelSections?api_token=YOUR_API_TOKEN'
```

**Official Documentation:** https://developers.google.com/youtube/v3/docs/channelSections/list

### Insert channel section

**Method:** POST
**LowCodeAPI Path:** /channelSections

**New Format URL:**
https://api.lowcodeapi.com/youtube/channelSections?api_token=YOUR_API_TOKEN

**Old Format URL:**
https://api.lowcodeapi.com/youtube/v3/channelSections?api_token=YOUR_API_TOKEN

**Query Parameters:**

| Parameter | Type | Description |
|-----------|------|-------------|
| onBehalfOfContentOwner | string |  |
| onBehalfOfContentOwnerChannel | string |  |
| part | string |  |

**Request Body:**

| Field | Type | Description |
|-------|------|-------------|
| contentDetails | object |  |
| localizations | object |  |
| snippet | object |  |

**Example Request (New Format):**

```bash
curl -X POST 'https://api.lowcodeapi.com/youtube/channelSections?api_token=YOUR_API_TOKEN'
```

**Official Documentation:** https://developers.google.com/youtube/v3/docs/channelSections/insert

### Update channel section

**Method:** PUT
**LowCodeAPI Path:** /channelSections

**New Format URL:**
https://api.lowcodeapi.com/youtube/channelSections?api_token=YOUR_API_TOKEN

**Old Format URL:**
https://api.lowcodeapi.com/youtube/v3/channelSections?api_token=YOUR_API_TOKEN

**Query Parameters:**

| Parameter | Type | Description |
|-----------|------|-------------|
| onBehalfOfContentOwner | string |  |
| part | string |  |

**Request Body:**

| Field | Type | Description |
|-------|------|-------------|
| contentDetails | object |  |
| id | string |  |
| localizations | object |  |
| snippet | object |  |

**Example Request (New Format):**

```bash
curl -X PUT 'https://api.lowcodeapi.com/youtube/channelSections?api_token=YOUR_API_TOKEN'
```

**Official Documentation:** https://developers.google.com/youtube/v3/docs/channelSections/update

### Delete channel section

**Method:** DELETE
**LowCodeAPI Path:** /channelSections

**New Format URL:**
https://api.lowcodeapi.com/youtube/channelSections?api_token=YOUR_API_TOKEN

**Old Format URL:**
https://api.lowcodeapi.com/youtube/v3/channelSections?api_token=YOUR_API_TOKEN

**Query Parameters:**

| Parameter | Type | Description |
|-----------|------|-------------|
| id | string |  |
| onBehalfOfContentOwner | string |  |

**Example Request (New Format):**

```bash
curl -X DELETE 'https://api.lowcodeapi.com/youtube/channelSections?api_token=YOUR_API_TOKEN'
```

**Official Documentation:** https://developers.google.com/youtube/v3/docs/channelSections/delete

### List comments

**Method:** GET
**LowCodeAPI Path:** /comments

**New Format URL:**
https://api.lowcodeapi.com/youtube/comments?api_token=YOUR_API_TOKEN

**Old Format URL:**
https://api.lowcodeapi.com/youtube/v3/comments?api_token=YOUR_API_TOKEN

**Query Parameters:**

| Parameter | Type | Description |
|-----------|------|-------------|
| id | string |  |
| maxResults | number |  |
| pageToken | string |  |
| parentId | string |  |
| part | string |  |
| textFormat | string |  |

**Example Request (New Format):**

```bash
curl -X GET 'https://api.lowcodeapi.com/youtube/comments?api_token=YOUR_API_TOKEN'
```

**Official Documentation:** https://developers.google.com/youtube/v3/docs/comments/list

### Insert comment

**Method:** POST
**LowCodeAPI Path:** /comments

**New Format URL:**
https://api.lowcodeapi.com/youtube/comments?api_token=YOUR_API_TOKEN

**Old Format URL:**
https://api.lowcodeapi.com/youtube/v3/comments?api_token=YOUR_API_TOKEN

**Query Parameters:**

| Parameter | Type | Description |
|-----------|------|-------------|
| part | string |  |

**Request Body:**

| Field | Type | Description |
|-------|------|-------------|
| snippet | object |  |

**Example Request (New Format):**

```bash
curl -X POST 'https://api.lowcodeapi.com/youtube/comments?api_token=YOUR_API_TOKEN'
```

**Official Documentation:** https://developers.google.com/youtube/v3/docs/comments/insert


## Usage Examples

### Example 1: Get User Profile

```bash
# Get current user information
curl -X GET "https://api.lowcodeapi.com/youtube/user?api_token=YOUR_API_TOKEN"
```

### Example 2: List Messages or Posts

```bash
# Get list of messages/posts
curl -X GET "https://api.lowcodeapi.com/youtube/messages?api_token=YOUR_API_TOKEN"
```

### Example 3: Send Message or Create Post

```bash
# Send a message
curl -X POST "https://api.lowcodeapi.com/youtube/chat.postMessage?api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "channel": "CHANNEL_ID",
    "text": "Hello from YouTube!"
  }'
```

## Error Handling

LowCodeAPI returns standard HTTP status codes. Common errors:

| Status Code | Description |
|-------------|-------------|
| 200 | Success - Request completed successfully |
| 400 | Bad Request - Invalid parameters or request body |
| 401 | Unauthorized - Invalid or missing API token |
| 403 | Forbidden - Insufficient permissions |
| 404 | Not Found - Endpoint or resource doesn't exist |
| 429 | Too Many Requests - Rate limit exceeded |
| 500 | Server Error - Provider API error |

All error responses include error details:

```json
{
  "data": {
    "error": {
      "message": "Error description",
      "code": "ERROR_CODE"
    }
  }
}
```

## Complete Endpoint Reference

| Endpoint | Method | Category |
|----------|--------|----------|
| List activities | GET | Activities |
| Insert activity | POST | Activities |
| List channels | GET | Channels |
| Update channel | PUT | Channels |
| List channel sections | GET | Channel Sections |
| Insert channel section | POST | Channel Sections |
| Update channel section | PUT | Channel Sections |
| Delete channel section | DELETE | Channel Sections |
| List comments | GET | Comments |
| Insert comment | POST | Comments |
| Update comment | PUT | Comments |
| Set comment moderation status | POST | Comments |
| Delete comment | DELETE | Comments |
| List comment threads | GET | Comment Threads |
| Insert comment thread | POST | Comment Threads |
| Update comment thread | PUT | Comment Threads |
| List i18n languages | GET | i18n Languages |
| List i18n regions | GET | i18n Regions |
| List members | GET | Members |
| List membership levels | GET | Memberships |
| List playlist items | GET | Playlist Items |
| Insert playlist item | POST | Playlist Items |
| Update playlist item | PUT | Playlist Items |
| Delete playlist item | DELETE | Playlist Items |
| List playlists | GET | Playlists |
| Insert playlist | POST | Playlists |
| Update playlist | PUT | Playlists |
| Delete playlist | DELETE | Playlists |
| Search | GET | Search |
| List subscriptions | GET | Subscriptions |
| Insert subscription | POST | Subscriptions |
| Delete subscription | DELETE | Subscriptions |
| Set thumbnail | POST | Thumbnails |
| List videos | GET | Videos |
| Insert video | POST | Videos |
| Update video | PUT | Videos |
| Delete video | DELETE | Videos |
| Rate video | POST | Videos |
| Get video rating | GET | Videos |
| Report video abuse | POST | Videos |
| Delete comment thread | DELETE | Comment Threads |
| List guide categories | GET | Guide Categories |
| List video categories | GET | Video Categories |
| List video abuse report reasons | GET | Video Abuse Report Reasons |
| List captions | GET | Captions |
| Insert caption | POST | Captions |
| Update caption | PUT | Captions |
| Delete caption | DELETE | Captions |
| Download caption | GET | Captions |
| Set watermark | POST | Watermarks |
| Unset watermark | POST | Watermarks |
| List live broadcasts | GET | Live Broadcasts |
| Insert live broadcast | POST | Live Broadcasts |
| Update live broadcast | PUT | Live Broadcasts |
| Delete live broadcast | DELETE | Live Broadcasts |
| Bind live broadcast | POST | Live Broadcasts |
| Transition live broadcast | POST | Live Broadcasts |
| Control live broadcast | POST | Live Broadcasts |
| List live streams | GET | Live Streams |
| Insert live stream | POST | Live Streams |
| Update live stream | PUT | Live Streams |
| Delete live stream | DELETE | Live Streams |
| List live chat messages | GET | Live Chat |
| Insert live chat message | POST | Live Chat |
| Delete live chat message | DELETE | Live Chat |
| List live chat moderators | GET | Live Chat |
| Insert live chat moderator | POST | Live Chat |
| Delete live chat moderator | DELETE | Live Chat |
| List super chat events | GET | Super Chat Events |
| Insert channel banner | POST | Channel Banners |
| Batch requests | POST | Batch |

## API Definition Endpoints

You can fetch the complete API specification for this provider:

**New Format (OpenAPI spec):**
```bash
curl 'https://backend.lowcodeapi.com/youtube/openapi'
```

**Old Format (API definition):**
```bash
curl 'https://backend.lowcodeapi.com/youtube/definition'
```

## Response Format

All responses are wrapped in a `data` key:

```json
{
  "data": {
    // Actual response from provider (object or array)
  }
}
```