IMDb Data – Now available in Amazon S3

  • 5
  • Announcement
  • Updated 6 months ago
  • (Edited)
This is an announcement for customers of the IMDb bulk data available via FTP.

We are pleased to announce, starting today IMDb datasets are now available in Amazon S3 via an HTTPS link. Using the new interface, customers can bulk-access IMDb title and name data.

For details on the S3 solution, file format and access guidelines, see www.imdb.com/interfaces.


In our continued effort to best serve our Contributors, we are streamlining the datasets and making them available in a more useful and structured format in S3. Notably:


  • Data refresh frequency is now daily (previously weekly).
  • IMDb title and name identifiers are included in all the files for ease of matching and linking back to IMDb.
  • The files are in tab separated values (TSV) format.
  • The sets of data we provide are updated to only include the essential ones that help with matching and linking to an IMDb title or name.
As part of housekeeping the FTP site, the data files will no longer be updated. The list data files will continue to be available at two locations (see below) until February 28, 2017. We strongly encourage FTP site users to switch to the S3 solution at the earliest to ensure their applications continue to work without interruption.

ftp://ftp.funet.fi/pub/mirrors/ftp.imdb.com/pub/frozendata

ftp://ftp.fu-berlin.de/pub/misc/movies/database/frozendata

 If you are not an IMDb Contributor and wish to obtain IMDb content for commercial use, we offer a content license.  The license grants you access to our content via an XML web service, plus the right to use the content in your product or service.  If that interests you, please email licensing@imdb.com.

 If you have any questions or concerns, please share your feedback in this thread.

 Thank you for your continued support.
Photo of sv

sv, Official Rep

  • 31 Posts
  • 18 Reply Likes

Posted 2 years ago

  • 5
Photo of alexdark72

alexdark72

  • 2 Posts
  • 1 Reply Like
For those interested, pick up "ImportNewImdb" on GitHub, it's my code to import the new datasets into a sqlite database, with some post processing to create a kind-of old-style name-movie link.
It's written in ObjC because I am in iOS programming, but it's quite straight forward to follow.
It reads the dataset and generates a 5gb sqlite db in about ten minutes.

In the final db there is a "characters" table searchable by tconst or nconst with data taken both from "principal cast" or "known for", as well as director/writers links taken from "title.crew"
Maybe there will be some intersection in the data (between "known for" and "principals" for example), but it depends on how you will use the data.

To give an idea, with last dataset I have these numbers:

select ttype, count(*) from characters group by ttype

"d" "3,330,550"

"w" "5,172,706"

"k" "14,158,036"

"p" "26,520,981"

where "d" stands for director,  "w" for writers, "k" for "known for", "p" from "principals".

It's not like the data available in old datasets, but it's a start.

Just to give the context, I use this db in my personal iOS app I use since many years to track and vote the movies/series/episodes I watch (I have a bad memory, so I never know if I have already seen a movie or not...) and using a colored icon on filmography/cast I can visually answer questions like "where have I seen this guy, he/she seems familiar to me".

I also used to write some funny queries to answer questions like "who is my favorite actor/actress/director" based on the votes I give, and many other queries like "which is my favorite genre or country of origin", but this will be no more accurate or possible not having a full database, so bad: I will have to rely on my sensations instead that on pure numbers...

I cannot wait to see if I will be eligible to the promised new full exports, even if I think I will not since I am more a data user than a real contributor.

Best regards
Photo of J

J

  • 9 Posts
  • 10 Reply Likes
I'm now running some final import tests before I release the next version of my application as well.
I'll add a link once the release is available. The old version currently still available will be removed tomorrow as it wouldn't work as required do to some data problems in the old LIST files.

As I wrote earlier, currently the new version of the application will only support importing new TSV data into the database while you get full support for the old LIST files.
This means the GUI will only support looking up the details from the old LIST files plus links between those old data files as the new TSV data format is still of no actual use in it's current state.

Officially supported databases are PostgreSQL, MySQL and MS SQL Server (inofficially more databases are supported but only for testing of my abstraction layer - this includes Oracle, H2, DB2, etc.).
I highly recommend using PostgreSQL (the new v10 or at least some v9.3+) instead of MySQL v5.1.x (including MariaDB - latest releases have not been tested) and also MS SQL Server for actually everything (speed, feature and overall usage).
Importing the data is faster with PostgreSQL 9.x/10 compared to MySQL 5.1.x (InnoDB engine) and if you really want to hurt yourself go for MS SQL Server (slow as hell importing the data).
On the query side this might not make much of a difference as I support full text seach on all of the databases. Still PostgreSQL does offer some extras.

That's it for the moment.

