Oxford Dictionaries API

Get your API Key
We are upgrading to Version 2. Find out more and learn how to update your code


World-renowned monolingual and bilingual dictionary data


Corpus derived statistical data


Support from a Forum, Webinars, and Blog

Enter a word above to see the API in action …
Definition Example sentence Corpus frequency
  • Python
  • Java
  • Ruby
  • Node

									# for more information on how to install requests# http://docs.python-requests.org/en/master/user/install/#installimport  requestsimport json# TODO: replace with your own app_id and app_keyapp_id = '<my app_id>'app_key = '<my app_key>'language = 'en'word_id = 'Ace'url = 'https://od-api.oxforddictionaries.com:443/api/v2/entries/'  + language + '/'  + word_id.lower()#url Normalized frequencyurlFR = 'https://od-api.oxforddictionaries.com:443/api/v2/stats/frequency/word/'  + language + '/?corpus=nmc&lemma=' + word_id.lower()r = requests.get(url, headers = {'app_id' : app_id, 'app_key' : app_key})print("code {}\n".format(r.status_code))print("text \n" + r.text)print("json \n" + json.dumps(r.json()))
                            import  org.json.simple.JSONArray;import  org.json.simple.JSONObject;import  org.json.simple.parser.JSONParser;import  javax.net.ssl.HttpsURLConnection;import java.io.BufferedReader;import  java.io.InputStreamReader;import  java.net.URL;import java.rmi.RemoteException;import java.rmi.server.UnicastRemoteObject;// Created by ahmedengu.public class Oxfordextends UnicastRemoteObjectimplements OxfordInterface{   protectedOxford() throws RemoteException{  }  public String dictionary(String word){    JSONParser parser=new  JSONParser();    String ret="404"    try{       final String result=getRequest(buildURL(word));       final Object parse=parser.parse(result);     catch (Exception e){       System.out.println(e);    }     return ret}   private String buildURL(final  String word){    final String language="en";    final String word_id=word.toLowerCase();    return "https://od-api.oxforddictionaries.com:443/api/v2/entries/" + language + "/" + word_id;  }// Created url Normalized frequency   private String buildURLFrequency(final  String word){    final String language="en";    final String word_id=word.toLowerCase();    return "https://od-api.oxforddictionaries.com:443/api/v2/stats/frequency/word/" + language + "/?corpus=nmc&lemma=" + word_id;  }  private String getRequest(String link){    final  String app_id="my_app_id"    final  String app_key="my_app_key"    try{       URL url=new  URL(link)       HttpsURLConnection urlConnection=(HttpsURLConnection) url.openConnection();       urlConnection.setRequestProperty("Accept", "application/json");       urlConnection.setRequestProperty("app_id", app_id);       urlConnection.setRequestProperty("app_key", app_key);      // read the output from the server       BufferedReader reader=new BufferedReader(new InputStreamReader(urlConnection.getInputStream()));       StringBuilder stringBuilder=new StringBuilder();       String=null      while ((line=reader.readLine()) !=null){         stringBuilder.append(line + "\n");      }      return stringBuilder.toString();    }catch (Exeption e){       e.printStackTrace();       return e.toString();    }  }}
                            require 'net/http'word = 'small'uri = URI('https://od-api.oxforddictionaries.com:443/api/v2/entries/en/' + word)req = Net::HTTP::Get.new(uri)# set headers on the requestreq['Authorization'] = '<< DEVKEY >>:<< APIKEY>>'req['Accept'] = 'application/json'# perform the requestresp, data = Net::HTTP.start(uri.hostname, uri.port) {|http|   http.request(req)}puts 'Code = ' + resp.codeputs 'Message = ' + resp.messageresp.each {|key, val| puts key + ' = ' + val}puts data

								var Dictionary = require("oxford-dictionary-api");var app_id = "your oxford-account app id";var app_key = "your oxford-account app key";var dict = new Dictionary(app_id, app_key);dict.find("ace",function(error,data){if(error) return console.log(error); console.log(data); });

Find out what we can do for you…

Oxford Dictionaries is at the forefront of lexical research and our products will help you succeed whether you are building a game, learning application, or next-generation speech and text technology

Get your API Key

What's possible with our dictionary data?


Enhance word games with approved wordlists and definition lookups

Bots and AI

Accurate, structured data and large corpora help solve many language problems


Audio, examples and synonyms are just some data types that can help learners


Trusted, deep content for academic research, often for free!

Perfect for getting started 1000 requests per month Limited data access Limited request rate
Developer Access to all data and functionality
No usage cap Tiered discounts 1-10k @ £0.002
10-100k @ £0.001
100k+ @ £0.0005
Prices shown per request No caching ‘Powered by Oxford’ branding
Bespoke pricing based on requirements Caching and offline usage XML and JSON data licensing Branding options

If you are conducting lexical research and are affiliated with an academic institution, you can apply for non-commercial research access to the API. Submit your details HERE and we will get back to you.