# Name API
> Clean up and parse personal names. The case endpoint applies proper name-casing that ordinary title-casing gets wrong — McDonald, MacLeod, O'Brien, D'Angelo, hyphenated double-barrelled names, lower-case particles (van, von, de, la, der) and Roman-numeral suffixes (II, III, IV). The parse endpoint splits a full name into salutation, first, middle and last name and suffix, and also returns a properly-cased version of each part. Perfect for tidying user sign-ups, CRM and mailing lists, deduplicating contacts, formatting names on documents and normalising imported data. Pure local computation — no key, no third-party service, instant. Live, nothing stored. 3 endpoints. Parsing is tuned for Western (given-name-first) order. Distinct from baby-name popularity data and locale display-name lookups.

## Authentication
All requests require your oanor API key in the `x-oanor-key` header. Get one at https://www.oanor.com/developer/keys.

```bash
curl -H "x-oanor-key: oanor_live_…" "https://api.oanor.com/name-api/..."
```

## Pricing
- **Free** (Free) — 940 calls/Mo, 2 req/s
- **Starter** ($2/Mo) — 7,900 calls/Mo, 8 req/s
- **Pro** ($21/Mo) — 134,000 calls/Mo, 20 req/s
- **Mega** ($57/Mo) — 690,000 calls/Mo, 50 req/s

## Endpoints

### Name

#### `GET /v1/case` — Proper-case a name

**Parameters:**
- `name` (query, required, string) — A name Example: `macleod iii`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/name-api/v1/case?name=macleod+iii"
```

**Response:**
```json
{
    "data": {
        "cased": "MacLeod III",
        "input": "macleod iii"
    },
    "meta": {
        "timestamp": "2026-06-02T16:51:46.813Z",
        "request_id": "d780529e-f5a7-4b0e-9860-7c756f3cde08"
    },
    "status": "ok",
    "message": "Proper-case a name",
    "success": true
}
```

#### `GET /v1/parse` — Parse a full name

**Parameters:**
- `name` (query, required, string) — A full name Example: `mr. john q. public jr.`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/name-api/v1/parse?name=mr.+john+q.+public+jr."
```

**Response:**
```json
{
    "data": {
        "cased": {
            "full_name": "Mr. John Q. Public Jr.",
            "last_name": "Public",
            "first_name": "John",
            "middle_name": "Q."
        },
        "input": "mr. john q. public jr.",
        "suffix": "jr.",
        "full_name": "mr. john q. public jr.",
        "last_name": "public",
        "first_name": "john",
        "salutation": "mr.",
        "middle_name": "q."
    },
    "meta": {
        "timestamp": "2026-06-02T16:51:46.925Z",
        "request_id": "f78bc9df-293d-41c0-aa85-1fa53bc9b764"
    },
    "status": "ok",
    "message": "Parse a full name",
    "success": true
}
```

### Meta

#### `GET /v1/meta` — Spec

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/name-api/v1/meta"
```

**Response:**
```json
{
    "data": {
        "name": "Name API",
        "notes": "Parsing is heuristic and tuned for Western name order (given name first). Nothing is stored.",
        "version": "v1",
        "endpoints": [
            {
                "path": "/v1/case",
                "params": {
                    "name": "a name (required)"
                },
                "returns": "the properly-cased name"
            },
            {
                "path": "/v1/parse",
                "params": {
                    "name": "a full name (required)"
                },
                "returns": "salutation, first/middle/last name, suffix + a cased version"
            },
            {
                "path": "/v1/meta",
                "params": [],
                "returns": "this document"
            }
        ],
        "description": "Proper-case and parse personal names — correctly handles McDonald, MacLeod, O'Brien, hyphenated names, particles (van, von, de, la) and suffixes (Jr., III). Powered by namecase + humanparser. Pure local, no key."
    },
    "meta": {
        "timestamp": "2026-06-02T16:51:47.065Z",
        "request_id": "3808c22a-8f0d-4119-975d-b3ceb69b0b81"
    },
    "status": "ok",
    "message": "Meta",
    "success": true
}
```


---
Marketplace page: https://www.oanor.com/api/name-api
OpenAPI spec: https://www.oanor.com/api/name-api/openapi.json