Teaser! ;)
One of these PostgreSQL extras hasn't been activated yet but is basically some AJAX-like direct feedback when you enter your search into an input field where you see suggestions you can directly select (just as you type something on IMDb, Google, etc.). Using the PostgreSQL full text index statistic function (ts_stat()) you can get details about the words stored in the index which makes it easy to add such a function. MySQL has a simmilar function but this is not available via SQL. You actually need to call an executable which makes it unusable inside an application.
Photo of J

J

  • 9 Posts
  • 10 Reply Likes
Just a small update...
The SQL Server 2014 tests are almost done..only some minor data truncation messages plus a minor full text index problem with on the TSV files I need to address so far.
Up next is MySQL...
Photo of Vincent Fournols

Vincent Fournols

  • 2901 Posts
  • 4854 Reply Likes
@alexdark72 and @J,

Even though it is (still) a little bit over my skills (ask me rather about MS Access, and the management of its 2 GB size limit !), I am amazed and so thankful for what you are developping and sharing with our small community. You are doing an amazing job! Thanks so much again.
Photo of Vincent Fournols

Vincent Fournols

  • 2901 Posts
  • 4854 Reply Likes
I have been working further with title.principals.tsv, I can only acknowledge that what is stated on the http://www.imdb.com/interfaces/ page is true: "Contains the principal cast/crew for titles".
So it does/can display editor, music composer, cinematographer, actors, directors (as a duplicate with title.basics...), and I don't think I spotted any writer (who are in title.basics). But there is absolutely no rule presiding over the actual content.

Hence, absolutely useless.
(Edited)
Photo of timon

timon

  • 8 Posts
  • 7 Reply Likes
Agreed, useless.
Photo of chuck.kahn

chuck.kahn

  • 14 Posts
  • 7 Reply Likes
This reply was created from a merged topic originally titled business.list at S3.

I don't see an equivalent to the ftp interface's business.list at https://datasets.imdbws.com/.  Will this be coming later to the S3 interface?

