Some time back I worked on a educational app. The app was targeted towards non native English learners. The app used a dictionary api for suggesting synonym, and antonyms. Finding a good dictionary API was the first step in this process. Here is a list of dictionary apis I found useful.
Get words definitions, associations, difficulty level, sentence examples, synonyms.
Get word definitions, example sentences, parts of speech, and many more.
Urban Dictionary is an online dictionary that provides definitions for slang words and phrases, based on the crowdsourced information.
Next up is Word Dictionary API developed by Twinword. Twinword develops multiple APIs for analyzing and understanding human inputs and online behavior patterns.