# nvFetchPerson

This method allows you to retrieve basic information about a person from Sales Navigator.

```typescript
try {
  const workflow = await linkedapi.nvFetchPerson.execute({
    personHashedUrl: "https://www.linkedin.com/in/SInQBmjJ015eLr8"
  });

  const { data, errors } = await linkedapi.nvFetchPerson.result(workflow.workflowId);

  // The list of possible execution errors is below
  if (errors && errors.length > 0) {
    console.warn('Workflow completed with execution errors:');
    errors.forEach(error => {
      console.warn(` - Type: ${error.type}, Message: ${error.message}`);
    });
  }

  // The structure of the 'data' object is below
  if (data) {
    console.log('Person name:', data.name);
    console.log('Headline:', data.headline);
    console.log('Location:', data.location);
    console.log('Position:', data.position);
    console.log('Company:', data.companyName);
    console.log('Workflow completed successfully. Data:', data);
  }
} catch (e) {
  // A list of all critical errors can be found here:
  // https://linkedapi.io/sdks/handling-results-and-errors/#handling-critical-errors
  if (e instanceof LinkedApiError) {
    console.error(`Critical Error - Type: ${e.type}, Message: ${e.message}`);
  } else {
    console.error('An unexpected, non-API error occurred:', e);
  }
}
```

```python
from linkedapi import NvOpenPersonPageParams, LinkedApiError

try:
    workflow = linkedapi.nv_fetch_person.execute(
        NvOpenPersonPageParams(person_hashed_url="https://www.linkedin.com/in/SInQBmjJ015eLr8")
    )

    result = linkedapi.nv_fetch_person.result(workflow.workflow_id)
    data = result.data
    errors = result.errors

    # The list of possible execution errors is below
    if errors:
        print("Workflow completed with execution errors:")
        for error in errors:
            print(f" - Type: {error.type}, Message: {error.message}")

    # The structure of the 'data' object is below
    if data:
        print("Person name:", data.name)
        print("Headline:", data.headline)
        print("Location:", data.location)
        print("Position:", data.position)
        print("Company:", data.company_name)
        print("Workflow completed successfully. Data:", data)
except LinkedApiError as e:
    # A list of all critical errors can be found here:
    # https://linkedapi.io/sdks/handling-results-and-errors/#handling-critical-errors
    print(f"Critical Error - Type: {e.type}, Message: {e.message}")
except Exception as error:
    print("An unexpected, non-API error occurred:", error)
```

## Params

- `personHashedUrl`  – [hashed](/faq/what-are-hashed-url-and-public-url) LinkedIn URL of the person.

## Data

- `name` – full name of the person.
- `publicUrl` – [public](/faq/what-are-hashed-url-and-public-url) LinkedIn URL of the person.
- `hashedUrl` – [hashed](/faq/what-are-hashed-url-and-public-url) LinkedIn URL of the person.
- `headline` – headline of the person.
- `location` – free-form string indicating the person's location.
- `countryCode` – two-character code of the person's country.
- `position` – current job position of the person.
- `companyName` – name of the person's current company.
- `companyHashedUrl` – [hashed](/faq/what-are-hashed-url-and-public-url) LinkedIn URL of the person's current company.
- `avatarUrl` – URL of the person's profile photo, or `null` if the person has no photo.

## Errors

- `noSalesNavigator` – your account does not have Sales Navigator subscription.
- `personNotFound` – provided URL is not an existing LinkedIn person.
