Last Names

Autocomplete last names (surnames) by prefix. Returns the most common surnames matching the query.

Try it

Endpoint

GET/v1/last-name/<query>
Base URL: https://autocomplete.namedone.com

SDK Usage

lastNames()
1import { createClient } from "@namedone/autocomplete"
2
3const nd = createClient("nd_...")
4const { results } = await nd.lastNames("sm")

curl

1# Exchange your API key for a token
2curl -X POST https://token.namedone.com/v1 \
3 -H "Content-Type: application/json" \
4 -d '{"apiKey":"nd_..."}'
5
6# Query the last names endpoint
7curl "https://autocomplete.namedone.com/v1/last-name/sm?token=<jwt>"

Response Format

JSON
{
"results": [
{
"id": "last-name-0",
"text": "Smith",
"type": "last-name"
}
],
"query": "sm"
}

API Query Parameters

Sent as query string parameters on the HTTP request to the API.

ParameterTypeDefaultDescription
tokenstringJWT obtained from the token API. Required for authentication.

SDK Options

Passed to the SDK methods (e.g. firstNames(query, opts)). These are processed client-side and never sent to the API.

OptionTypeDefaultDescription
limitnumber10Maximum number of results (1–50). Applied client-side by the SDK.
simplebooleanfalseSimplify response: deduplicate by text and strip to {text, type}.

Examples

Query: sm

{
"results": [
{
"id": "last-name-0",
"text": "Smith",
"type": "last-name"
},
{
"id": "last-name-1",
"text": "Smyth",
"type": "last-name"
},
{
"id": "last-name-2",
"text": "Smithers",
"type": "last-name"
},
{
"id": "last-name-3",
"text": "Smiley",
"type": "last-name"
},
{
"id": "last-name-4",
"text": "Smart",
"type": "last-name"
}
],
"query": "sm"
}

Notes

  • Surnames are sorted by frequency in the UK population.
  • Uses the same prefix-list architecture as first names for instant responses.