8

I'm not looking for a page scraper but an actual API I can use that returns (preferably) JSON or XML. An example would be a request to return all the nominees for Best Picture in 2014.

The Oscar site itself has a page to search their database (http://awardsdatabase.oscars.org/ampas_awards/BasicSearchInput.jsp) but no API that I can find.

I've also looked into Rotten Tomatoes API (http://developer.rottentomatoes.com/docs/read/JSON) but I didn't see any Oscar information that you could search for.

6

Check out Wolfram Alpha API for things like:

http://www.wolframalpha.com/input/?i=academy+awards+1998

enter image description here

This is the free (public) interactive form interface. You can get a download as raw data with a Pro Subscriber (paid) license.

4

I haven't seen any evidence of an API or official data set.

AggData.com has a CSV of Oscar winners from 1927-2010. Actually, they have two (see also this, which are similar but not the same. Both cover the same years and have the same row count, but I notice what looks like some CSV quoting issues from a little poking with csvkit. Also, frustratingly, the 'year' column is 'polluted' with which Awards, e.g. 1927/28 (1st)

I also found this blog post outlining a method for building [an Oscars database] from a few non-AMPAS sources. Unfortunately, they don't make the result of their work available for download.

2

From https://www.wikidata.org/wiki/User:Jobu0101:

One of my goals is to represent the Academy Awards completely in Wikidata. Each person, film, song, production company needs an item. Each nomination and award has to be represented in Wikidata. Most of the work was done until the Oscars 2016.

This SPARQL query retrieves all the data about the Academy awards winners. One could split the query into small parts and use them as granular API operations. Or not so granular — in a GraphQL way.

Here below I "implement" a few operations of such an API, but for nominees.
In essense, I just replace :P166 properties with :P1411 ones.


Get ceremony by year

SELECT ?ceremony ?ceremonyLabel {
  VALUES (?year) {(1951)}
  ?ceremony wdt:P31 wd:Q16913666 .
  ?ceremony wdt:P585 ?date .
  FILTER (year(?date) = ?year) .
  SERVICE wikibase:label {bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en"}
}

Try it!

|  ceremony   |    ceremonyLabel    |
|-------------|---------------------|
| wd:Q917076  | 23rd Academy Awards |

This is how JSON output looks like.

Get categories by ceremony

SELECT DISTINCT ?category ?categoryLabel {
  VALUES (?ceremony) {(wd:Q917076)}
  [] ps:P1411 ?category ;
     pq:P805 ?ceremony .
  SERVICE wikibase:label {bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en"}
}

Try it!

25 results, including:

|  category   |         categoryLabel          |
|-------------|--------------------------------|
| wd:Q103618  | Academy Award for Best Actress |

Get nominated works by ceremony and category

SELECT DISTINCT ?work ?workLabel {
  VALUES (?ceremony) {(wd:Q917076)}
  VALUES (?category) {(wd:Q103618)}
  ?st pq:P805 ?ceremony .
    {
    ?st ps:P1411 ?category .
    ?st pq:P1686 ?work .
    }
    UNION
    {
    ?work p:P1411 ?st .
    ?st  ps:P1411 ?category .
    }
  ?work wdt:P31 wd:Q11424 .
  SERVICE wikibase:label {bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en"}
}

Try it!

|    work     |    workLabel     |
|-------------|------------------|
| wd:Q193570  | Sunset Boulevard |
| wd:Q200299  | All About Eve    |
| wd:Q375594  | Born Yesterday   |
| wd:Q1451738 | Caged            |

Get nominated people by ceremony, category and nominated work

SELECT DISTINCT ?person ?personLabel {
  VALUES (?ceremony) {(wd:Q917076)}
  VALUES (?category) {(wd:Q103618)}
  VALUES (?work) {(wd:Q200299)}
  ?work p:P1411 ?st .
  ?st pq:P805 ?ceremony .
  ?st ps:P1411 ?category .
  ?st pq:P2453 ?person .
  SERVICE wikibase:label {bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en"}
}

Try it!

|   person   | personLabel |
|------------|-------------|
| wd:Q228906 | Anne Baxter |
| wd:Q71206  | Bette Davis |
1

If anyone else comes across this thread looking for a JSON of Oscar Best Picture winners, I've created a basic one for a mini project I'm working on which you can use as a starting point:

    const bestPictureWinners =
[
  {
    "name":"Wings",
    "releaseYear":"1927",
    "seen":false
  },
  {
    "name":"The Broadway Melody",
    "releaseYear":1928,
    "seen":false
  },
  {
    "name":"All Quiet On the Western Front",
    "releaseYear":1930,
    "seen":false
  },
  {
    "name":"Cimarron",
    "releaseYear":1931,
    "seen":false
  },
  {
    "name":"Grand Hotel",
    "releaseYear":1932,
    "seen":false
  },
  {
    "name":"Cavalcade",
    "releaseYear":1933,
    "seen":false
  },
  {
    "name":"It Happened One Night",
    "releaseYear":1934,
    "seen":false
  },
  {
    "name":"Mutiny on the Bounty",
    "releaseYear":1935,
    "seen":false
  },
  {
    "name":"The Great Ziegfeld",
    "releaseYear":1936,
    "seen":false
  },
  {
    "name":"The Life of Emile Zola",
    "releaseYear":1937,
    "seen":false
  },
  {
    "name":"You Can't Take It With You",
    "releaseYear":1938,
    "seen":false
  },
  {
    "name":"Gone With The Wind",
    "releaseYear":1939,
    "seen":false
  },
  {
    "name":"Rebecca",
    "releaseYear":1940,
    "seen":false
  },
  {
    "name":"How Green Was My Valley",
    "releaseYear":1941,
    "seen":false
  },
  {
    "name":"Mrs. Miniver",
    "releaseYear":1942,
    "seen":false
  },
  {
    "name":"Casablanca",
    "releaseYear":1942,
    "seen":false
  },
  {
    "name":"Going My Way",
    "releaseYear":1944,
    "seen":false
  },
  {
    "name":"The Lost Weekend",
    "releaseYear":1945,
    "seen":false
  },
  {
    "name":"The Best Years of Our Lives",
    "releaseYear":1946,
    "seen":false
  },
  {
    "name":"Gentlemen's Agreement",
    "releaseYear":1947,
    "seen":false
  },
  {
    "name":"Hamlet",
    "releaseYear":1948,
    "seen":false
  },
  {
    "name":"All the King's Men",
    "releaseYear":1949,
    "seen":false
  },
  {
    "name":"All About Eve",
    "releaseYear":1950,
    "seen":false
  },
  {
    "name":"An American in Paris",
    "releaseYear":1951,
    "seen":false
  },
  {
    "name":"The Greatest Show on Earth",
    "releaseYear":1952,
    "seen":false
  },
  {
    "name":"From Here to Eternity",
    "releaseYear":1953,
    "seen":false
  },
  {
    "name":"On the Waterfront",
    "releaseYear":1954,
    "seen":false
  },
  {
    "name":"Marty",
    "releaseYear":1955,
    "seen":false
  },
  {
    "name":"Around the World in Eighty Days",
    "releaseYear":1956,
    "seen":false
  },
  {
    "name":"The Bridge on the River Kwai",
    "releaseYear":1957,
    "seen":false
  },
  {
    "name":"Gigi",
    "releaseYear":1958,
    "seen":false
  },
  {
    "name":"Ben-Hur",
    "releaseYear":1959,
    "seen":false
  },
  {
    "name":"The Apartment",
    "releaseYear":1960,
    "seen":false
  },
  {
    "name":"West Side Story",
    "releaseYear":1961,
    "seen":false
  },
  {
    "name":"Lawrence of Arabia",
    "releaseYear":1961,
    "seen":false
  },
  {
    "name":"Tom Jones",
    "releaseYear":1963,
    "seen":false
  },
  {
    "name":"My Fair Lady",
    "releaseYear":1963,
    "seen":false
  },
  {
    "name":"The Sound of Music",
    "releaseYear":1965,
    "seen":false
  },
  {
    "name":"A Man for All Seasons",
    "releaseYear":1966,
    "seen":false
  },
  {
    "name":"In the Heat of the Night",
    "releaseYear":1967,
    "seen":false
  },
  {
    "name":"Oliver!",
    "releaseYear":1968,
    "seen":false
  },
  {
    "name":"Midnight Cowboy",
    "releaseYear":1969,
    "seen":false
  },
  {
    "name":"Patton",
    "releaseYear":1970,
    "seen":false
  },
  {
    "name":"The French Connection",
    "releaseYear":1971,
    "seen":false
  },
  {
    "name":"The Godfather",
    "releaseYear":1972,
    "seen":false
  },
  {
    "name":"The Sting",
    "releaseYear":1973,
    "seen":false
  },
  {
    "name":"The Godfather: Part II",
    "releaseYear":1974,
    "seen":false
  },
  {
    "name":"One Flew Over the Cuckoo's Nest",
    "releaseYear":1975,
    "seen":false
  },
  {
    "name":"Rocky",
    "releaseYear":1976,
    "seen":false
  },
  {
    "name":"Annie Hall",
    "releaseYear":1977,
    "seen":false
  },
  {
    "name":"The Deer Hunter",
    "releaseYear":1978,
    "seen":false
  },
  {
    "name":"Kramer vs. Kramer",
    "releaseYear":1979,
    "seen":false
  },
  {
    "name":"Ordinary People",
    "releaseYear":1980,
    "seen":false
  },
  {
    "name":"Chariots of Fire",
    "releaseYear":1981,
    "seen":false
  },
  {
    "name":"Gandhi",
    "releaseYear":1982,
    "seen":false
  },
  {
    "name":"Terms of Endearment",
    "releaseYear":1983,
    "seen":false
  },
  {
    "name":"Amadeus",
    "releaseYear":1984,
    "seen":false
  },
  {
    "name":"Out of Africa",
    "releaseYear":1985,
    "seen":false
  },
  {
    "name":"Platoon",
    "releaseYear":1986,
    "seen":false
  },
  {
    "name":"The Last Emperor",
    "releaseYear":1987,
    "seen":false
  },
  {
    "name":"Rain Man",
    "releaseYear":1988,
    "seen":false
  },
  {
    "name":"Driving Miss Daisy",
    "releaseYear":1988,
    "seen":false
  },
  {
    "name":"Dances with Wolves",
    "releaseYear":1990,
    "seen":false
  },
  {
    "name":"The Silence of the Lambs",
    "releaseYear":1991,
    "seen":false
  },
  {
    "name":"Unforgiven",
    "releaseYear":1992,
    "seen":false
  },
  {
    "name":"Schindler's List",
    "releaseYear":1993,
    "seen":false
  },
  {
    "name":"Forest Gump",
    "releaseYear":1994,
    "seen":false
  },
  {
    "name":"Braveheart",
    "releaseYear":1995,
    "seen":false
  },
  {
    "name":"The English Patient",
    "releaseYear":1996,
    "seen":false
  },
  {
    "name":"Titanic",
    "releaseYear":1997,
    "seen":false
  },
  {
    "name":"Shakespeare in Love",
    "releaseYear":1998,
    "seen":false
  },
  {
    "name":"American Beauty",
    "releaseYear":1999,
    "seen":false
  },
  {
    "name":"Gladiator",
    "releaseYear":2000,
    "seen":false
  },
  {
    "name":"A Beautiful Mind",
    "releaseYear":2001,
    "seen":false
  },
  {
    "name":"Chicago",
    "releaseYear":2002,
    "seen":false
  },
  {
    "name":"The Lord of the Rings: The Return of the King",
    "releaseYear":2003,
    "seen":false
  },
  {
    "name":"Million Dollar Baby",
    "releaseYear":2004,
    "seen":false
  },
  {
    "name":"Crash",
    "releaseYear":2004,
    "seen":false
  },
  {
    "name":"The Departed",
    "releaseYear":2006,
    "seen":false
  },
  {
    "name":"No Country for Old Men",
    "releaseYear":2007,
    "seen":false
  },
  {
    "name":"Slumdog Millionaire",
    "releaseYear":2008,
    "seen":false
  },
  {
    "name":"The Hurtlocker",
    "releaseYear":2008,
    "seen":false
  },
  {
    "name":"The King's Speech",
    "releaseYear":2010,
    "seen":false
  },
  {
    "name":"The Artist",
    "releaseYear":2011,
    "seen":false
  },
  {
    "name":"Argo",
    "releaseYear":2012,
    "seen":false
  },
  {
    "name":"12 Years a Slave",
    "releaseYear":2013,
    "seen":false
  },
  {
    "name":"Birdman, or The Unexpected Virtue of Ignorance",
    "releaseYear":2014,
    "seen":false
  },
  {
    "name":"Spotlight",
    "releaseYear":2015,
    "seen":false
  },
  {
    "name":"Moonlight",
    "releaseYear":2016,
    "seen":false
  }
];
  • This does not answer the question about APIs – Jan Doggen Feb 5 '18 at 9:03
  • the question isn't exactly clear regarding that...asks for API in title, then calls it a scraper in description. i get the feeling, i'm assuming @jonsanders101 did too, that all asker wanted was JSON. – albert Feb 5 '18 at 18:53
  • yeah, the dataset fits into one reasonably sized JSON file, so making multiple calls to an API is probably overkill. – philshem Feb 5 '18 at 19:28
  • @albert Read again. I specifically mentioned I didn't want a page scraper but instead a proper API so no one would suggest just writing a scraper of the Oscars search page. – Scott Feb 5 '18 at 20:00
  • yeah i missed that part, apologies. i've never heard of apis being confused with scrapers, but then again, i just misread your question. – albert Feb 6 '18 at 0:34
1

data.world is hosting an Excel sheet that was scraped from the Oscar site:

https://data.world/graphhopper/2018-oscar-nominees

Data came from the official Oscars site, and was manipulated in Excel

The data is freely available, but if you register you can query the data with SQL.

And data.world has integrations with many programming and machine learning languages.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.