For the complete documentation index, see llms.txt. This page is also available as Markdown.

Individual Lookup

Repair one contact name and get it back directly. Synchronous and free.

POST /normalize_contact_names

Free. No provider call, no model call, so nothing is charged and nothing is stored. Returns the cleaned name directly in the response.

Send person_name wherever you have it. The first/last split is rebuilt from the full name rather than trusted, because a wrong split is part of what this fixes — real rows carry a first_name of Dr. with the whole name pushed into last_name. first_name and last_name are used only when person_name is absent, and to recognise a split that already agrees with the full name.

Headers

Name
Value

Content-Type

application/json

Body

Name
Type
Description

api_key

string

Your API Key.

person_name

string

Optional. Full name. Prefer this — the split is rebuilt from it.

first_name

string

Optional. Used when person_name is absent, and to keep a stored split that already agrees.

last_name

string

Optional. Same as above.

What it repairs

Input
Output
Why

Dr. Linda Silbert

Linda / Silbert

Honorific removed

Emily Kapit, Ms, Mrw, Acrw, Cprw

Emily / Kapit

Trailing credentials removed

Mary (Kathy) Mcdaniel

Kathy / McDaniel

Bracketed nickname is the name

Talyson O?Mahoney

Talyson O'Mahoney

Lost apostrophe repaired

barbara mclean

Barbara McLean

Capitalisation

What it leaves alone

A name it cannot resolve comes back unchanged, with the reason in reasons. Nothing is ever blanked — an empty first name does not stop an export, it sends "Hi ,".

Values that are not people ([email protected], Acme Roofing LLC, Sarah Jones | We're hiring!, John Smith (He/Him)) are recognised and returned untouched.

Correct names are also left byte-identical. Dean Foster does not become DeAn Foster and Macy Gray does not become MacY Gray — the Mc/Mac and De rules run off closed lists of known surnames for exactly this reason.

Example

Response

Field
Type
Description

person_name

string

The repaired full name, or the original when no rule applied.

first_name

string

Greeting name, rebuilt from the full name.

last_name

string

Surname, rebuilt from the full name.

reasons

array

One short line per rule that fired, or the reason nothing changed.

The record is under data. See Response Format for the fields every endpoint returns.

Use this to see what the rules would do before running them over a whole list. To repair a list instead, use List Lookup.