npm.io
0.6.5 • Published 23h ago

@apicity/youtube

Licence
MIT
Version
0.6.5
Deps
1
Size
70 kB
Vulns
0
Weekly
1.5K

@apicity/youtube

npm dependencies TypeScript

YouTube Data API v3 provider for posting content.

Runtime dependencies:

  • zod@^4.4.3 — request schemas attached to every POST endpoint as .schema

Installation

npm install @apicity/youtube
# or
pnpm add @apicity/youtube

Quick Start

import { createYouTube } from "@apicity/youtube";

const youtube = createYouTube({ apiKey: process.env.YOUTUBE_API_KEY! });

API Reference

5 endpoints across 4 groups. Each method mirrors an upstream URL path.

channels
GET youtube.channels.list

GET https://www.googleapis.com/youtube/v3/channels{query}

Upstream docs

const res = await youtube.channels.list({ /* ... */ });

Source: packages/provider/youtube/src/youtube.ts

transcripts
GET youtube.transcripts

GET https://www.youtube.com/watch?v={videoId}

const res = await youtube.transcripts({ /* ... */ });

Source: packages/provider/youtube/src/youtube.ts

videoMetadata
youtube.videoMetadata

Upstream docs

const res = await youtube.videoMetadata({ /* ... */ });

Source: packages/provider/youtube/src/youtube.ts

videos
POST youtube.videos.insert

POST https://www.googleapis.com/youtube/v3/videos{query}

Upstream docs

const res = await youtube.videos.insert({ /* ... */ });

Source: packages/provider/youtube/src/youtube.ts

GET youtube.videos.list

GET https://www.googleapis.com/youtube/v3/videos{query}

Upstream docs

const res = await youtube.videos.list({ /* ... */ });

Source: packages/provider/youtube/src/youtube.ts

Middleware

import { createYouTube, withRetry } from "@apicity/youtube";

const youtube = createYouTube({ apiKey: process.env.YOUTUBE_API_KEY! });
const models = withRetry(youtube.get.v1.models, { retries: 3 });

Part of the apicity monorepo.

License

MIT — see LICENSE.

Keywords