YouTube video comments
Fetch top-level comments for a YouTube video using the public watch page and comments continuations.
POST
/v1/youtube/video/comments Request Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| pages | body | number | No | Number of comment pages to fetch (1-20). |
| url | body | string | No | Alias for video_url. |
| video_id | body | string | No | YouTube video ID. |
| video_url | body | string | No | YouTube video URL, short URL, or shorts URL. |
Response Structure
Async kickoff response
Polled run result response
Sync response
Declared output schema
Code Examples
Async + polling
RUN=$(curl -s -X POST "https://api.browsable.app/v1/youtube/video/comments" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"pages":1,"url":"https://example.com/item-1","video_id":"id-1","video_url":"https://example.com/item-1"}')
RUN_ID=$(echo "$RUN" | jq -r '.run_id')
while true; do
RESULT=$(curl -s -H "Authorization: Bearer YOUR_API_KEY" "https://api.browsable.app/v1/runs/$RUN_ID")
STATUS=$(echo "$RESULT" | jq -r '.run_status')
if [ "$STATUS" = "succeeded" ] || [ "$STATUS" = "failed" ]; then
echo "$RESULT"
break
fi
sleep 2
doneSync
curl -X POST "https://api.browsable.app/v1/youtube/video/comments" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"pages":1,"url":"https://example.com/item-1","video_id":"id-1","video_url":"https://example.com/item-1","_run":{"async":false}}'