Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we
store it to create your key and to recognise you if you sign in with another
provider. See our Privacy Policy and
Terms.
openapi: 3.2.0
info:
title: Chocodata YouTube API
version: 1.0.0
description: One web scraper API for the whole web.
contact:
name: Chocodata
url: https://chocodata.com
email: hello@chocodata.com
servers:
- url: https://api.chocodata.com
security:
- apiKeyQuery: []
tags:
- name: Youtube
paths:
/api/v1/youtube/transcript:
get:
operationId: getYouTubeTranscript
summary: 'Specific-item endpoint: the timed transcript for a single YouTube video'
parameters:
- name: api_key
in: query
required: true
schema:
type: string
description: Your API key.
- name: query
in: query
required: true
schema:
type: string
description: YouTube video id or watch URL.
- name: language
in: query
required: false
schema:
type: string
description: Preferred transcript language code, e.g. en.
responses:
'200':
description: Transcript segments with start time, duration, and text.
content:
application/json:
schema:
type: object
'401':
description: Missing or invalid API key.
'502':
description: The target site blocked us or returned an unparseable page (not charged).
tags:
- Youtube
/api/v1/youtube/comments:
get:
operationId: getYouTubeComments
summary: Comments for a single YouTube video
parameters:
- name: api_key
in: query
required: true
schema:
type: string
description: Your API key.
- name: query
in: query
required: true
schema:
type: string
description: YouTube video id or watch URL.
responses:
'200':
description: List of comments with author, text, like count, and timestamp.
content:
application/json:
schema:
type: object
'401':
description: Missing or invalid API key.
tags:
- Youtube
components:
securitySchemes:
apiKeyQuery:
type: apiKey
in: query
name: api_key
x-provenance:
method: harvested
publisher: Chocodata
source: https://chocodata.com/openapi.json
note: split by refine-openapis from the provider's own published document, verified by fetch (openapi/_original/*.fetch.json);
stamped by stamp-openapi-provenance.py (roadmap#793)