Server-side fetch by video ID
const apiKey = process.env.SCORITY_API_KEY
if (!apiKey) {
throw new Error("SCORITY_API_KEY is required")
}
const url = new URL("https://api.scority.ai/v1/youtube/transcript")
url.searchParams.set("video_id", "dQw4w9WgXcQ")
url.searchParams.set("language", "en")
const response = await fetch(url, {
headers: {
"x-api-key": apiKey,
accept: "application/json",
},
})
const body = await response.json()
if (!response.ok) {
throw new Error(body.error?.code ?? "transcript_request_failed")
}
Backend route wrapper
export async function POST(request: Request) {
const { videoId } = await request.json()
const url = new URL("https://api.scority.ai/v1/youtube/transcript")
url.searchParams.set("video_id", videoId)
const response = await fetch(url, {
headers: {
"x-api-key": process.env.SCORITY_API_KEY ?? "",
accept: "application/json",
},
})
return Response.json(await response.json(), {
status: response.status,
})
}