
Youtube Video, Shorts & MP3 Downloader
Pricing
$9.99/month + usage

Youtube Video, Shorts & MP3 Downloader
[𝗖𝗵𝗲𝗮𝗽𝗲𝘀𝘁 𝗣𝗿𝗶𝗰𝗲] YouTube Video, Shorts & MP3 Downloader effortlessly extracts download links from YouTube videos in multiple resolutions: 8K to 360p. It provides separate video, audio & a merged Video link along with detailed metadata. Bulk Processing (Support 1000+ URLs & TXT file)
5.0 (1)
Pricing
$9.99/month + usage
7
Total users
59
Monthly users
24
Runs succeeded
>99%
Issues response
1.4 days
Last modified
a month ago
HTTP Error 403: Forbbiden When Trying to Download the video from the download link
Closed
Hi,
We keep getting http eror 403 when downloading from the download link. We are using python and triggering it via code. We are downloading results to a CSV reading the csv into pandas, and then triggering downloading

Thanks for reaching out. To help troubleshoot the 403 error you're seeing, could you please share a screenshot of the code you're using and any relevant logs? That'll help me understand exactly where the issue might be happening.
light_grimace
I tried many things but the main error is this one:
Streaming videos: 0%| | 0/26 [00:00<?, ?it/s] ❌ Failed: 403 Client Error: Forbidden for url: https://rr2---sn-p5qs7nzk.googlevideo.com/videoplayback?expire=1745453903&ei=7y4JaIO6OIelir4Ps8OV6AM&ip=38.158.178.30&id=o-AJA8sksSkvqws7LrW6qW6y1H1uh9nHhMSRhqnmzI7Gow&itag=18&source=youtube&requiressl=yes&xpc=EgVo2aDSNQ%3D%3D&bui=AccgBcPyZlZzLJoeKKd1V7OHO6j1W3p3SpikBZpDve_bc7uJkv-preyU-pweSoWHB2uiwKpalclWDPrk&vprv=1&svpuc=1&mime=video%2Fmp4&ns=NqLl1kSb_VAN6JhwupyoGHEQ&rqh=1&gir=yes&clen=531233551&ratebypass=yes&dur=29175.222&lmt=1743910615767301&lmw=1&c=TVHTML5&sefc=1&txp=5438534&n=q-m8Rp608sJieg&sparams=expire%2Cei%2Cip%2Cid%2Citag%2Csource%2Crequiressl%2Cxpc%2Cbui%2Cvprv%2Csvpuc%2Cmime%2Cns%2Crqh%2Cgir%2Cclen%2Cratebypass%2Cdur%2Clmt&sig=AJfQdSswRAIgWQ55CSa6BdICCnhRyPqJ-7Tu7qKD44rl90YL50oFQX4CIAmqmLy8Qe8IhK9Wu3FeZhFhurcF7tCqLYY8AnwDaDNy&rm=sn-ounjvhh-acce7z,sn-q4fell7l&rrc=79,104&fexp=24350590,24350737,24350827,24350961,24351173,24351431,24351495,24351528,24351542,24351545,24351638,24351643,24351672,24351704&req_id=23a3748db20736e2&rms=rdu,au&redirect_counter=2&cms_redirect=yes&cmsv=e&ipbypass=yes&met=1745443496,&mh=PU&mip=44.192.64.3&mm=29&mn=sn-p5qs7nzk&ms=rdu&mt=1745442338&mv=u&mvi=2&pl=18&lsparams=ipbypass,met,mh,mip,mm,mn,ms,mv,mvi,pl,rms&lsig=ACuhMU0wRQIgf07V2apN3y063zQ-z5dqWF2K2eXvXFtoqshR4VtalCECIQDV2wRQuA9ksYskmys6HZcZnam3Zp_IYeQWq1XoOOcvcw%3D%3D Streaming videos: 4%|▍ | 1/26 [00:01<00:33, 1.33s/it]

I totally understand how frustrating it can be to run into errors. While I can’t provide a specific solution without seeing the code, it does seem like the issue might be related to saving the video from Google’s server.
If you can share the relevant part of your code, I’d be happy to take a closer look and help debug it.
light_grimace
What part of the code do you need? I am just doing a simple function to get the video out of broswer
def stream_to_s3(mp4_url: str, s3_key: str): headers = { "User-Agent": ( "Mozilla/5.0 (Windows NT 10.0; Win64; x64) " "AppleWebKit/537.36 (KHTML, like Gecko) " "Chrome/114.0.0.0 Safari/537.36" ), "Referer": "https://www.youtube.com", "Origin": "https://www.youtube.com", "Range": "bytes=0-" } url = clean_url(mp4_url) with requests.get(url, stream=True, headers=headers, timeout=30) as r: r.raise_for_status() s3.upload_fileobj(r.raw, BUCKET, s3_key)
light_grimace
That is the latest version so not what I started with

The code you shared doesn’t seem to be the complete version. It would be really helpful if you could share the full code, a screenshot, or even push it to a repo and send the link.
Also, from what you've shared, I don't see how you're using an Apify Actor to retrieve the data.