> For the complete documentation index, see [llms.txt](https://developer.parvenu.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://developer.parvenu.io/enrichments/normalize-company-names.md).

# Normalize Company Names

Repair a company name — leftover website text, taglines, legal suffixes and capitalisation — one at a time or across an entire Parvenu list. Free.

Company names copied from websites carry everything that was on the page they came from: `Causal Inc All Rights Reserved`, `Easescreen - Digital Signage Solution`, `Omnibond Systems Llc.`, `Cs Genetics`.

Normalize Company Names removes the leftover website text, cuts the tagline, drops the legal suffix and fixes capitalisation — `Cs Genetics` → CS Genetics, `Mcenroe Voice And Data` → McEnroe Voice and Data.

There is no model and no lookup, so it costs nothing.

### Endpoints

* [Individual Lookup](/enrichments/normalize-company-names/individual-lookup.md): pass one `organization_name`, get the cleaned name back. Synchronous, free.
* [List Lookup](/enrichments/normalize-company-names/list-lookup.md): pass a `listname`; the API repairs every row in place. Asynchronous, free.

### Send the company description when you have it

A company's real spelling is usually already written in its own description. Matching against it is what turns `Planetbids` into `PlanetBids` without a model, and it is also what stops `Opmed.ai` losing its suffix.

`company_keywords` and `company_website` work the same way. All three are read-only — they are never written to and never returned.

### Use Cases

* **Merge fields that read like a person wrote them.** `{{COMPANY}}` resolving to `Causal Inc All Rights Reserved` is the tell that a message was automated.
* **Group a list by company.** `Ptc` and `PTC` are two companies to a spreadsheet and one to a human.

{% hint style="warning" %}
The List Lookup writes **in place**, over `organization_name`, because that is the field the integrations map. The original is preserved in `organization_name_raw` and re-read on a re-run.
{% endhint %}

{% hint style="info" %}
Both endpoints are **free**. No provider call, no model call, nothing charged.
{% endhint %}

### Guarded against the failures that matter

A rule that shortens a name that was already right is worse than one that leaves a broken name alone, so:

* `Cooper Companies` keeps its plural — the plural is part of the name, not a suffix.
* A single-word `Corp` or `AG` is left alone; as a whole name it is the brand.
* A spaced colon is branding, not a tagline separator: `Bene : Studio` stays whole.
* Any rule chain that removes more than 60% of the name keeps the original instead.

Anything it cannot resolve comes back unchanged, with the reason in `reasons`.
