Skip to content
This repository has been archived by the owner on Oct 9, 2022. It is now read-only.

sorens/ratings-exporter

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

71 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ratings exporter for Netflix

Netflix has changed their API as of September 15, 2012

⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️

This service is no longer available. Netflix changed their API 
and it is no longer possible for people to export their own ratings 
on movies. 

This repository will be archived.

⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️

What

This service was born of my desire to quit Netflix but without having to lose all that info on what I've watched and what I've rated. To that end, I started investigating the Netflix API. While the API doesn't have exactly what I wanted (e.g. fetch all my rated movies), it was able supply enough functionality for me to fetch ratings for all the movies I had rented/streamed. Good enough, I suppose. Since collecting that information from Netflix takes time, I created a web service which would spawn delayed_jobs to do the work.

To get started with your own export, click the Authorize button above, fill in your Netflix credential (note: we use Netflix's OAuth API. See the next section for more details), and this service will be begin exporting your Netflix DVD and Instant rental queue data for you. Once all of the records have been exported, you'll be able to download the data as a blob of json, as csv or as xml.

Thanks to Christopher Cotton for answering my Netflix OAuth question on Stack Overflow!

Secure

Our service is never given your Netflix credentials. We are using the Netflix OAuth API, which means you are only authorizing this web app to make requests on your behalf.

We do store a few pieces of Netflix OAuth data in your cookies, including your Netflix user_id so that you do not have to keep re-authorizing the web app if you want to use it more than once. When you are done using this service, you can click the sign out link in the toolbar and we'll flush that information from your cookies.

Your exported rating information is stored in our database for short, indeterminate amount of time, after which it is permanently expunged during recurring, routine maintenance.

This data is available to only you.

Good news, Bad news

The bad news is that this service is only using one web dyno and one worker process. So, it is going to be slow. The good news is, this service is free!

Even more good news, the code for this service is available on [Github](https://github.com/sorens/ratings_exporter). Feel free to inspect it to ensure that we're not doing anything untoward with your data.

UpdateWe've updated the service to use batch requests so now you shouldn't encounter Netflix's request limit. However, there are still circumstances where requests for ratings return no results. If that happens, we detect that there are un-exported ratings and offer you a chance to download those remaining ratings individually by clicking the Continue button. If you would like to skip exporting those ratings, you can lick the Ignore and we'll let you download your data.

Format of the JSON

{
    "60010377": {
        "id": "60010377",
        "title": "Funny Girl",
        "year": "1968",
        "url": "http://api-public.netflix.com/catalog/titles/movies/60010377",
        "rating": "4.0",
        "type": "streamed",
        "viewed_date": "2011-12-05T09:03:48Z"
    },
    "70102614": {
        "id": "70102614",
        "title": "Dead Like Me: Season 1: \"Reaping Havoc\"",
        "year": "2003",
        "url": "http://api-public.netflix.com/catalog/titles/programs/70102614",
        "rating": "5.0",
        "type": "streamed",
        "viewed_date": "2009-04-03T17:20:30Z"
    }
}  

Format of the CSV

60010377,Funny Girl,1968,http://api-public.netflix.com/catalog/titles/movies/60010377,4.0,Title,2011-12-05 01:03:48 -0800,1
70102614,"Dead Like Me: Season 1: ""Reaping Havoc""",2003,http://api-public.netflix.com/catalog/titles/programs/70102614,5.0,Title,2009-04-03 10:20:30 -0700,1
60003378,Billy Elliot,2000,http://api-public.netflix.com/catalog/titles/movies/60003378,5.0,Title,2001-06-01 15:37:30 -0700,1

Format of the XML

<?xml version="1.0" encoding="UTF-8"?>
<titles type="array">
  <title>
    <name>Funny Girl</name>
    <rating>4.0</rating>
    <netflix-id>60010377</netflix-id>
    <data nil="true"/>
    <exported type="integer">1</exported>
    <created-at type="datetime">2012-01-06T00:25:37-08:00</created-at>
    <viewed-date type="datetime">2011-12-05T01:03:48-08:00</viewed-date>
    <updated-at type="datetime">2012-01-06T00:25:44-08:00</updated-at>
    <url>
      http://api-public.netflix.com/catalog/titles/movies/60010377
    </url>
    <id type="integer">22859</id>
    <user-id>T13m_bQjEynRQ3kR8g1Vk45acsvEkL2AazdOiLcaYMMus-</user-id>
    <year>1968</year>
    <netflix-type>streamed</netflix-type>
  </title>
  <title>
    <name>Dead Like Me: Season 1: "Reaping Havoc"</name>
    <rating>5.0</rating>
    <netflix-id>70102614</netflix-id>
    <data nil="true"/>
    <exported type="integer">1</exported>
    <created-at type="datetime">2012-01-06T00:25:57-08:00</created-at>
    <viewed-date type="datetime">2009-04-03T10:20:30-07:00</viewed-date>
    <updated-at type="datetime">2012-01-06T00:26:00-08:00</updated-at>
    <url>
      http://api-public.netflix.com/catalog/titles/programs/70102614
    </url>
    <id type="integer">23858</id>
    <user-id>T13m_bQjEynRQ3kR8g1Vk45acsvEkL2AazdOiLcaYMMus-</user-id>
    <year>2003</year>
    <netflix-type>streamed</netflix-type>
  </title>
  <title>
    <name>Billy Elliot</name>
    <rating>5.0</rating>
    <netflix-id>60003378</netflix-id>
    <data nil="true"/>
    <exported type="integer">1</exported>
    <created-at type="datetime">2012-01-06T00:25:33-08:00</created-at>
    <viewed-date type="datetime">2001-06-01T15:37:30-07:00</viewed-date>
    <updated-at type="datetime">2012-01-06T00:25:36-08:00</updated-at>
    <url>
      http://api-public.netflix.com/catalog/titles/movies/60003378
    </url>
    <id type="integer">22822</id>
    <user-id>T13m_bQjEynRQ3kR8g1Vk45acsvEkL2AazdOiLcaYMMus-</user-id>
    <year>2000</year>
    <netflix-type>dvd</netflix-type>
  </title>
</titles>

note: if we were unable to export a rating for a title due to an error, rating will be set to null. If you never set a rating on a particular title, we set the rating to 0.0.

About

🍿Export ratings from Netflix **Service Disabled After Netflix Changed API**

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published