Build Status Coverage Status CRAN_Status_Badge


The goal of rhymer is to get rhyming and other related words through the Datamuse API. This package includes basic functions to get rhymes and other similar words based on meaning, spelling, or sound.



# Or the the development version from GitHub:
# install.packages("devtools")


They say nothing rhymes with orange

get_rhyme("orange", return_type = "word")
#> [1] "door hinge"

Feeling down? How about this cloud of words with similar meaning to happy:

word_data <- get_means_like("happy", return_type = "df")
wordcloud::wordcloud(words = word_data$word, 
                     freq = word_data$score, 
                     colors = c("lightsteelblue1","lightsteelblue2","lightsteelblue3","lightsteelblue"))

Eminem wrote the classic rap song ‘Lose Yourself’, but could it be better with rhymer?

  His palms are sweaty
  Knees weak arms are {get_rhyme('sweaty', return_type = 'word', num_syl = 2)}

  There's vomit on his sweater already
  Mom's {get_rhyme('already', return_type = 'word', num_syl = 3)}
#>   His palms are sweaty
#>   Knees weak arms are petty
#>   There's vomit on his sweater already
#>   Mom's unsteady

Main functions

rhymer has 4 main functions that allow you to get data on related words through the Datamuse API.

They are:

There is also a more flexible function get_other_related() that allows you to use the API to get data on other related words using a series of ‘codes’ described on the Datamuse API website.

Each function takes the basic arguments of:

  • word the word to base results on
  • return_type what type of data return (options are df for a data frame, vector for a vector, word for a single word, and random_word for a random word)
  • limit max number of related words to return

get_rhyme() and get_sounds_like() also have special helpers for the number of syllables to return called num_syl.