What? Netflix doesn't have an API!


  • administrators

    A few years ago Netflix had a public API which would allow folks to easily pull details of their catalog to help advertise the Netflix Service. Eventually they got so popular that they didn't need the extra advertisement and maintaining the API became more of a hassle than it was worth so they discontinued it.

    Or did they...

    Actually they did abandon the official API, but they still have an API which anyone can access assuming you have a login to Netflix.

    Basically they have a public API which they use internally to run their websites and various other appliances. The cool thing is, by simply inspecting your web traffic with chrome or firefox you can watch this API in action and figure out how to interact with it.

    Over the next few months we will be writing forum posts about how we at uNoGS used this same API to pull data in all 240 countries which Netflix operates in.

    We will also provide working examples of the code we use so that you will be able to pull the same information we provide.

    Stay Tuned!

    -admin



  • anyone can access assuming you have a login to Netflix.

    If I understand right, you have only 1 login and use it with a VPN to pretend that you're in another country. Maybe that's why Netflix is targetting you. Because it's impossible you can travel this fast around the world...

    P.S: how did you manage to have an Antartica IP?



  • Maybe if several users from around the world allowed you to use their login, you could solve your issues.


  • administrators

    Thats not actually how I do it.. There are ways to manipulate the API into thinking you are coming from a different place, but my source address always looks the same.

    As I have said before in other places, Netflix could easily just shut me down by blocking my source IP. For some reason I only trigger their blocks when I achieve a particular volume.

    In order to scrape all 240 countries, I needed to parse about 7 countries at once, which was tripping their systems. Once I dropped my concurrent scrapes down, they have now went back to ignoring me.

    Now I'm just working out how much I can get away with.


  • administrators

    If several users, were using my scrapers from their IP addresses then yes this would work.

    I am currently looking into what it would take to have a distributed system but I haven't decided on anything yet.



  • @admin said in What? Netflix doesn't have an API!:

    There are ways to manipulate the API into thinking you are coming from a different place, but my source address always looks the same.

    Now I understand, thank you.



  • Instead of asking users to do it, you could just rent a server. There are very cheap web hosting solutions. Personally I got a server for 10 euros with Ubuntu Desktop (I connect with X2Go and use Wine to run Windows programs). The bandwidth is certainly better than what you currently have, so you would have to slow down the scrapping requests.



  • @admin said in What? Netflix doesn't have an API!:

    In order to scrape all 240 countries, I needed to parse about 7 countries at once, which was tripping their systems.

    With a server (or two) you could scrap the remaining countries, even if it's only every 2 days.



  • If you're worried your server will be under-used (of course it'll be), you could scrap Amazon Prime Video too ;-)



  • Do you scrap daily all the informations about a movie? There are many parts like the plot or the cast that you could easily scrap only once in a while.


  • administrators

    I pull only regional information daily about every title so I can validate whether it still exists in a particular country.



  • Just out of curiosity from which API/device are you looking at the payload? Are you using just the web browser (Chrome)? Have you look to see if the NF API from an iOS/Apple TV/Android devices is better?
    Just curious?


  • administrators

    @jetap I'm not sure what you mean by better... but I am looking at it from Chrome.

    I have used looked at the IOS stream but its much more difficult as I have to actually have to fake the certificate which is a PITA.

    Chrome is easy b/c I can just inspect it.



  • @jetap Windows Netflix apps use the old-style, formerly-public API using the GET method. Windows 8.1, for example:
    hxxps://api-global.netflix.com/win/2.20/get?method=get&PATH=&format=json&progressive=true&languages=en-EN

    Windows 10 uses a different API version
    hxxps://api-global.netflix.com/win/uwa/6.10?falcor_server=0.1.0&materialize=true&winx_lang=en-GB&method=get&path=PATH
    As far as I can gather, any valid authentication cookie is accepted (doesn't have to be from the Windows app).



  • @admin said in What? Netflix doesn't have an API!:

    There are ways to manipulate the API into thinking you are coming from a different place,

    What's the parameter to add to the API to set the country?
    For the traffic ban I can suggest to use some proxies: if the main IP fails, you can switch to the proxy for the next hours/days until the ban is off.


  • administrators

    Stay tuned... all in good time



  • @admin Any news on this topic?


  • administrators

    We have had some push back from the community regarding how much we are sharing regarding the API. At this time we are not planning on publishing any additional information, but his may change in the future.


 

Looks like your connection to uNoGS Forum was lost, please wait while we try to reconnect.