From what I can tell, Iframe API's getVideoData() always calls home to https://www.youtube.com/get_video_info.
Nit: I would suggest not going outside the onPlayer* functions to call getVideoData() by getting it off of the event object rather than the player object.
In either case the function returns and object like so:
Object { video_id: "XXX", author: "AUTHOR", title: "TITLE" }
Here's an example that sets a Google Analytics Event with the video Id:
var onPlayerStateChange = function(event) {
// get video Id from event, not player.
videoId = typeof event.target.getVideoData().video_id !== 'undefined' ? event.target.getVideoData().video_id : 'unknown';
// track when user clicks Play
if (event.data == YT.PlayerState.PLAYING) {
if (window.ga && ga.loaded) {
ga('send', 'event', 'Video', 'play', videoId);
}
}
// track when user clicks Pause
if (event.data == YT.PlayerState.PAUSED) {
if (window.ga && ga.loaded) {
ga('send', 'event', 'Video', 'pause', videoId);
}
}
// track when video ends
if (event.data == YT.PlayerState.ENDED) {
if (window.ga && ga.loaded) {
ga('send', 'event', 'Video', 'ended', videoId);
}
}
};