Browsable Browsable Docs

YouTube channel email

Reveal the protected public business email from a YouTube channel's about panel using a managed signed-in browser.

POST /v1/youtube/channel/email

Authentication

Requires a managed youtube.com login on kernel. Browsable automatically uses a saved login when one is available.

If your team does not already have a usable login, the API returns 428 Authentication required with a hosted_url. Open that URL, finish sign-in, then retry the same request.

Request Parameters

Name In Type Required Description
captcha_timeout_ms body number No Milliseconds to wait for YouTube's captcha and email reveal flow (0-300000). Defaults to 180000.
channel_id body string No YouTube channel ID (for example UCX6OQ3DkcsbYNE6H8uQQuVA).
channel_url body string No YouTube channel URL or tab URL. Handles like https://www.youtube.com/@MrBeast and channel IDs are normalized to the requested tab.
handle body string No YouTube channel handle, with or without the leading @.

Response Structure

Async kickoff response

Polled run result response

Sync response

Authentication required response

Declared output schema

Code Examples

Async + polling

RUN=$(curl -s -X POST "https://api.browsable.app/v1/youtube/channel/email" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"captcha_timeout_ms":180000,"channel_id":"id-1","channel_url":"https://example.com/item-1","handle":"sample"}')
RUN_ID=$(echo "$RUN" | jq -r '.run_id')
POLL_DELAY=3
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|failed|errored|cancelled|canceled|expired)$ ]]; then
echo "$RESULT"
break
fi
sleep "$(awk "BEGIN { print $POLL_DELAY * (0.9 + ($RANDOM % 21) / 100) }")"
POLL_DELAY=$((POLL_DELAY < 30 ? POLL_DELAY * 2 : 30))
[ "$POLL_DELAY" -gt 30 ] && POLL_DELAY=30
done

Sync

curl -X POST "https://api.browsable.app/v1/youtube/channel/email" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"captcha_timeout_ms":180000,"channel_id":"id-1","channel_url":"https://example.com/item-1","handle":"sample","_run":{"async":false}}'