---
title: "Enrich Person"
description: "Return a person's full professional profile from our data lake by any single identifier."
---

> Documentation Index
> Fetch the complete documentation index at: https://docs.kooperativa.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Enrich Person

`GET /api/v1/person`

Returns a person's full professional profile from our data lake by any single identifier you already have.

Provide **one** of `linkedin_url`, `username`, or `id`. They are checked in that order.

:::tip
`username` is the fastest lookup. It's the slug after `/in/` in the profile URL. Use it over `linkedin_url` when you already have it.
:::

## Request

| Parameter | Type | Required | Description |
|---|---|---|---|
| `linkedin_url` | string | one of | Full LinkedIn profile URL |
| `username` | string | one of | Profile slug after `/in/` (fastest lookup) |
| `id` | string | one of | Kooperativa internal profile ID |

## Pricing

:::note
**1 credit**, charged **only when a profile is found**. A `404` response is completely free.
:::

## Code examples

```bash title="cURL"
curl "https://kooperativa.io/api/v1/person?username=satyanadella" \
  -H "Authorization: Bearer ik_live_..."
```

```js title="JavaScript"
const res = await fetch(
  "https://kooperativa.io/api/v1/person?username=satyanadella",
  { headers: { Authorization: `Bearer ${process.env.KOOPERATIVA_API_KEY}` } }
);
const { data } = await res.json();
```

```python title="Python"
import os, requests

res = requests.get(
"https://kooperativa.io/api/v1/person",
params={"username": "satyanadella"},
headers={"Authorization": f"Bearer {os.environ['KOOPERATIVA_API_KEY']}"},
)
data = res.json()["data"]
```

## Response

```json
{
  "data": {
"id": "f9413465-c1b9-4129-ab9f-2234caf971b1",
"full_name": "Satya Nadella",
"first_name": "Satya",
"last_name": "Nadella",
"username": "satyanadella",
"headline": "Chairman and CEO at Microsoft",
"current_title": "Chairman and CEO",
"current_company": "Microsoft",
"current_company_id": "1035",
"geo_city": "Redmond, Washington",
"geo_country_code": "US",
"linkedin_url": "https://www.linkedin.com/in/satyanadella",
"is_premium": true,
"positions": [ "...12 items" ],
"skills": [ "...40 items" ],
"fetched_at": "2026-06-21T17:44:00Z"
  }
}
```

## Error responses

| Status | Error |
|---|---|
| `401` | Invalid or missing API key |
| `402` | Insufficient credits |
| `404` | Profile not found |

:::caution
A `404` means the profile has not been indexed yet, not that the person does not exist. Our data lake is continuously refreshed but may not have every profile.
:::

Source: https://docs.kooperativa.io/people/enrich-person/index.mdx
