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
doneSync
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}}'