# LinkedIn

LinkedIn is where B2B identities live—make sure the URLs you store truly point to the right people and companies. Delpha's **LinkedIn Finder** and **LinkedIn Validator** keep your CRM aligned with canonical LinkedIn profiles by normalizing URLs, checking format quality, and surfacing the most relevant matches.

What we assess:

* **Completeness:** Is a LinkedIn URL provided?
* **Validity:** Does the URL follow LinkedIn's accepted format (no existence check)?
* **Consistency:** Does the input equal the normalized canonical form (e.g., people → `.../in/`, companies → `.../company/`)?
* **Accuracy:** Does the URL appear to match the provided context (person: first & last name, optional company; company: company name, optional website)?

What you get back:

* A **normalized LinkedIn URL** and **quality scores** for the checks above.
* When context suggests a mismatch or uncertainty, **AI-powered recommendations**: candidate profiles/pages with **confidence scores**, **rank**, and helpful details (name, title, location, description). If a company website is provided, we can use it to help identify the official LinkedIn page.

With **LinkedIn Finder** and **LinkedIn Validator**, your records stay clean, standardized, and tied to the right LinkedIn identities—boosting routing accuracy and downstream engagement.

## Submit linkedin for finding and validation

> Submit an linkedin for finding and validation. Returns a job ID for tracking the process.

```json
{"openapi":"3.1.0","info":{"title":"Delpha Data Quality API","version":"1.0.0"},"tags":[{"name":"LinkedIn","description":"LinkedIn is where B2B identities live—make sure the URLs you store truly point to the right people and companies.\nDelpha's **LinkedIn Finder** and **LinkedIn Validator** keep your CRM aligned with canonical LinkedIn profiles by normalizing URLs, checking format quality, and surfacing the most relevant matches.\n\nWhat we assess:\n- **Completeness:** Is a LinkedIn URL provided?\n- **Validity:** Does the URL follow LinkedIn's accepted format (no existence check)?\n- **Consistency:** Does the input equal the normalized canonical form (e.g., people → `.../in/`, companies → `.../company/`)?\n- **Accuracy:** Does the URL appear to match the provided context (person: first & last name, optional company; company: company name, optional website)?\n\nWhat you get back:\n- A **normalized LinkedIn URL** and **quality scores** for the checks above.\n- When context suggests a mismatch or uncertainty, **AI-powered recommendations**: candidate profiles/pages with **confidence scores**, **rank**, and helpful details (name, title, location, description). If a company website is provided, we can use it to help identify the official LinkedIn page.\n\nWith **LinkedIn Finder** and **LinkedIn Validator**, your records stay clean, standardized, and tied to the right LinkedIn identities—boosting routing accuracy and downstream engagement."}],"servers":[{"url":"https://api.delpha.io","description":"Production API server"}],"security":[{"oauth2":["api/access"]}],"components":{"securitySchemes":{"oauth2":{"type":"oauth2","description":"OAuth2 client credentials flow for API access","flows":{"clientCredentials":{"tokenUrl":"https://secure.delpha.io/oauth2/token","scopes":{"api/access":"Access to the public API"}}}}},"schemas":{"LinkedInSubmitInput":{"properties":{"url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Url","description":"The LinkedIn URL to assess."},"website":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Website","description":"The website URL associated with the LinkedIn entity."},"company_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Company Name","description":"The name of the company."},"first_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"First Name","description":"The first name of the entity if it's a profile."},"last_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Name","description":"The last name of the entity if it's a profile."},"email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Email","description":"The email address."}},"type":"object","title":"LinkedInSubmitInput","description":"Payload to submit a new LinkedIn quality job."},"LinkedInSubmitOutput":{"properties":{"job_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Job Id","description":"The job ID. Required if status <= 300."},"message":{"type":"string","title":"Message","description":"The message to return"},"status":{"type":"string","enum":["SUCCESS","ERROR"],"title":"Status","description":"The status of the process"},"status_code":{"type":"integer","title":"Status Code","description":"The status code to return"}},"type":"object","required":["message","status","status_code"],"title":"LinkedInSubmitOutput","description":"Response after submitting a new LinkedIn quality job."}}},"paths":{"/v1/linkedin":{"post":{"tags":["LinkedIn"],"summary":"Submit linkedin for finding and validation","description":"Submit an linkedin for finding and validation. Returns a job ID for tracking the process.","operationId":"findAndValidateLinkedin","requestBody":{"description":"\n\n**Validation Rules:**\n\n- **Validation mode:** `url` must be provided\n- **Recommendation mode:** One of the following must be provided:\n- By name: (`first_name` AND `last_name`) OR `company_name` (for contact profile: fn+ln+optional company_name; for company profile: company_name only)\n- `website`\n- `email` (if email is provided and website is not set, website will be automatically set from the email domain)\n- If all fields are provided, both validation and recommendation will be performed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LinkedInSubmitInput"}}},"required":true},"responses":{"202":{"description":"Job submitted to assess_social_network_v16","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LinkedInSubmitOutput"}}}},"400":{"description":"Invalid linkedin format or missing required fields","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LinkedInSubmitOutput"}}}},"401":{"description":"Authentication failed - invalid or missing OAuth 2.0 token","content":{"application/json":{"schema":{"properties":{"message":{"type":"string"}},"type":"object"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LinkedInSubmitOutput"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LinkedInSubmitOutput"}}}},"502":{"description":"Service unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LinkedInSubmitOutput"}}}}}}}}}
```

## Get linkedin finder and validator job status

> Retrieve the result and status of a previously submitted linkedin finder and validator job.

