> 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/job-function-breakdown/individual-lookup.md).

# Individual Lookup

Break one company's people down by LinkedIn job function, from its LinkedIn URL or its website. Synchronous, returns the counts directly.

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

{% hint style="info" %}
Costs **0.5 credits** when you pass a company LinkedIn URL, and **0.7 credits** when you pass only a website and Parvenu finds the company's LinkedIn page from it. Nothing is charged when no LinkedIn page or no breakdown is found, and a company looked up recently is free. Returns the counts directly in the response, no list and no polling.
{% endhint %}

Pass a company's LinkedIn URL, its website, or both. If a LinkedIn URL is given it is used and the website is never looked up. If only a website is given, Parvenu first finds the company's LinkedIn page from the website, then runs the breakdown, and returns the LinkedIn URL it found in `data.company_linkedin_url`.

The response contains a readable summary in `data.job_function_breakdown`, the largest function in `data.job_function_top`, and one integer per LinkedIn job function.

{% hint style="warning" %}
**The counts cover people who have a LinkedIn profile, not everyone who works at the company, and they do not sum to the company's headcount.** In one verified lookup a company returned 90 people across its functions against a LinkedIn employee count of 83, for a company that states it employs more than 280. The percentage in `job_function_breakdown` is that function's share of the people counted — never present it as a percentage of company size.
{% endhint %}

**Headers**

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

**Body**

Send at least one of `company_linkedin_url`, `company_website` or `domain`. If you send a LinkedIn URL and a website, the LinkedIn URL wins.

| Name                   | Type   | Description                                                                                            |
| ---------------------- | ------ | ------------------------------------------------------------------------------------------------------ |
| `api_key`              | string | Your API Key.                                                                                          |
| `company_linkedin_url` | string | Optional. Company LinkedIn URL, e.g. `https://www.linkedin.com/company/acme`. Used first when present. |
| `company_website`      | string | Optional. Company website, e.g. `acme.com`. Used only when there is no `company_linkedin_url`.         |
| `domain`               | string | Optional. Same as `company_website`; send either one.                                                  |

**Response**

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

| Field                       | Description                                                                                                                                                                                                                           |
| --------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `company_linkedin_url`      | The company LinkedIn URL that was used — the one you sent, or the one found from the website.                                                                                                                                         |
| `job_function_top`          | The largest function, as a string.                                                                                                                                                                                                    |
| `job_function_breakdown`    | Readable summary, one function per line, largest first, e.g. `Sales - 3345 people - 20%`, ending with a blank line and `Charged once per company`. The percentage is that function's share of the people counted, not of the company. |
| `headcount`                 | The number of staff with a LinkedIn profile.                                                                                                                                                                                          |
| `function_count_<function>` | One integer per function: LinkedIn's 27 job functions slugified, plus `function_count_other`. A function with nobody counted in it comes back `null` rather than `0`.                                                                 |

`credits_used` is `0.5` when a breakdown is found from a LinkedIn URL, `0.7` when the LinkedIn page was found from the website, and `0` on a repeat lookup of a company looked up recently. When no LinkedIn page or no breakdown is found, the call still returns HTTP 200, with `status` `not_found` and `"credits_used": 0`.

**Example**

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

```json
{
  "api_key": "your_api_key",
  "company_linkedin_url": "https://www.linkedin.com/company/hubspot"
}
```

{% endtab %}

{% tab title="Output" %}

```json
{
  "status": "success",
  "data": {
    "company_linkedin_url": "https://www.linkedin.com/company/hubspot",
    "job_function_top": "Sales",
    "job_function_breakdown": "Sales - 3345 people - 20%\nEngineering - 3145 people - 19%\nMarketing - 1479 people - 9%\nCustomer Success and Support - 1479 people - 9%\nBusiness Development - 1306 people - 8%\nOperations - 1013 people - 6%\nInformation Technology - 930 people - 6%\nHuman Resources - 724 people - 4%\nArts and Design - 662 people - 4%\nMedia and Communication - 619 people - 4%\nProduct Management - 531 people - 3%\nProgram and Project Management - 464 people - 3%\nFinance - 426 people - 3%\nEducation - 357 people - 2%\nAdministrative - 281 people - 2%\n\nCharged once per company",
    "headcount": 15888,
    "function_count_accounting": null,
    "function_count_administrative": 281,
    "function_count_arts_and_design": 662,
    "function_count_business_development": 1306,
    "function_count_community_and_social_services": null,
    "function_count_consulting": null,
    "function_count_customer_success_and_support": 1479,
    "function_count_education": 357,
    "function_count_engineering": 3145,
    "function_count_entrepreneurship": null,
    "function_count_finance": 426,
    "function_count_healthcare_services": null,
    "function_count_human_resources": 724,
    "function_count_information_technology": 930,
    "function_count_legal": null,
    "function_count_marketing": 1479,
    "function_count_media_and_communication": 619,
    "function_count_military_and_protective_services": null,
    "function_count_operations": 1013,
    "function_count_product_management": 531,
    "function_count_program_and_project_management": 464,
    "function_count_purchasing": null,
    "function_count_quality_assurance": null,
    "function_count_real_estate": null,
    "function_count_research": null,
    "function_count_sales": 3345,
    "function_count_support": null,
    "function_count_other": null
  },
  "credits_used": 0.5,
  "credits_remaining": 6419.8,
  "success": true
}
```

{% endtab %}

{% tab title="Input (website)" %}

```json
{
  "api_key": "your_api_key",
  "company_website": "acadium.com"
}
```

{% endtab %}

{% tab title="Output (website)" %}

```json
{
  "status": "success",
  "data": {
    "company_linkedin_url": "https://www.linkedin.com/company/acadiumofficial",
    "job_function_top": "Marketing",
    "headcount": 329,
    "company_size": "201-500",
    "function_count_marketing": 186,
    "function_count_operations": 106,
    "function_count_business_development": 73,
    "function_count_sales": 53
  },
  "credits_used": 0.7,
  "success": true
}
```

{% endtab %}

{% tab title="Output (repeat call)" %}

```json
{
  "status": "success",
  "data": {
    "company_linkedin_url": "https://www.linkedin.com/company/hubspot",
    "job_function_top": "Sales",
    "headcount": 15888,
    "function_count_sales": 3345
  },
  "credits_used": 0,
  "credits_remaining": 6419.8,
  "success": true
}
```

{% endtab %}
{% endtabs %}

The website tabs are a lookup by `company_website` only: Parvenu found the company's LinkedIn page, returned it in `company_linkedin_url`, and charged 0.7 credits. The repeat-call tab is the same request made again soon after: the data is identical and `credits_used` is `0`. These are trimmed to the fields that make the point — the full field set comes back either way.

A request with none of `company_linkedin_url`, `company_website` or `domain` returns a 422 validation error.

To break down every company in a list in one call instead, use [List Lookup](/enrichments/job-function-breakdown/list-lookup.md).
