Download from Yahoo!

Update 2014/05/18: Yahoo! has switch to a new design for their movie pages. The underlying download mechanism hasn’t changed. Once you find the content_id (sometimes called the media_id), you’ll just need to follow the instructions below. I’ll try and find sometime later this week to update this tutorial.

Update 2013/04/06: Finally found time to explain how to download using their new system. Do be warned though, the instructions can get rather complicated and is not for the weak-minded.

Update 2012/12/23: Yahoo! has once again changed their API and the way to get the direct download URL this time is a lot more complicated. Hopefully I will find some time to update this tutorial shortly.

Update 2012/01/21: Yahoo! has revamped their site and I’ve generated a quick tutorial on how to download HD trailers using their new site. The instructions are a bit rough, so if you need clarification, please feel free to ask in the comments area.

This tutorial was meant to teach you how to download HD Trailers from Yahoo! Movies.

Where to find the trailers:

Yahoo! no longer has a dedicated page for HD trailers and they don’t easily distinguish which videos have HD and which don’t. You can visit their movie trailers page or find the movie you want and click on the Trailers tab.

What to do once you’ve picked a trailer:

Once you’ve picked a trailer, you’ll have to make sure you have a ‘video’ URL and not a ‘trailers’ URL. For example, the latest Carrie trailer can be found either on http://movies.yahoo.com/movie/carrie-2013/trailers/carrie-trailer-2-231012436.html OR http://movies.yahoo.com/video/carrie-trailer-2-231012436.html. You’ll want to make sure your URL looks like the latter by replacing movie/carrie-2013/trailers with video.

Update 2013/04/15: It has come to my attention that URLs that have ymovies-6393699 will not work with these instructions. I have not found a way to get direct download links from them, only rtmp links.

Next, you’ll need to extract the content id. You’ll need to view the source of the page when the trailer is playing. I’m going to use the latest Carrie trailer for example. If you view the source of that page, you’ll find the following:

YUI.namespace("Media").CONTENT_ID = "b61427ff-58a1-3839-9832-3de79481dab4";

What you need to extract is the content id: b61427ff-58a1-3839-9832-3de79481dab4

Once you have the the content id, insert it into the following URL:

http://video.query.yahoo.com/v1/public/yql?q=SELECT%20*%20FROM%20yahoo.media.video.streams%20WHERE%20id%3D%22[CONTENT_ID]%22%20AND%20format%3D%22mp4%22%20AND%20protocol%3D%22http%22%20AND%20plrs%3D%22sdwpWXbKKUIgNzVhXSce__%22%20AND%20region%3D%22US%22%3B&env=prod&format=json

replacing [CONTENT_ID] with the content id you extracted earlier. Using the Carrie trailer example, you should have the following URL:

http://video.query.yahoo.com/v1/public/yql?q=SELECT%20*%20FROM%20yahoo.media.video.streams%20WHERE%20id%3D%22b61427ff-58a1-3839-9832-3de79481dab4%22%20AND%20format%3D%22mp4%22%20AND%20protocol%3D%22http%22%20AND%20plrs%3D%22sdwpWXbKKUIgNzVhXSce__%22%20AND%20region%3D%22US%22%3B&env=prod&format=json

How to download the actual trailer:

The final step is easy. Open the link you just generated.

What you get back is a list of all the videos in different resolutions that is supported. It may be hard to understand at first, but should be pretty simple after I explain what it means.

You can break up the data since each video is encapsulated inside a {…}. By searching for width and height, you should be able to find the resolution you want. For example, the 1080p trailer data looks like this:

{"mime_type":"video/mp4","path":"/yahoomovies/lotus/20130404_carrie_trailer2_4000.mp4?b=40000&d=+y+b61427ff-58a1-3839-9832-3de79481dab4++atlas+ca&dt=us+us_t+vid+b+cdn+cat&m=video%2fmp4&ns=ps+ss&ps=sdwpWXbKKUIgNzVhXSce__&ss=692e7f97-e951-402c-8aec-3096ad0dbefc&x=1365310511&s=737f76faaa9a89bff4b1079a1b9088a0","duration":152.0,"host":"http://c-1b6e2e40f7b267578312558bfee5eb25.a-yahoomovies.i-62e1269a.http.atlas.cdn.yimg.com","live":false,"bitrate":4000.0,"width":1920.0,"height":1080.0}

Next you’ll need to find the host and combine it with the path, resulting in this URL:

http://c-1b6e2e40f7b267578312558bfee5eb25.a-yahoomovies.i-62e1269a.http.atlas.cdn.yimg.com/yahoomovies/lotus/20130404_carrie_trailer2_4000.mp4?b=40000&d=+y+b61427ff-58a1-3839-9832-3de79481dab4++atlas+ca&dt=us+us_t+vid+b+cdn+cat&m=video%2fmp4&ns=ps+ss&ps=sdwpWXbKKUIgNzVhXSce__&ss=692e7f97-e951-402c-8aec-3096ad0dbefc&x=1365310511&s=737f76faaa9a89bff4b1079a1b9088a0