(I posted this question in the larger S3 thread but it seems to have been lost in the shuffle so I've made this dedicated thread to it.)
Photo of chuck.kahn

chuck.kahn

  • 14 Posts
  • 7 Reply Likes
Unfollowing merged topic -- too big.  Just interested in my business.list question.  
Photo of Brian Risselada

Brian Risselada

  • 30 Posts
  • 34 Reply Likes
Thank you for making the new data formats available to download easily at https://datasets.imdbws.com/. I have reviewed the information currently presented, and while I'm hoping that eventually all of the data will be available again, if it does need to be rolled out slowly here is my request for the most urgent things to be rolled out first:

1. In the title.crew.tsv file, please also include the "attributes". For example for title tt0041700 (Not Wanted (1949)) for the director nm0526946 (Ida Lupino) she has the attribute "uncredited".

2. Company credits. We currently have some basic information for movies and people, but I would also like a database for companies to be added immediately.

Also I just realized now you have to be an IMDBPro member just to view company pages? Why is this? I tried to link to the company page for The Archers (http://www.imdb.com/company/co0103153?ref_=ttco_co_1) for instance and it just sent me a message that I can't view it without being an IMDBPro member. This is a separate but I suppose related issue of making the data unobtainable to people. This is very disappointing.
Photo of Scott

Scott

  • 2 Posts
  • 5 Reply Likes
I have made the switch to the new files. Having the tconst is very useful, and having direct HTTP access rather than using S3 is much simpler. I would like to reiterate my request for the languages and the top 250 movies to be provided. That is all I am missing to make my application as functional as it was before.
Photo of timon

timon

  • 8 Posts
  • 7 Reply Likes
I just realize that IMDB has removed some movies from their files and site. I don't know how many but I have Lucky Luke animations and some of them are not listed in title.basics.tsv. I also found out that those animations are marked as suspended in the latest movies.list but in older one (30.12.2016) they are not. Here is one example:

old:     "Lucky Luke" (1984) {Le juge (#2.2)}                    1991
latest: "Lucky Luke" (1984) {Le juge (#2.2)} {{SUSPENDED}}      1991
Photo of Jeorj Euler

Jeorj Euler

  • 6907 Posts
  • 8678 Reply Likes
Some context would help, though.
Photo of timon

timon

  • 8 Posts
  • 7 Reply Likes
What you mean?
Photo of Jeorj Euler

Jeorj Euler

  • 6907 Posts
  • 8678 Reply Likes
I mean, I wonder if there was a reason for the deletion.
Photo of SleepingDog

SleepingDog

  • 2 Posts
  • 0 Reply Likes
I am doing some personal SQL database bulk import and queries from the downloaded tsv files, one of which is name.basics.tsv. Given the social interest, is there a gender column available? One of my investigative queries was to look at comparative trends in male and female actor age (I can get age from date-of-birth subtracted from episode year) over a long-running TV series.
Photo of SleepingDog

SleepingDog

  • 2 Posts
  • 0 Reply Likes
I was able to use a workaround for the gender problem, since the primaryProfession distinguishes by "actor" and "actress" (hmmm). I found a few difficulties in the way the data was structured when creating test SQL queries. Maybe the downloadable data has been denormalised for convenience, but it has aggregated some relations together that cannot then be unpicked.
Photo of James Johnston

James Johnston

  • 8 Posts
  • 9 Reply Likes
This reply was created from a merged topic originally titled No documentation for title.akas.tsv.gz.

In the Interfaces page (https://www.imdb.com/interfaces/?ref_=helpms_ih_gi_siteindex), there is not listing of the fields and descriptions for the title.akas.tsv.gz file.  While the field names in the file are essentially self-evident, it would be helpful to have the documentation available so users can be certain of the data in the file.
Photo of Chris H.

Chris H., Employee

  • 76 Posts
  • 100 Reply Likes
Hello James,

    Thank you for raising this. The /interfaces page has now been updated to include the fields and descriptions for the title.akas file.

Best regards,
Chris.
Photo of Chuck Kahn

Chuck Kahn

  • 1 Post
  • 1 Reply Like
I do not approve of this merging of every topic into the "IMDb Data - Now available in Amazon S3" topic.  Why can't we have separate sub-topics?  Un-merge please!
Photo of Govert Schipper

Govert Schipper

  • 2 Posts
  • 3 Reply Likes
Hi, I want to use the datasets (for personal use) and just discovered this thread. Where can I reports issues with the datasets? What I found today in the file with name.basics is a name ID (nconst) with length 10 while all the others have a length of 9. It is nm21954871 (Bela Lenkehegyi). Because of this I got a duplicate while importing the file in an SQL table.
Furthermore I found that on the main page the description for the file containing title.principals if no longer consistent with the actual data. These is no column named 'principalCast' but instead several other columns exist. Of course you can found this out when you look at the first line in the data file, but it took me a while to found out. 
Thanks for providing the datasets and I hope this comment will make them even better.
Photo of Chris H.

Chris H., Employee

  • 76 Posts
  • 100 Reply Likes
Hello Govert,
    You will be seeing more nconsts with a length of 10 characters over time so you need to account for both 9 and 10 character length ids.

Thank you for pointing out the discrepancy in the descriptions of the file formats. I will file a ticket with the relevant team to have this corrected.
Best regards,
Chris.
Photo of Jeorj Euler

Jeorj Euler

  • 6938 Posts
  • 8731 Reply Likes
At what point in time did the nconst values finally extend beyond (the not allocated) nm9999999? I didn't even notice.
Photo of Govert Schipper

Govert Schipper

  • 2 Posts
  • 3 Reply Likes
Hi Jeorj, I could found only one occurence of a name with length, but the maximum value for 9 characters is imminent, so be prepared for more to pop up.
Photo of Jeorj Euler

Jeorj Euler

  • 6960 Posts
  • 8886 Reply Likes
Hi, Govert Schipper. If you want an "nconst" regular expression, then the regex you're looking for is
/^nm([1-9]+\d*)?\d{7}$/
or plainly...
/^nm\d$/
Photo of Tim Griffin

Tim Griffin

  • 1 Post
  • 3 Reply Likes
We have been using the FTP data in our undergraduate database course at the University of Cambridge, UK.  See https://www.cl.cam.ac.uk/teaching/1718/Databases/materials.html. I was very sad to see that this data is no longer available. Yes, they were a pain to parse, but that was a real issue. However it was one of the richest large data sets on the web that students did not require domain-specific training in order to understand.  I guess I'll be using the dump I snagged in August of 2017 for the next couple of years until I find another data source for the course. BTW, the new data file title.principals.tsv.gz has been empty every time I have looked.  perhaps this will contain the data I need? For example, we want actors in movies so we can do the "kevin bacon number" type queries. 

Photo of Chris H.

Chris H., Employee

  • 76 Posts
  • 100 Reply Likes
Thank you for reporting the missing data from the principals file, I have reported it to the tech team for fixing.

Best regards,
Chris.
Photo of Chris H.

Chris H., Employee

  • 76 Posts
  • 100 Reply Likes
title.princials.tsv.gz now has the data populated again.

Best regards,
Chris.
Photo of Robert McGirr

Robert McGirr

  • 4 Posts
  • 2 Reply Likes
I am seeing Title Id's present in the Title file that produce 404 errors when one tries to hit the page Id tt7430188 is one example. Is there a reasonable time to data set file update we can expect, a max time in which the files will be synced with IMDb? I also noticed last week that some Episode Id's were in the Title file but did not make it to the Episode file for a few days. I am just looking for info on what we should expect in terms of file update latency, before we start wondering if our ingestion process may be at fault.

Thanks

Photo of Robert McGirr

Robert McGirr

  • 4 Posts
  • 2 Reply Likes
The Title.basics file today contains 2,232,860 duplicate ID's