BYTETOOLS

RhymeBrain API

Free rhyming dictionary API with no key: rhymes scored and ranked, with syllable counts and frequency, plus portmanteau and word-info functions. Tested example included.

No API key requiredCORS enabledHTTPSFree tier

Endpoint tested and returned HTTP 200 on 2026-08-21

What is the RhymeBrain API?

RhymeBrain is a free, key-free API that returns rhymes for a word as a scored, ranked JSON array. Each result carries a match score, a syllable count and a frequency figure, and companion functions generate portmanteaus and word information.

Rhyming is not a binary property, which is why a plain word list makes a poor rhyming dictionary. RhymeBrain returns a `score` on every match — perfect rhymes score highest, near rhymes and slant rhymes trail off below — so a songwriting tool or poetry aid can present the good matches first instead of dumping an alphabetical list on the user.

The other two fields do real work as well. `syllables` lets you filter to matches that fit a metrical slot, which is the difference between a useful haiku helper and a word dump; `freq` is a corpus frequency figure that separates words people actually use from obscure dictionary entries. Note that everything is driven by a `function` query parameter on one path rather than by separate endpoints, so `getRhymes`, `getPortmanteaus` and `getWordInfo` all hit the same URL.

Quick facts

Base URL
https://rhymebrain.com/talk
Authentication
No API key and no account. RhymeBrain asks that heavy users identify themselves and keep request rates reasonable.
Rate limit
No published figure. It is a single-operator service — cache aggressively, since the rhymes for a word never change.
Pricing
Free.
CORS
Enabled — callable directly from browser JavaScript
Official docs
Read the docs

How to use the RhymeBrain API

Every request below was executed against the live API on 2026-08-21, and the response shown is the real body it returned — not an illustration.

1. Find rhymes for a word, ranked by score

GET https://rhymebrain.com/talk?function=getRhymes&word=cat&maxResults=5

curl
curl 'https://rhymebrain.com/talk?function=getRhymes&word=cat&maxResults=5'
JavaScript (fetch)
const res = await fetch("https://rhymebrain.com/talk?function=getRhymes&word=cat&maxResults=5");
if (!res.ok) throw new Error(`Request failed: ${res.status}`);
const data = await res.json();
console.log(data);
Python (requests)
import requests

res = requests.get("https://rhymebrain.com/talk?function=getRhymes&word=cat&maxResults=5", timeout=20)
res.raise_for_status()
print(res.json())
Response — HTTP 200
[
  {
    "word": "at",
    "freq": 30,
    "score": 300,
    "flags": "bc",
    "syllables": "1"
  },
  {
    "word": "that",
    "freq": 31,
    "score": 300,
    "flags": "bc",
    "syllables": "1"
  },
  {
    "word": "had",
    "freq": 29,
    "score": 264,
    "flags": "bc",
    "syllables": "1"
  },
  {
    "word": "not",
    "freq": 30,
    "score": 156,
    "flags": "bc",
    "syllables": "1"
  },
  {
    "word": "but",
    "freq": 29,
    "score": 156,
    "flags": "bc",
    "syllables": "1"
  }
]

Parameters

ParameterTypeRequiredDescription
functionqueryRequiredWhich operation to run: `getRhymes`, `getPortmanteaus` or `getWordInfo`. getRhymes
wordqueryRequiredThe word to work from. cat
maxResultsqueryOptionalCap the number of results. Omit or set 0 for everything, which can be hundreds of entries. 5
langqueryOptionalTwo-letter language code. Defaults to English. en

Response fields

wordstring
The rhyming word.
scoreinteger
Match quality, higher is better. 300 marks a perfect rhyme in the captured sample; lower values are progressively looser.
syllablesstring
Syllable count as a string, not a number. Useful for metre matching once you have coerced it.
freqinteger
Corpus frequency indicator. Low values flag obscure words you may want to filter out.
flagsstring
Compact letter flags describing the match: `b` for a common word, `c` for a perfect rhyme, among others.

What you can build with the RhymeBrain API

  • Power a rhyme suggestion panel in a songwriting or poetry tool
  • Filter candidate rhymes to a specific syllable count for a fixed metre
  • Generate portmanteau brand names from two seed words
  • Build word games that need scored near-matches rather than exact ones

Common errors and how to fix them

Empty array

The word is not in RhymeBrain's dictionary, or nothing rhymes with it.

Fix: Try a simpler spelling. Proper nouns and very new coinages are frequently absent.

Hundreds of results

`maxResults` was omitted.

Fix: Set it explicitly. The unbounded response for a common word is large and mostly low-scoring noise.

Syllable arithmetic gives NaN

`syllables` is a string.

Fix: Coerce it with parseInt before doing any metre calculation.

Slow response

Single-operator hosting with no CDN in front of it.

Fix: Cache results per word indefinitely — the rhymes for `cat` are not going to change.

RhymeBrain API — frequently asked questions

Is the RhymeBrain API free?

Yes, with no key and no account. It is run by one person, so cache results and keep request rates civil.

What does the score mean?

It ranks match quality rather than expressing a percentage. Perfect rhymes cluster at the top — 300 in our captured example — and near or slant rhymes fall away below, so sorting by score puts the usable matches first.

Can I find rhymes with a specific number of syllables?

Yes. Every result carries a `syllables` count, so filter client-side to whatever your metre needs. There is no server-side syllable filter.

What else can it do besides rhymes?

The same URL accepts `function=getPortmanteaus` to blend two words, and `function=getWordInfo` for pronunciation, syllables and flags for a single word.

Tools that pair with this API

RhymeBrain is an independent third-party service and is not affiliated with ByteTools or ByteVancer. Details on this page were verified on 2026-08-21; always check the official documentation before relying on this API in production, as terms and limits can change.