---
title: "Get a channel's latest matching video"
method: GET
path: "/v1/social/youtube/by-channel/{channelId}/latest"
tags: ["social"]
---

# Get a channel's latest matching video

`GET /v1/social/youtube/by-channel/{channelId}/latest`

## Request

- Base URL: `https://api.brixsignage.com`
- URL: `https://api.brixsignage.com/v1/social/youtube/by-channel/{channelId}/latest`
- Auth: none required

Get the newest upload from any public YouTube channel, identified by channelId, whose title matches the match query parameter. The response includes a ready-to-use embed URL. No connected account or API key is required, because this reads only publicly available data.

**Notes.**
- Needs no credential: it reads YouTube's public channel feed.
- No match answers the last video this rule found, with `stale: true`; with none, `data: null` and a `reason`.

## Path parameters

- `channelId` string, required

## Query parameters

- `match` string
- `sound` '1'
- `history` integer

## Response `200`

Success.

- union
  - object
    - `data` object, nullable, required
      - `videoId` string, required
      - `title` string, required
      - `publishedAt` string, required: ISO-8601 timestamp (UTC).
      - `embedUrl` string, required
    - `stale` false, required
    - `channelId` string, required
    - `history` object[]: With `history`.
      - `videoId` string, required
      - `title` string, required
      - `publishedAt` string, required: ISO-8601 timestamp (UTC).
      - `ageText` string, nullable, required
      - `thumbnailUrl` string, required
    - `scanned` integer: With `history`: how many videos were looked at.
    - `reason` 'feed_unavailable' | 'no_match': Why `data` is null.
  - object
    - `data` object, required
      - `videoId` string, required
      - `title` string, required
      - `publishedAt` string, required: ISO-8601 timestamp (UTC).
      - `embedUrl` string, required
    - `stale` true, required
    - `staleSince` string, required: ISO-8601 timestamp (UTC).

## Other responses

- `400`: `bad_channel`: not a channel id or handle.
- `401`: Missing, expired or revoked bearer token.
- `429`: More than 60 calls a minute.
- `5XX`: Server error. The body carries a `requestId` to quote to support.

---

[API](https://skmtc.dev/brixsignage/apis/brix-api.md) · [All operations](https://skmtc.dev/brixsignage/apis/brix-api/llms.txt) · [OpenAPI document](https://skmtc.dev/brixsignage/apis/brix-api/revisions/02fd3665dc7d?raw)
