I am implementing youtube api for searching videos. I have noticed that search results differ by changing orderby parameter's value. There is one video which shows up with "published" but not with "viewCount". I know, list order will change by changing parameters.
While using viewCount for orderby parameter, videos with lesser view count are visible but some specific video is not listed having large viewCount. And same video can be found by using "published" for orderby.
Kindly explain, how exactly youtube api works.
Thanks!
On an ongoing basis, statistics for a video are typically updated every 30 minutes to two hours. However, updates may occur less frequently under heavy server loads or for videos that are viewed very infrequently. In search feeds, updates to ratings and view counts could take as long as a couple of weeks for infrequently viewed videos.
The YouTube Data API retrieves search results from a specially optimized search index. The index is designed to include new videos as quickly as possible while ensuring high performance even under heavy API server loads. For more info see here: YouTube API
Related
I want to get search keywords from traffic source of video using Youtube Data Api.
I can already view 8-10 on the Dashboard, but most of the time, the video is in 1000 views and although I see 7-8, the api returns empty or only takes one. how can i solve this problem? I will be glad if you help.
I checked the Youtube API and it's mainly to do with adding functionalities related to the YouTube app rather than getting analytics data about videos.
There is a chrome extension called VidIQ that shows the views per hours of a particular video when going to the video's page on YouTube, so I tried reading the source code for it, but it is all compressed and I can't easily find what I'm looking for.
Could someone explain to me how VidIQ chrome extension is getting the views per hour stat for YouTube? Maybe it's not an official stat from Youtube but a rough estimate calculated by VidIQ. How do they get this information?
I tried debugging the VidIQ chrome extension to search through the source code but adding a simple html tag made the file corrupted and disabled the extension until I repaired it again. I'm having difficulties deciphering the source code.
Most of what VidIQ gets is from the YouTube analytics api and not directly from the YouTube data api although i would be they use some combination of both.
If you create a report that extracts views and run it every hour you should get the results you are looking for.
However i would be willing to be that they cache a lot of the data and do some internal analytics on it. They would need to cache it as the YouTube analytics api only returns data for the last 90 days last i checked.
If your intent is to Reverse Engineer VidIQ you may need to accept that a lot of the data you are seeing is internally stored in their system and generated by them based upon the data that is avaliable in the YouTube Analytics API and the YouTube data apis.
First of all, sorry for my badly articulated question, this is my first ever question to post here.
I have programmed a youtube search engine for myself and used it for a long time. Yesterday i noticed it was not working correctly anymore.
I spent some time looking for the problem and soon enough noticed that some of the video statistic data queries return nothing.
Here is an example API URL that doesn't work:
https://www.googleapis.com/youtube/v3/videos?id=nNmfb2FQ8MA&key=PUT API KEY HERE&fields=items(statistics)&part=statistics
If you replace the video ID it should return the statistics of the video.
It just doesnt show anything for some youtube IDs for some reason
I'm using the YouTube search.list API to look for all videos on a specific channel:
https://www.googleapis.com/youtube/v3/search?part=snippet&type=video&channelId=my-channel-id&key=my-public-key
(I can't give specifics due to privacy I'm afraid.)
So this works well for common YouTube channels, but only sometimes works for certain personal ones, often returning no results.
What happens with personal ones is: the first call you make returns the videos, but if you refresh the browser it returns with no results (but no errors either).
I found these two live issues regarding inconsistent search results, but my problem seems a bit different (no query, just a specific channel ID).
Any idea what's going on? I can't find differences between the channels that return results consistently and those that don't. It's almost as if Google is throttling certain search results. The same thing happens if I'm authorised rather than using a public key.
An alternative approach to getting all of the videos in a channel (ideally in a single call) would also be acceptable.
So to answer my own question, you can use the activities.list API to get all videos in a channel, which seems more reliable than search:
https://www.googleapis.com/youtube/v3/activities?part=snippet%2CcontentDetails&channelId=my-channel-id&key=my-public-key
You need to include the 'contentDetails' part as it contains the video ID.
Update
Another way is to use the "uploads" playlist (see this SO answer). This is better than activities, as activities include things other than video uploads, and the API doesn't provide a way to filter.
https://www.googleapis.com/youtube/v3/playlistItems?part=snippet&playlistId=my-uploads-playlist-id&key=my-public-key
I am building last.fm+youtube mashup and I am having trouble retrieving righ results from youtube search.
E.g.
http://gdata.youtube.com/feeds/api/videos?q=Gedz+Gucci%20Gucci%20(feat.%20Joda)&orderBy=relevance
http://www.youtube.com/results?search_query=Gedz+Gucci%20Gucci%20(feat.%20Joda)&oq=Gedz+Gucci%20Gucci%20(feat.%20Joda)
The track I am interested in is on the second place in youtube.com search. How I can make api results look as much similar to youtube.com search?
The method YouTube uses for it's provided search results on the home page includes Related Videos which is based on a proprietary algorithm.
Unfortunately, this proprietary method is not yet available in their API (v1 or current v2) which is why you don't have the same results provided.
The YouTube API Page shows how to use the Related Videos API feature, but only for a single video since it's limited to that use.
I've seen various questions/replies that come and go on the forum about this issue, like this ignored one.
Consider using the Related Videos based on a single video, which the API does support.
Example of that usage for YouTube Video Gedz - Gucci Gucci gość. Joda is:
https://gdata.youtube.com/feeds/api/videos/oepPdNKzxk0/related?v=2
You will see 25 results (default quantity when not specified in query) that are similar but not exact as the single video's YouTube page. Different algorithm's are at play here too, but this method is the best that's currently available.
My untested solution for your project goal is as follows:
1. Use current method to acquire video ID feeds.
2. If the results are less than the amount required, use the returned results first Video ID as a reference.
3. The Video ID reference (just a single video) is then used to perform another query for Related Videos.
4. You can then combine both query's to create a final list of Video ID's which to use.