---
title: "Resolve channel reference to UC... ID"
method: GET
path: "/api/v2/youtube/channel/resolve"
tags: ["YouTube channel"]
---

# Resolve channel reference to UC... ID

`GET /api/v2/youtube/channel/resolve`

Resolve any channel reference (@handle, URL, or UC... ID) to a canonical UC... channel ID.

**Credit cost:** FREE (requires auth + at least 1 active credit, but does not charge).

## Query parameters

- `input` string, required — @handle, channel URL, or UC... ID

## Response `200`

Successful Response

- ChannelResolveResponse
  - `channel_id` string, required
  - `resolved_from` string, required

## Other responses

- `400` — **Bad Request** - Missing or invalid parameters. **Do not retry** with the same input.
- `401` — Unauthorized - invalid Authorization format or API key
- `402` — Payment Required - inactive plan or exhausted credits
- `404` — **Not Found** - Channel does not exist. **Do not retry.**
- `408` — **Request Timeout / Retry** - Temporary failure (bot detection, network issues). **Safe to retry** after a short delay (1-5 seconds).
- `422` — Validation Error
- `429` — **Too Many Requests** - Rate limit exceeded. **Retry after** the delay in `Retry-After` header.
- `500` — **Internal Server Error** - Unexpected error. May retry, but if persistent, contact support.
- `503` — **Service Unavailable** - Service temporarily down or initializing. **Retry** after a short delay.

---

[API](https://skmtc.dev/transcriptapi/apis/youtube-transcript-api-public.md) · [All operations](https://skmtc.dev/transcriptapi/apis/youtube-transcript-api-public/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/transcriptapi/youtube-transcript-api-public/revisions/3203c2d6486c/schema)
