Oxford Dictionaries API

Get your API Key


World-renowned monolingual and bilingual dictionary data


Support from a Forum, Webinars, and Blog

Enter a word above to see the API in action …
Definition Example sentence
  • 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-gb'word_id = 'Ace'url = 'https://gad-proxy-prod-leap-2-1.us-east-1.elasticbeanstalk.com:443/api/v2/entries/'  + language + '/'  + word_id.lower()// url Normalized frequencyurlFR = 'https://gad-proxy-prod-leap-2-1.us-east-1.elasticbeanstalk.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-gb";    final String word_id=word.toLowerCase();    return "https://gad-proxy-prod-leap-2-1.us-east-1.elasticbeanstalk.com:443/api/v2/entries/" + language + "/" + word_id;  }// Created url Normalized frequency   private String buildURLFrequency(final  String word){    final String language="en-gb";    final String word_id=word.toLowerCase();    return "https://gad-proxy-prod-leap-2-1.us-east-1.elasticbeanstalk.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/https'require 'httparty'   # gem install httppartyresponse = nilword = 'small'uri = URI('https://od-api.oxforddictionaries.com:443/api/v2/entries/en-gb/' + word)use_ssl = truehttp = Net::HTTP.new(uri.host, uri.port)http.use_ssl = use_sslhttp.start do |http|   req = Net::HTTP::Get.new(uri)   req['app_id'] = 'YOURAPPID'   req['app_key'] = 'YOURAPPKEY'   req['Accept'] = 'application/json'   response = http.request(req)   resp = response.body  puts respend

								const https = require("https");const app_id = "<my app_id>";const app_key = "<my app_key>";const wordId = "ace";const fields = "pronunciations";const strictMatch = "false";const options = {   host: 'od-api.oxforddictionaries.com',   port: '443',   path: '/api/v2/entries/en-gb/' + wordId + '?fields=' + fields + '&strictMatch=' + strictMatch,   method: "GET",   headers: {     'app_id': app_id,     'app_key': app_key   } };https.get(options, (resp) => {  let body = '';  resp.on('data', (d) => {    body += d;  });  resp.on('end', () => {    let parsed = JSON.stringify(body);    console.log(parsed);  });});

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 affiliated with an academic institution, you can apply for non-commercial research access to the API. We ask for full details of your intended research, and your required use of the API to grant access. Submit your details HERE and we will get back to you.