# YouTube Video Info API

> Duration, view counts, metadata and channel details for one video.

**Retired on 15 Sep 2026.** This endpoint is retired as of 15 September 2026. It receives no further fixes or support and may be switched off without further notice. Remove it from existing integrations; no replacement is offered.

Looks up a single YouTube video by its page URL and returns its statistics, description and the channel that published it.

- **Endpoint:** `GET https://api.zactonz.com/tuber/v1/yt-fetch.php`
- **Category:** Video
- **Version:** 1
- **Status:** retired
- **Reference page:** https://developers.zactonz.com/apis/youtube-video-info/

## Parameters

Send parameters in the query string.

| Name | Type | Required | Default | Description |
|---|---|---|---|---|
| `key` | string | yes |  | Your API key, repeated as a query parameter. Kept for existing integrations; the `Authorization: Bearer` header is the supported way to authenticate. |
| `url` | string | yes |  | The YouTube video URL. |

## Response

Video statistics and channel information.

| Field | Type | Description |
|---|---|---|
| `status` | string | `"200"` on success (a string). See status codes below. |
| `results` | object |  |
| `results.videoId` | string |  |
| `results.title` | string |  |
| `results.description` | string |  |
| `results.publishedAt` | string | ISO 8601 publish time. |
| `results.thumbnail` | string | `hqdefault` thumbnail URL. |
| `results.duration` | string | `H:MM:SS` or `MM:SS`. |
| `results.viewCount` | string |  |
| `results.likeCount` | string |  |
| `results.dislikeCount` | null | Always `null`. |
| `results.commentCount` | string |  |
| `results.channel` | object |  |
| `results.channel.channelId` | string |  |
| `results.channel.channelTitle` | string |  |
| `results.channel.subscriberCount` | string |  |
| `results.channel.thumbnail` | string | Channel avatar URL. |
| `results.channel.viewCount` | string | Lifetime channel views. |

```json
{
    "status": "200",
    "results": {
        "videoId": "oeCihv9A3ac",
        "title": "Sample video",
        "description": "A short description.",
        "publishedAt": "2019-03-04T09:12:44Z",
        "thumbnail": "https://img.youtube.com/vi/oeCihv9A3ac/hqdefault.jpg",
        "duration": "3:42",
        "viewCount": "18342",
        "likeCount": "412",
        "dislikeCount": null,
        "commentCount": "37",
        "channel": {
            "channelId": "UC_x5XG1OV2P6uZZ5FSM9Ttw",
            "channelTitle": "Sample channel",
            "subscriberCount": "12400",
            "thumbnail": "https://yt3.ggpht.com/…/photo.jpg",
            "viewCount": "9876543"
        }
    }
}
```

## Status codes

The outcome is reported in the JSON `status` field. General rules: https://developers.zactonz.com/apis/errors.md

| status | Meaning | Description |
|---|---|---|
| `200` | OK | The video was found. An empty `results` means its statistics are not public. |
| `301` | Not a video URL | No video id could be read from `url`. |
| `400` | Missing key | `key` was absent. |
| `403` | Invalid key | `key` is not recognised. |
| `502` | Lookup failed | YouTube's Data API rejected the request. Retry later. |

## Notes

Accepts `watch?v=`, `youtu.be/` and embed URLs. `dislikeCount` is always `null` (retired by YouTube in 2021). Videos whose statistics are private return status `200` with an empty `results` object.
