# 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"}}}}}}}}}
```