```json
{"openapi":"3.1.0","info":{"title":"Delpha Data Quality API","version":"1.0.0"},"tags":[{"name":"LinkedIn","description":"LinkedIn is where B2B identities live—make sure the URLs you store truly point to the right people and companies.\nDelpha's **LinkedIn Finder** and **LinkedIn Validator** keep your CRM aligned with canonical LinkedIn profiles by normalizing URLs, checking format quality, and surfacing the most relevant matches.\n\nWhat we assess:\n- **Completeness:** Is a LinkedIn URL provided?\n- **Validity:** Does the URL follow LinkedIn's accepted format (no existence check)?\n- **Consistency:** Does the input equal the normalized canonical form (e.g., people → `.../in/`, companies → `.../company/`)?\n- **Accuracy:** Does the URL appear to match the provided context (person: first & last name, optional company; company: company name, optional website)?\n\nWhat you get back:\n- A **normalized LinkedIn URL** and **quality scores** for the checks above.\n- When context suggests a mismatch or uncertainty, **AI-powered recommendations**: candidate profiles/pages with **confidence scores**, **rank**, and helpful details (name, title, location, description). If a company website is provided, we can use it to help identify the official LinkedIn page.\n\nWith **LinkedIn Finder** and **LinkedIn Validator**, your records stay clean, standardized, and tied to the right LinkedIn identities—boosting routing accuracy and downstream engagement."}],"servers":[{"url":"https://api.delpha.io","description":"Production API server"}],"security":[{"oauth2":["api/access"]}],"components":{"securitySchemes":{"oauth2":{"type":"oauth2","description":"OAuth2 client credentials flow for API access","flows":{"clientCredentials":{"tokenUrl":"https://secure.delpha.io/oauth2/token","scopes":{"api/access":"Access to the public API"}}}}},"schemas":{"LinkedInPullOutput":{"properties":{"message":{"type":"string","title":"Message","description":"A human-readable message describing the current state or outcome of the job."},"status":{"type":"string","enum":["SUCCESS","ERROR"],"title":"Status","description":"The status of the process"},"status_code":{"type":"integer","title":"Status Code","description":"The HTTP status code representing the job's current state."},"result":{"anyOf":[{"$ref":"#/components/schemas/LinkedInModel"},{"type":"null"}],"description":"The result of the linkedin quality job"},"process_time":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}],"title":"Process Time","description":"The total time taken to process the job, in seconds."}},"type":"object","required":["message","status","status_code"],"title":"LinkedInPullOutput","description":"Response after retrieving the status and result of an linkedin quality job."},"LinkedInModel":{"properties":{"data_type":{"$ref":"#/components/schemas/DataType","description":"The type of data for this field."},"normalized_value":{"type":"string","title":"Normalized Value","description":"Normalized LinkedIn value."},"label":{"type":"string","enum":["No","Ok","Unknown"],"title":"Label","description":"Label for the LinkedIn value."},"scores":{"$ref":"#/components/schemas/ScoresModel","description":"Scores for the field."},"recommendations":{"items":{"$ref":"#/components/schemas/LinkedInRecommendation"},"type":"array","title":"Recommendations","description":"Recommendations for the LinkedIn value."}},"type":"object","required":["data_type","normalized_value","label","scores","recommendations"],"title":"LinkedInModel","description":"Model representing the details of a LinkedIn field."},"DataType":{"type":"string","enum":["email","social_network","name","legal_id","phone","address","website"],"title":"DataType"},"ScoresModel":{"properties":{"accuracy":{"type":"number","maximum":1,"minimum":-1,"title":"Accuracy","description":"Accuracy score","default":-1},"validity":{"type":"integer","maximum":1,"minimum":-1,"title":"Validity","description":"Validity score","default":-1},"completeness":{"type":"number","maximum":1,"minimum":0,"title":"Completeness","description":"Completeness score","default":0},"consistency":{"type":"integer","maximum":1,"minimum":0,"title":"Consistency","description":"Consistency score","default":0}},"type":"object","title":"ScoresModel","description":"Model representing the scores for an email field."},"LinkedInRecommendation":{"properties":{"url":{"type":"string","title":"Url","description":"Recommended LinkedIn profile URL."},"score":{"type":"number","maximum":1,"minimum":0,"title":"Score","description":"Confidence score for the recommendation."},"title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Title","description":"Title of the recommended profile."},"rank":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Rank","description":"Rank of the recommendation."},"desc":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Desc","description":"Description of the recommended profile."},"company_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Company Name","description":"Company name associated with the recommended profile."},"location":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Location","description":"Location of the recommended profile."},"profile_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Profile Name","description":"Profile name of the recommended profile."}},"type":"object","required":["url","score"],"title":"LinkedInRecommendation","description":"Model representing a recommendation for a LinkedIn profile."}}},"paths":{"/v1/linkedin/{job_id}":{"get":{"tags":["LinkedIn"],"summary":"Get linkedin finder and validator job status","description":"Retrieve the result and status of a previously submitted linkedin finder and validator job.","operationId":"getLinkedinResult","responses":{"200":{"description":"Job succeeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LinkedInPullOutput"}}}},"202":{"description":"Job is still running.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LinkedInPullOutput"}}}},"400":{"description":"Input validation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LinkedInPullOutput"}}}},"401":{"description":"Authentication failed - invalid or missing OAuth 2.0 token","content":{"application/json":{"schema":{"properties":{"message":{"type":"string"}},"type":"object"}}}},"500":{"description":"Failed to retrieve job.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LinkedInPullOutput"}}}},"504":{"description":"Job timed out.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LinkedInPullOutput"}}}}}}}}}
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://help.delpha.io/delpha-api-and-mcp/api/linkedin.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
