PaidWord Intelligence API
Batch words
POST/words/batchMember key
Up to 100 word profiles in one call.
One entry per key, in the request's order: the profile of GET /words/{word}, or { word, found: false } for a key the catalog does not answer (unknown, disabled, or never shown). Billed one request per key sent, misses included.
AccessA member key (Founder or Investor) or a paid RapidAPI subscription to this API.
BillingOne call.
PlanInvestor plan. A Founder key answers 403
plan_required.FormatsJSON
Keep a key on a server: a page a visitor loads shows it to everyone.
Request
fieldsstringOptionalQueryComma-separated top-level keys to keep; an unknown key answers 400 unsupported_field.
wordsstring[]RequiredBody1 to 100 keys, each a spelling, a slug or wrd_<id>.
curl -X POST "https://api.unique.domains/v1/words/batch" \
-H "Authorization: Bearer YOUR_MEMBER_KEY" \
-H "Content-Type: application/json" \
-d '{
"words": [
"harbor",
"wrd_48214"
]
}'const response = await fetch("https://api.unique.domains/v1/words/batch", {
method: "POST",
headers: {
"Authorization": "Bearer YOUR_MEMBER_KEY",
"Content-Type": "application/json",
},
body: JSON.stringify({
"words": [
"harbor",
"wrd_48214"
]
}),
});
const data = await response.json();
console.log(data);import requests
response = requests.post(
"https://api.unique.domains/v1/words/batch",
headers={
"Authorization": "Bearer YOUR_MEMBER_KEY",
"Content-Type": "application/json",
},
json={
"words": [
"harbor",
"wrd_48214"
]
},
)
print(response.json())req, err := http.NewRequest("POST", "https://api.unique.domains/v1/words/batch", strings.NewReader(`{"words":["harbor","wrd_48214"]}`))
if err != nil {
panic(err)
}
req.Header.Set("Authorization", "Bearer YOUR_MEMBER_KEY")
req.Header.Set("Content-Type", "application/json")
res, err := http.DefaultClient.Do(req)$ch = curl_init();
curl_setopt_array($ch, [
CURLOPT_URL => "https://api.unique.domains/v1/words/batch",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
"words" => ["harbor", "wrd_48214"],
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer YOUR_MEMBER_KEY",
"Content-Type: application/json",
],
]);
$response = curl_exec($ch);uri = URI("https://api.unique.domains/v1/words/batch")
request = Net::HTTP::Post.new(uri)
request["Authorization"] = "Bearer YOUR_MEMBER_KEY"
request["Content-Type"] = "application/json"
request.body = JSON.dump({
"words": [
"harbor",
"wrd_48214"
]
})
response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) { |http| http.request(request) }Response
idstringwrd_<id>.
wordstringslugstring | nullshapestring | nullposstring | nullParts of speech as stored, comma-joined tags.
definitionstring | nullinflectedboolean | nullsizeinteger | nullpopularityinteger | nullHow widely the word is used; never sales or demand.
sentimentinteger | null50 is neutral.
brandabilityinteger | nullstylestring | nullcategoriesobject[]denyClassstring | nullWhy the word stays off public lists; null when none.
originstringaddedAtstring | nullWhen the intake added it; null means the dictionary load.
linguisticsobjectErrors
{
"data": [
{
"id": "wrd_48213",
"word": "harbor",
"slug": "harbor",
"shape": "single",
"origin": "dictionary",
"popularity": 71
},
{
"word": "harborr",
"found": false
}
],
"meta": {
"asOf": "2026-11-05T08:00:00Z",
"cursor": null,
"limit": null
},
"links": {
"self": "https://api.unique.domains/v1/words/batch",
"next": null,
"register": null,
"product": null,
"dataset": null
}
}