Browsable Browsable Docs

YouTube to MP3

Convert a YouTube video to MP3 after the requester confirms ownership.

POST /v1/youtube/to-mp3

Request Parameters

Name In Type Required Description
ownership_attestation body boolean Yes Must be true. Confirms the requester owns or manages the YouTube video being converted.
video_url body string Yes Regular YouTube video URL, youtu.be URL, shorts URL, or video ID for a video owned by the authenticated user.
bitrate body string No Target MP3 audio bitrate.
include_metadata body boolean No Whether to preserve basic video metadata in the conversion workflow.

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/to-mp3" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"ownership_attestation":true,"video_url":"https://www.youtube.com/watch?v=dQw4w9WgXcQ","bitrate":"192k","include_metadata":true}')
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
done

Sync

curl -X POST "https://api.browsable.app/v1/youtube/to-mp3" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"ownership_attestation":true,"video_url":"https://www.youtube.com/watch?v=dQw4w9WgXcQ","bitrate":"192k","include_metadata":true,"_run":{"async":false}}'