Open that URL in your browser or download manager and you should be able to save the trailer to your hard disk.

One thing to note is that the download URL you just generated is temporary and the link will expire. If you’ve waited too long, you’ll need to refresh the page with the content id in the URL, and new download URLs should be provided.

Hope this helps!

Using Download Managers:

For those using a download manager (i.e. FlashGet, DownloadThemAll!, etc.), you may experience some issues where you’d be prompted to enter a username/password. The cause for this as it turns out is Yahoo! isn’t too fond of users simultaneously downloading multiple pieces of the same trailer. My recommendation is to download directly from the browser or use a download utility such as wget or curl.

108 thoughts on “Download from Yahoo!

  1. Hi and thanks for the tutorial.
    I’ve got something wrong with my Curl command though. Don’t get why this does not work as in my browser. Here is an exemple (of course the link is now dead, but you get the meaning):

    curl -# -o ~/Downloads/rush-trailer-205036805.mp4 -A Safari http://c-f59254a8632fe896fa3853a3a6436465.a-yahoomovies.i-4ef898f2.http.atlas.cdn.yimg.com/yahoomovies/lotus/20130411_rush_trailer_4000.mp4?b=40000&d=+y+cfd947ed-b003-3d7b-ba38-4d470e36c5f4++atlas+ca&dt=us+us_t+vid+b+cdn+cat&m=video%2fmp4&ns=ps+ss&ps=sdwpWXbKKUIgNzVhXSce__&ss=2efe8b67-be48-43ca-ab9a-a719d720d8fa&x=1365910911&s=d19acf27149bc9d7a65acf9bc708d494
    [1] 4287
    [2] 4288
    [3] 4289
    [4] 4290
    [5] 4291
    [6] 4292
    [7] 4293
    [8] 4294
    [2] Done d=+y+cfd947ed-b003-3d7b-ba38-4d470e36c5f4++atlas+ca
    [3] Done dt=us+us_t+vid+b+cdn+cat
    [4] Done m=video%2fmp4
    [5] Done ns=ps+ss
    [6] Done ps=sdwpWXbKKUIgNzVhXSce__
    ######################################################################## 100,0%

    [1] Done curl -# -o ~/Downloads/rush-trailer-205036805.mp4 -A Safari http://c-f59254a8632fe896fa3853a3a6436465.a-yahoomovies.i-4ef898f2.http.atlas.cdn.yimg.com/yahoomovies/lotus/20130411_rush_trailer_4000.mp4?b=40000
    [7]- Done ss=2efe8b67-be48-43ca-ab9a-a719d720d8fa
    [8]+ Done x=1365910911

    This is weird, don’t you think? I dont get why the downloading get sliced like this neither.

    • You need to wrap the URL in quotes. e.g. “http://www.yahoo.com/video/trailer.mp4″

      The command prompt treats &s as special commands. By quoting the URL, it tells it to ignore it.

      • So lame of me, not quoting my url. Thank you very much for your help! couldn’t possibly see this without copy pasting…

  2. Hello,

    I followed your tutorial and it seems it doesn’t work with every trailers. I am looking for the Silver Linings Playbook 12min featurette found on this link (http://movies.yahoo.com/video/silver-linings-playbook-deniro-featurette-230016797.html) in 1080p.

    I end up with this url:

    http://c-bf30e36237f6d35462ad280cc11dc84f.a-yahoomovies.i-5399da7b.http.atlas.cdn.yimg.com/yahoomovies/lotus/20130117_silverliningsplaybook_12minfeaturette_4000.mp4?b=40000&d=+y+b9964856-421c-32bd-9831-ad412b574466+ODFlbjZydDhwMTg5ayZiPTMmcz0wNA–+atlas+ca&dt=us+us_t+vid+b+cdn+cat&m=video%2fmp4&ns=ps+ss&ps=sdwpWXbKKUIgNzVhXSce__&ss=69a2a9e7-2a52-4690-9c37-5376d967a40c&x=1368433627&s=ea5a8c7f5a765f1dd72cd97b25e4e48b

    But my browser say “Your video playback aborted due to network error” and jDownloader says the link is offline.

    Any help would be much appreciated if you can find a way to make it work :)

    • Given that we actually list this featurette on our main trailer page, something else must be going on.

      Before going any further, I just wanted to make sure you knew that these links expire in a couple minutes. Your link actually looks alright, but I wouldn’t be able to open it since the link’s expired.

      2nd, try opening this link in your browser and see if you can get the featurette to download. (note: the link won’t work in JDownloader)

  3. Thanks for your guidance in grabbing Yahoo videos. I found out that you are not limited to trailers but can grab other videos as well. You can use the original method to get the video id and the different resolutions available but this is a quick way on getting a 1080 video if it is available.

    This example is to grab the Deep Dish Pizza video from ChowChiao!

    1. Using Firefox open the url for the video:
    http://screen.yahoo.com/chicago-deep-dish-pizza-170000359.html

    2. Once the ad ends and the actual video starts pause it.

    3. From the Firefox menu click on Tools->Web Developer->Web Console. This will bring up a section in the bottom portion of the firefox window.

    4. Unpause the video and pause it again. You will see some GET and POST messages. The last GET message will contain your video id so copy that line and paste it into an editor.
    [13:20:00.660] GET http://z.analytics.yahoo.com/p.pl?a=1000115488662&dpid=2570931265&vp=1727843580&vpm=1727843580&vid=beb42929-ab93-3435-b4a4-7cb4d108dfaa&vn=CHICAGO%20DEEP%20DISH%20PIZZA&vpos=3&vstpos=0&vx=212&vq=1&rn=0.9279839977731322 [HTTP/1.1 200 OK 120ms]

    5. Look for for &vid. The next group of characters up to and not including the next & character is your video id. In this case it is:
    beb42929-ab93-3435-b4a4-7cb4d108dfaa

    6. Paste the video id at the end of:
    http://www.hd-trailers.net/yahoo-redir.php?id=

    and you should get:
    http://www.hd-trailers.net/yahoo-redir.php?id=beb42929-ab93-3435-b4a4-7cb4d108dfaa

    7. Now you need to add the resolution you want. In this case we are going for 1080 so we add &resolution=1080 to the end of the link:
    http://www.hd-trailers.net/yahoo-redir.php?id=beb42929-ab93-3435-b4a4-7cb4d108dfaa&resolution=1080

    8. Copy and paste this back into Firefox and your video should load (if that resolution is available). If it does not load then try different resolutions.

    9. Once you have the video playing just right-click on the video and select “Save video as…” and you are all done.

    • Unfortunately not all Yahoo media can be download via this method. In cases like your, the only workaround would be to use a RTSP stream recorder.

  4. what is the command for curl for yahoo? i guess not the same as downloading from apple.com? (-A QuickTime -O http:// … )

    • Unfortunately all of Yahoo’s download links are temporary, so you’ll have to generate the download link yourself following the instructions above before you can download it.

      Otherwise, your best bet is to open our links on a new tab and when the video starts playing, to save it to your downloads folder.

  5. Hello!
    I builded a Y! pipe to automatize those steps, and I got working with articles from http://movies.yahoo.com/movie/ (trailers), http://movies.yahoo.com/video/ (your step-by-step), http://news.yahoo.com/video/ (news). However I did not find a working “ymovies-6393699″ URL that you talked about in your update; all such links that I found were 404-ed.
    If you have some can you send them to me so I can try with it? I may try to adapt the software to work with those too, depending on my free time.
    Another improvement I’m working on is a bookmarklet such that on click on the video’s page will be enough to get the urls.
    Thanks for your step-by-step!

  6. Hello!
    Thanks for your step-by-step, it was really useful!
    I made a Yahoo Pipes to automatize the process, it can extract the videos from either http://movies.yahoo.com/movie/…, http://movies.yahoo.com/video/…, or even http://news.yahoo.com/video/
    I wanted to try to have it work with the “ymovies-6393699″ URLs, but I did not find any working (got 404s). Do you have some of those videos links at hand?
    Also, I turned this pipe into a bookmarklet so anyone can have this javascript in his/her bookmark and click it on a Yahoo video and it opens a new window with the video’s links:
    javascript:void(open(‘http://pipes.yahoo.com/pipes/pipe.run?_id=bb97c3adfcbd8d011ff006ddfbf96612&_render=html&url=’+document.location.toString().toLowerCase(),%22_blank%22,%22menubar=no,scrollbars=yes,height=200,width=700%22,%22false%22))

    • Yah, they’re changed their web layout sometime mid last week. How to download the videos hasn’t changed, just where to locate the content id.

      I’ll try and find some time in the coming days to update this tutorial.

      • I had a look at it. In the new layout, you have to look for “videoId”, the id is the following hexa string. I updated my pipe: pipes.yahoo.com/luneart/get_y_videos and as it’s the same url, the bookmarklet holds. (bookmarklet code being, without the “`” marks: `javascript:void(open(‘http://pipes.yahoo.com/luneart/get_y_videos?_render=html&url=’+document.location.toString().toLowerCase(),%22_blank%22,%22menubar=no,scrollbars=yes,height=700,width=700%22,%22false%22))` )

      • im afraid i cant locate any “content_id” or “media_id” in page source, guess ill just wait 4 your updated tutorial.

  7. Thanks! The method works perfectly.

    By the way, I wanted to download a video from a yahoo screen page, and the video’s id in the source page was next to “provider_video_id”.

Leave a Reply