> 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/find-email-address/individual-lookup.md).

# Individual Lookup

Look up one person's business email address from their LinkedIn profile URL, or from their name and company. Synchronous, returns the email directly.

<mark style="color:green;">`POST`</mark> `/email_enrichment`

{% hint style="info" %}
Costs **1 credit** per valid or accept-all email returned. Returns the email directly in the response, no list and no polling.
{% endhint %}

Supply either `person_linkedin_url` on its own, or `name` plus at least one of `company_name` / `domain`. Every field is individually optional, but the request is rejected if it doesn't satisfy one of those two shapes. More context (supplying more fields) generally improves the hit rate, the lookup runs an internal database, then a fallback, then a second fallback, and different steps lean on different fields.

`name` (first and last name) plus `domain` is enough on its own. A LinkedIn URL is not needed, though it still helps. The name is cleaned first: titles and letters after the name are dropped, so `Dr. Kerri A. Barton, DC` is searched as Kerri Barton.

Only the person's own work email is returned:

* A free email address (Gmail, Yahoo, Hotmail, Outlook, AOL, iCloud, internet provider mail and similar) is never returned.
* An address that is not the person's own is never returned: another person's address (for example `brian@` when you asked for Chris Mabry) or a shared inbox (`frontdesk@`, `office@`, `info@`). You are not charged for it.
* When no source finds the person's own address, Parvenu tries the usual address patterns at the company domain (`first.last@`, `first@`, `flast@`, `drlast@` and so on, up to 8) and verifies each one. The first valid one is returned. If the domain accepts every address (catch-all), it does not guess.

You are charged 1 credit only when a usable address is found. A miss, a refused address or a result that can't be verified costs 0.

The field is `person_linkedin_url`. The older `profile_url` name is no longer accepted and returns a 422.

**Headers**

| Name         | Value              |
| ------------ | ------------------ |
| Content-Type | `application/json` |

**Body**

| Name                  | Type   | Description                                                                                                                                                                                                                                                     |
| --------------------- | ------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `api_key`             | string | Your API Key.                                                                                                                                                                                                                                                   |
| `person_linkedin_url` | string | Optional. LinkedIn profile URL. Sufficient on its own.                                                                                                                                                                                                          |
| `name`                | string | Optional. The contact's full name. Required when `person_linkedin_url` is absent.                                                                                                                                                                               |
| `company_name`        | string | Optional. The company name. Pairs with `name`.                                                                                                                                                                                                                  |
| `domain`              | string | Optional. The company domain, e.g. `acme.com`. Pairs with `name`.                                                                                                                                                                                               |
| `listname`            | string | Optional. A Parvenu list this person is already on. When given, the result is also saved to their row in that list (the email, its status, and a line in the row's `log`). Nothing is added if the person is not on the list, and no extra credits are charged. |

**Response**

| Field                 | Type   | Description                                                                                    |
| --------------------- | ------ | ---------------------------------------------------------------------------------------------- |
| `email`               | string | The email address that was found. `null` when there is no match.                               |
| `email_status`        | string | How usable the address is, for example `valid` or `accept_all`. `null` when there is no match. |
| `person_linkedin_url` | string | The LinkedIn profile URL the address belongs to, echoed back.                                  |

The record is under `data`. See [Response Format](/getting-started/response-format.md) for the fields every endpoint returns.

**Example**

{% tabs %}
{% tab title="Input" %}

```json
{
  "api_key": "your_api_key",
  "person_linkedin_url": "https://www.linkedin.com/in/jane-doe-example/"
}
```

{% endtab %}

{% tab title="Input — save to a list" %}

```json
{
  "api_key": "your_api_key",
  "person_linkedin_url": "https://www.linkedin.com/in/jane-doe-example/",
  "listname": "My Prospects"
}
```

{% endtab %}

{% tab title="Output" %}

```json
{
  "status": "success",
  "data": {
    "email": "jane@example.com",
    "email_status": "valid",
    "person_linkedin_url": "https://www.linkedin.com/in/jane-doe-example/"
  },
  "credits_used": 1,
  "credits_remaining": 4823,
  "success": true
}
```

{% endtab %}

{% tab title="Output — Not found" %}

```json
{
  "status": "not_found",
  "data": {
    "email": null,
    "email_status": null,
    "person_linkedin_url": "https://www.linkedin.com/in/jane-doe-example/"
  },
  "credits_used": 0,
  "credits_remaining": 4824,
  "success": true
}
```

{% endtab %}

{% tab title="Error" %}

```json
{
  "status": "error",
  "error": {
    "code": "validation_error",
    "message": "api_key: Field required"
  },
  "success": false
}
```

{% endtab %}
{% endtabs %}

To look up every contact in a list in one call instead, use [List Lookup](/enrichments/find-email-address/list-lookup.md).
