Profile scraper
Turn a person's profile URL into structured data: name, headline, location, current and past jobs, education, skills… Costs 1.5 credits per profile found.
Unlike email searches, the single endpoint answers directly with the result. The bulk endpoint takes up to 50 items per call. See the rate limits.
Scrape one profile
https://app.icypeas.com/api/scrape/profile?url=PROFILE_URLAuthorizationstringrequiredYour API key, as is (no
Bearerprefix).Content-TypestringrequiredAlways
application/json.
urlstringrequiredThe profile URL
Rule: should be a correctly formatted user profile (e.g. https://www.linkedin.com/in/my-linkedin-id)
- cURL
- JavaScript
- Python
- PHP
- PowerShell
curl -X GET "https://app.icypeas.com/api/scrape/profile?url=PROFILE_URL" \
-H "Content-Type: application/json" \
-H "Authorization: YOUR_API_KEY"
const response = await fetch("https://app.icypeas.com/api/scrape/profile?url=PROFILE_URL", {
method: "GET",
headers: {
"Content-Type": "application/json",
Authorization: "YOUR_API_KEY",
},
});
const data = await response.json();
console.log(data);
import requests
response = requests.get(
"https://app.icypeas.com/api/scrape/profile?url=PROFILE_URL",
headers={"Authorization": "YOUR_API_KEY"},
)
print(response.json())
<?php
$ch = curl_init("https://app.icypeas.com/api/scrape/profile?url=PROFILE_URL");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"Authorization: YOUR_API_KEY",
],
]);
$response = json_decode(curl_exec($ch), true);
curl_close($ch);
print_r($response);
$headers = @{
"Authorization" = "YOUR_API_KEY"
"Content-Type" = "application/json"
}
$response = Invoke-RestMethod -Method GET -Uri "https://app.icypeas.com/api/scrape/profile?url=PROFILE_URL" -Headers $headers
$response | ConvertTo-Json -Depth 10
200SuccessResponse when the profile is found
{
"success": true,
"searchId": "#YOUR_SEARCH_ID#",
"status": "FOUND",
"result": {
"firstname": "Corentin",
"lastname": "Ribeyre",
"numOfConnections": 786,
"headline": "CTO at Icypeas",
"url": "https://www.linkedin.com/in/corentin-ribeyre-30085a3b",
"skills": [],
"languages": [
{
"value": "Français",
"norm": "FR"
},
{
"value": "Anglais",
"norm": "EN"
}
],
"lid": "corentin-ribeyre-30085a3b",
"description": "",
"address": {
"streetAddress": "",
"addressLocality": "Paris et périphérie",
"addressRegion": "",
"postalCode": "",
"addressCountry": "France",
"addressCountryCode": "FR"
},
"educations": [
{
"fieldsOfStudy": [
{
"value": "Linguistique Informatique"
}
],
"urn": "urn:li:fs_salesSchool:19143575",
"name": "Université Denis Diderot (Paris VII)",
"degree": "Doctorat",
"startDate": "2012-01-01T00:00:00.000Z",
"endDate": "2015-01-01T00:00:00.000Z"
},
{
"fieldsOfStudy": [
{
"value": "Linguistique Informatique"
}
],
"urn": "urn:li:fs_salesSchool:19143575",
"name": "Université Denis Diderot (Paris VII)",
"degree": "Master",
"startDate": "2010-01-01T00:00:00.000Z",
"endDate": "2012-01-01T00:00:00.000Z"
},
{
"fieldsOfStudy": [
{
"value": "Lettres Classiques"
}
],
"urn": "",
"name": "Lycée Fustel de Coulanges",
"degree": "Licence",
"startDate": "2007-01-01T00:00:00.000Z",
"endDate": "2010-01-01T00:00:00.000Z"
}
],
"worksFor": [
{
"name": "Icypeas",
"location": "Paris, Île-de-France, France",
"lid": "89667826",
"urn": "urn:li:fs_salesCompany:89667826",
"startDate": "2022-10-01T00:00:00.000Z",
"endDate": "0000-01-01T00:00:00.000Z",
"description": "",
"jobTitle": "Chief Technology Officer / Founder",
"company": {
"name": "Icypeas",
"lid": "icypeas",
"urn": "urn:li:fs_salesCompany:89667826",
"url": "https://www.linkedin.com/company/icypeas/",
"address": {
"streetAddress": "",
"addressLocality": "Paris",
"addressRegion": "Île-de-France",
"postalCode": "",
"addressCountry": "France",
"addressCountryCode": "FR"
},
"industry": "Développement de logiciels",
"website": "https://www.icypeas.com",
"specialties": [],
"_id": "b5VJUJMBbTK9Wqxt2B_V"
}
}
],
"alumniOf": [
{
"name": "Superpitch Agence Créative",
"location": "Paris Area, France",
"lid": "10668200",
"urn": "urn:li:fs_salesCompany:10668200",
"startDate": "2018-01-01T00:00:00.000Z",
"endDate": "2022-09-01T00:00:00.000Z",
"description": "",
"jobTitle": "Chief Technology Officer"
},
{
"name": "ETERMIND",
"location": "Région de Lyon, France",
"lid": "",
"urn": "",
"startDate": "2017-02-01T00:00:00.000Z",
"endDate": "2021-01-01T00:00:00.000Z",
"description": "",
"jobTitle": "NLP specialist, web developer"
},
{
"name": "Université de Genève",
"location": "Région de Genève, Suisse",
"lid": "166637",
"urn": "urn:li:fs_salesCompany:166637",
"startDate": "2016-02-01T00:00:00.000Z",
"endDate": "2017-01-01T00:00:00.000Z",
"description": "- Study the ability to properly induce the alignment between AMR graphs and the corresponding sentences using semi-supervised methods.\\n- Work on universal dependency parsing.\\n- Reviewer for the main NLP conferences (ACL, EACL, COLING, CONLL, EMNLP, LREC, AAAI, ...)\\n- Presenter on various topics for the weekly seminar of the CLCL.",
"jobTitle": "Chercheur postdoctoral"
},
{
"name": "Université Sorbonne Paris Cité",
"location": "Région de Paris, France",
"lid": "10202215",
"urn": "urn:li:fs_salesCompany:10202215",
"startDate": "2012-11-01T00:00:00.000Z",
"endDate": "2015-12-01T00:00:00.000Z",
"description": "PhD title :\\n\\nData-driven methods for syntax-semantic interface : From graph rewriting to transition-\\nbased parsing.\\n\\nSummary :\\n\\nIn this thesis, we offer resources, models and methods to allow: (i) the automatic annotation of deep syntactic corpora to extract argument structure that links (verbal) predicates to their arguments (ii) the use of these resources with the help of efficient algorithms.\\n\\nWe developed a graph rewriting system and a set of manually-designed rewriting rules to automatically annotate deep syntax in French. We also extended two transition-based parsers to deal with graph structures. We incorporated a set of rich linguistic features extracted from various syntactic trees into an arc-factored second-order parsing model. With this set of features, we reached the first state-of-the-art results on French and outperforms the one established on the DM and PAS corpora for English.\\n\\nFinally, we briefly explored a method to automatically induce the transformation between a tree and a graph.",
"jobTitle": "PhD Student"
},
{
"name": "Dublin City University",
"location": "Dublin, Ireland",
"lid": "12144",
"urn": "urn:li:fs_salesCompany:12144",
"startDate": "2012-07-01T00:00:00.000Z",
"endDate": "2012-11-01T00:00:00.000Z",
"description": "- Implement highly efficient multihreading into LORG, a PCFG-LA parser, based on the same principles as the Berkeley parser (Petrov et al., 2006)\\n- Domain adaptation experiments to improve LORG' performances (F1-score) on noisy web data.\\n- Design of a web interface to expose LORG as a service.",
"jobTitle": "Intern in Natural Language Processing at the NCLT"
},
{
"name": "INRIA",
"location": "Région de Paris, France",
"lid": "164385",
"urn": "urn:li:fs_salesCompany:164385",
"startDate": "2012-02-01T00:00:00.000Z",
"endDate": "2012-07-01T00:00:00.000Z",
"description": "Developing a graph rewriting system to transform syntactic trees (dependency parses from a syntactic parser such as FrMG or Malt) into semantic structures (such as DMRS) with a hybrid approach based on a simplified form of a Single Push Out approach and a constraints propagation system.",
"jobTitle": "Intern in NLP"
},
{
"name": "Alpage -- INRIA",
"location": "Région de Paris, France",
"lid": "164385",
"urn": "urn:li:fs_salesCompany:164385",
"startDate": "2011-11-01T00:00:00.000Z",
"endDate": "2012-01-01T00:00:00.000Z",
"description": "I had to implement a program capable of retrieving information from a TAG parser (FrMG parser) in order to reinject deep syntax information in the French Treebank, such as deep extractions.",
"jobTitle": "Creation of a prototype for semi-automatic annotation in deep syntax based on a TAG parser"
},
{
"name": "VirtuOz",
"location": "Région de Paris, France",
"lid": "53594",
"urn": "urn:li:fs_salesCompany:53594",
"startDate": "2011-04-01T00:00:00.000Z",
"endDate": "2011-08-01T00:00:00.000Z",
"description": "Internship for training a probabilistic tagger for English, following by an evaluation process of the new tagger with the tools developed by the company.",
"jobTitle": "Intern in NLP for training a new probabilistic tagger for English"
}
],
"volunteeringExperiences": [],
"deleted": false
}
}
successbooleantrue means that your search succeeded (no error was raised on our side)
searchIdstringThe id of the search item (if you need to fetch the result later using the dedicated route)
statusstringFOUND because the profile has been found
resultobjectThe profile
Show properties (19)
idstringIcypeas unique identifier.
firstnamestringFirst name.
lastnamestringLast name.
numOfConnectionsnumberNumber of connections.
headlinestringProfile headline.
urlstringProfile URL.
ContactInfoobjectContact information.
Show properties (2)
phoneNumberstringPhone number.
linkedinEmailstringEmail address.
skillsarray of objectsSkills.
Show item properties (1)
valuestringData value.
languagesarray of objectsLanguages.
Show item properties (2)
valuestringData value.
normstringData normalized (country code, language code, etc.).
lidstringLinkedIn ID (the `my-linkedin-id` in https://linkedin.com/in/my-linkedin-id).
linkedinEmailstringEmail address.
descriptionstringProfile description.
addressobjectAddress information.
Show properties (6)
streetAddressstringStreet address.
addressLocalitystringAddress locality.
addressRegionstringAddress region.
postalCodestringPostal code.
addressCountrystringAddress country.
addressCountryCodestringAddress country code (ISO Alpha 2 or UNK).
educationsarray of objectsEducation history.
Show item properties (7)
fieldsOfStudyarray of objectsFields of study.
Show item properties (1)
valuestringData value.
urnstringURN of the school
namestringSchool name.
degreestringDegree earned.
startDatestringStart date (ISO 8601 format).
endDatestringEnd date (ISO 8601 format).
schoolInformationstringAdditional school information. (if the education is still in progress this will be 0)
worksForarray of objectsWork experience.
Show item properties (8)
namestringOrganization name.
locationstringOrganization location.
lidstringLinkedIn ID of the company.
urnstringURN of the organization entry.
startDatestringStart date (ISO 8601 format).
endDatestringEnd date (ISO 8601 format). If the
descriptionstringJob description.
jobTitlestringJob title.
alumniOfarray of objectsAlumni of organizations.
Show item properties (8)
namestringOrganization name.
locationstringOrganization location.
lidstringLinkedIn ID of the company.
urnstringURN of the organization entry.
startDatestringStart date (ISO 8601 format).
endDatestringEnd date (ISO 8601 format). If the
descriptionstringJob description.
jobTitlestringJob title.
volunteeringExperiencesarray of objectsVolunteering experiences.
Show item properties (8)
namestringOrganization name.
locationstringOrganization location.
lidstringLinkedIn ID of the company.
urnstringURN of the organization entry.
startDatestringStart date (ISO 8601 format).
endDatestringEnd date (ISO 8601 format). If the
descriptionstringJob description.
jobTitlestringJob title.
openProfilebooleanIndicates if the profile is open to connections.
deletedbooleanIndicates if the profile has been deleted.
200SuccessResponse when the profile is not found
{
"success": true,
"searchId": "#YOUR_SEARCH_ID#",
"status": "NOT_FOUND",
"result": null
}
successbooleantrue means that your search succeeded (no error was raised on our side)
searchIdstringThe id of the search item (if you need to fetch the result later using the dedicated route)
statusstringNOT_FOUND because the profile was not found
resultobjectThe field is null
200Validation errorResponse when there are validation errors.
The request reached Icypeas but some fields are wrong. The response lists every problem in validationErrors. See how to read and fix errors.
{
"validationErrors": [
{
"field": "url",
"message": "wrong_linkedin_url",
"humanReadableMessage": "The URL should be a user profile URL",
"type": "WrongLinkedinUrl",
"expected": null,
"actual": "https://linkedin.com/xxx/martin-alejandro-espino-huaman-003a39206"
}
],
"success": false
}
| Type | Fields | When it happens |
|---|---|---|
stringEmptyvalidation_string_empty | url | Error sent when the parameter is missing |
urlvalidation_url | url | Error sent when the parameter is not a valid URL |
WrongLinkedinUrlwrong_linkedin_url | url | The URL should be a user profile URL. |
InsufficientCreditsinsufficient_credits | | You need more credits than the ones you have to run this search. |
UnpaidSubscriptionErrorunpaid_subscription_error | | Error sent when you have a pending payment and your subscription is therefore not paid |
401UnauthorizedResponse when we could not authenticate you.
{
"message": "Unauthorized access.",
"error": "UnauthorizedAccessError",
"status": 401,
"code": "unauthorized_access_error"
}
messagestringHuman-readable message.
errorstringError name
statusnumberHTTP error code
codestringError code
429Too many requestsError received when rate limit is exceeded
{
"message": "You have exceeded the max number of requests per minute.",
"error": "RateLimitExceededError",
"status": 429,
"code": "rate_limit_exceeded_error"
}
messagestringHuman-readable message.
errorstringError name
statusnumberHTTP error code
codestringError code
Scrape up to 50 profiles
https://app.icypeas.com/api/scrapeAuthorizationstringrequiredYour API key, as is (no
Bearerprefix).Content-TypestringrequiredAlways
application/json.
typestringrequiredThe type of data
Rule: should always be 'profile'
dataarrayrequiredAn array containing the profile URLs to scrape. Max number of profiles per request is 50
Rule: should be valid profile URLs
- cURL
- JavaScript
- Python
- PHP
- PowerShell
- JSON body
curl -X POST "https://app.icypeas.com/api/scrape" \
-H "Content-Type: application/json" \
-H "Authorization: YOUR_API_KEY" \
-d '{
"type": "profile",
"data": [
"https://www.linkedin.com/in/corentin-ribeyre-30085a3b",
"https://www.linkedin.com/in/pierre-baptiste-landoin-icypes/"
]
}'
const response = await fetch("https://app.icypeas.com/api/scrape", {
method: "POST",
headers: {
"Content-Type": "application/json",
Authorization: "YOUR_API_KEY",
},
body: JSON.stringify({
"type": "profile",
"data": [
"https://www.linkedin.com/in/corentin-ribeyre-30085a3b",
"https://www.linkedin.com/in/pierre-baptiste-landoin-icypes/"
]
}),
});
const data = await response.json();
console.log(data);
import requests
response = requests.post(
"https://app.icypeas.com/api/scrape",
headers={"Authorization": "YOUR_API_KEY"},
json={
"type": "profile",
"data": ["https://www.linkedin.com/in/corentin-ribeyre-30085a3b", "https://www.linkedin.com/in/pierre-baptiste-landoin-icypes/"],
},
)
print(response.json())
<?php
$body = <<<'JSON'
{
"type": "profile",
"data": [
"https://www.linkedin.com/in/corentin-ribeyre-30085a3b",
"https://www.linkedin.com/in/pierre-baptiste-landoin-icypes/"
]
}
JSON;
$ch = curl_init("https://app.icypeas.com/api/scrape");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => $body,
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"Authorization: YOUR_API_KEY",
],
]);
$response = json_decode(curl_exec($ch), true);
curl_close($ch);
print_r($response);
$headers = @{
"Authorization" = "YOUR_API_KEY"
"Content-Type" = "application/json"
}
$body = @'
{
"type": "profile",
"data": [
"https://www.linkedin.com/in/corentin-ribeyre-30085a3b",
"https://www.linkedin.com/in/pierre-baptiste-landoin-icypes/"
]
}
'@
$response = Invoke-RestMethod -Method POST -Uri "https://app.icypeas.com/api/scrape" -Headers $headers -Body $body
$response | ConvertTo-Json -Depth 10
Paste this in the Body field of Make, Zapier, n8n or Postman.
{
"type": "profile",
"data": [
"https://www.linkedin.com/in/corentin-ribeyre-30085a3b",
"https://www.linkedin.com/in/pierre-baptiste-landoin-icypes/"
]
}
200SuccessResponse when your input does not contain any validation errors
{
"success": true,
"data": [
{
"searchId": "#YOUR_SEARCH_ID_1#",
"status": "FOUND",
"result": {
"firstname": "Corentin",
"lastname": "Ribeyre",
"numOfConnections": 786,
"headline": "CTO at Icypeas",
"url": "https://www.linkedin.com/in/corentin-ribeyre-30085a3b",
"skills": [],
"languages": [
{
"value": "Français",
"norm": "FR"
},
{
"value": "Anglais",
"norm": "EN"
}
],
"lid": "corentin-ribeyre-30085a3b",
"description": "",
"address": {
"streetAddress": "",
"addressLocality": "Paris et périphérie",
"addressRegion": "",
"postalCode": "",
"addressCountry": "France",
"addressCountryCode": "FR"
},
"educations": [
{
"fieldsOfStudy": [
{
"value": "Linguistique Informatique"
}
],
"urn": "urn:li:fs_salesSchool:19143575",
"name": "Université Denis Diderot (Paris VII)",
"degree": "Doctorat",
"startDate": "2012-01-01T00:00:00.000Z",
"endDate": "2015-01-01T00:00:00.000Z"
},
{
"fieldsOfStudy": [
{
"value": "Linguistique Informatique"
}
],
"urn": "urn:li:fs_salesSchool:19143575",
"name": "Université Denis Diderot (Paris VII)",
"degree": "Master",
"startDate": "2010-01-01T00:00:00.000Z",
"endDate": "2012-01-01T00:00:00.000Z"
},
{
"fieldsOfStudy": [
{
"value": "Lettres Classiques"
}
],
"urn": "",
"name": "Lycée Fustel de Coulanges",
"degree": "Licence",
"startDate": "2007-01-01T00:00:00.000Z",
"endDate": "2010-01-01T00:00:00.000Z"
}
],
"worksFor": [
{
"name": "Icypeas",
"location": "Paris, Île-de-France, France",
"lid": "89667826",
"urn": "urn:li:fs_salesCompany:89667826",
"startDate": "2022-10-01T00:00:00.000Z",
"endDate": "0000-01-01T00:00:00.000Z",
"description": "",
"jobTitle": "Chief Technology Officer / Founder",
"company": {
"name": "Icypeas",
"lid": "icypeas",
"urn": "urn:li:fs_salesCompany:89667826",
"url": "https://www.linkedin.com/company/icypeas/",
"address": {
"streetAddress": "",
"addressLocality": "Paris",
"addressRegion": "Île-de-France",
"postalCode": "",
"addressCountry": "France",
"addressCountryCode": "FR"
},
"industry": "Développement de logiciels",
"website": "https://www.icypeas.com",
"specialties": [],
"_id": "b5VJUJMBbTK9Wqxt2B_V"
}
}
],
"alumniOf": [
{
"name": "Superpitch Agence Créative",
"location": "Paris Area, France",
"lid": "10668200",
"urn": "urn:li:fs_salesCompany:10668200",
"startDate": "2018-01-01T00:00:00.000Z",
"endDate": "2022-09-01T00:00:00.000Z",
"description": "",
"jobTitle": "Chief Technology Officer"
},
{
"name": "ETERMIND",
"location": "Région de Lyon, France",
"lid": "",
"urn": "",
"startDate": "2017-02-01T00:00:00.000Z",
"endDate": "2021-01-01T00:00:00.000Z",
"description": "",
"jobTitle": "NLP specialist, web developer"
},
{
"name": "Université de Genève",
"location": "Région de Genève, Suisse",
"lid": "166637",
"urn": "urn:li:fs_salesCompany:166637",
"startDate": "2016-02-01T00:00:00.000Z",
"endDate": "2017-01-01T00:00:00.000Z",
"description": "- Study the ability to properly induce the alignment between AMR graphs and the corresponding sentences using semi-supervised methods.\\n- Work on universal dependency parsing.\\n- Reviewer for the main NLP conferences (ACL, EACL, COLING, CONLL, EMNLP, LREC, AAAI, ...)\\n- Presenter on various topics for the weekly seminar of the CLCL.",
"jobTitle": "Chercheur postdoctoral"
},
{
"name": "Université Sorbonne Paris Cité",
"location": "Région de Paris, France",
"lid": "10202215",
"urn": "urn:li:fs_salesCompany:10202215",
"startDate": "2012-11-01T00:00:00.000Z",
"endDate": "2015-12-01T00:00:00.000Z",
"description": "PhD title :\\n\\nData-driven methods for syntax-semantic interface : From graph rewriting to transition-\\nbased parsing.\\n\\nSummary :\\n\\nIn this thesis, we offer resources, models and methods to allow: (i) the automatic annotation of deep syntactic corpora to extract argument structure that links (verbal) predicates to their arguments (ii) the use of these resources with the help of efficient algorithms.\\n\\nWe developed a graph rewriting system and a set of manually-designed rewriting rules to automatically annotate deep syntax in French. We also extended two transition-based parsers to deal with graph structures. We incorporated a set of rich linguistic features extracted from various syntactic trees into an arc-factored second-order parsing model. With this set of features, we reached the first state-of-the-art results on French and outperforms the one established on the DM and PAS corpora for English.\\n\\nFinally, we briefly explored a method to automatically induce the transformation between a tree and a graph.",
"jobTitle": "PhD Student"
},
{
"name": "Dublin City University",
"location": "Dublin, Ireland",
"lid": "12144",
"urn": "urn:li:fs_salesCompany:12144",
"startDate": "2012-07-01T00:00:00.000Z",
"endDate": "2012-11-01T00:00:00.000Z",
"description": "- Implement highly efficient multihreading into LORG, a PCFG-LA parser, based on the same principles as the Berkeley parser (Petrov et al., 2006)\\n- Domain adaptation experiments to improve LORG' performances (F1-score) on noisy web data.\\n- Design of a web interface to expose LORG as a service.",
"jobTitle": "Intern in Natural Language Processing at the NCLT"
},
{
"name": "INRIA",
"location": "Région de Paris, France",
"lid": "164385",
"urn": "urn:li:fs_salesCompany:164385",
"startDate": "2012-02-01T00:00:00.000Z",
"endDate": "2012-07-01T00:00:00.000Z",
"description": "Developing a graph rewriting system to transform syntactic trees (dependency parses from a syntactic parser such as FrMG or Malt) into semantic structures (such as DMRS) with a hybrid approach based on a simplified form of a Single Push Out approach and a constraints propagation system.",
"jobTitle": "Intern in NLP"
},
{
"name": "Alpage -- INRIA",
"location": "Région de Paris, France",
"lid": "164385",
"urn": "urn:li:fs_salesCompany:164385",
"startDate": "2011-11-01T00:00:00.000Z",
"endDate": "2012-01-01T00:00:00.000Z",
"description": "I had to implement a program capable of retrieving information from a TAG parser (FrMG parser) in order to reinject deep syntax information in the French Treebank, such as deep extractions.",
"jobTitle": "Creation of a prototype for semi-automatic annotation in deep syntax based on a TAG parser"
},
{
"name": "VirtuOz",
"location": "Région de Paris, France",
"lid": "53594",
"urn": "urn:li:fs_salesCompany:53594",
"startDate": "2011-04-01T00:00:00.000Z",
"endDate": "2011-08-01T00:00:00.000Z",
"description": "Internship for training a probabilistic tagger for English, following by an evaluation process of the new tagger with the tools developed by the company.",
"jobTitle": "Intern in NLP for training a new probabilistic tagger for English"
}
],
"volunteeringExperiences": [],
"deleted": false
}
},
{
"searchId": "#YOUR_SEARCH_ID_2#",
"status": "NOT_FOUND",
"result": null
}
]
}
successbooleantrue means that your search succeeded (no error was raised on our side)
dataarray of objectsShow item properties (3)
searchIdstringThe id of each search item (if you need to fetch the result later using the dedicated route)
statusstringFOUND when the profile was found & NOT_FOUND when not
resultobjectThe profile or null if no profile was found
Show properties (19)
idstringIcypeas unique identifier.
firstnamestringFirst name.
lastnamestringLast name.
numOfConnectionsnumberNumber of connections.
headlinestringProfile headline.
urlstringProfile URL.
ContactInfoobjectContact information.
Show properties (2)
phoneNumberstringPhone number.
linkedinEmailstringEmail address.
skillsarray of objectsSkills.
Show item properties (1)
valuestringData value.
languagesarray of objectsLanguages.
Show item properties (2)
valuestringData value.
normstringData normalized (country code, language code, etc.).
lidstringLinkedIn ID (the `my-linkedin-id` in https://linkedin.com/in/my-linkedin-id).
linkedinEmailstringEmail address.
descriptionstringProfile description.
addressobjectAddress information.
Show properties (6)
streetAddressstringStreet address.
addressLocalitystringAddress locality.
addressRegionstringAddress region.
postalCodestringPostal code.
addressCountrystringAddress country.
addressCountryCodestringAddress country code (ISO Alpha 2 or UNK).
educationsarray of objectsEducation history.
Show item properties (7)
fieldsOfStudyarray of objectsFields of study.
Show item properties (1)
valuestringData value.
urnstringURN of the school
namestringSchool name.
degreestringDegree earned.
startDatestringStart date (ISO 8601 format).
endDatestringEnd date (ISO 8601 format).
schoolInformationstringAdditional school information. (if the education is still in progress this will be 0)
worksForarray of objectsWork experience.
Show item properties (8)
namestringOrganization name.
locationstringOrganization location.
lidstringLinkedIn ID of the company.
urnstringURN of the organization entry.
startDatestringStart date (ISO 8601 format).
endDatestringEnd date (ISO 8601 format). If the
descriptionstringJob description.
jobTitlestringJob title.
alumniOfarray of objectsAlumni of organizations.
Show item properties (8)
namestringOrganization name.
locationstringOrganization location.
lidstringLinkedIn ID of the company.
urnstringURN of the organization entry.
startDatestringStart date (ISO 8601 format).
endDatestringEnd date (ISO 8601 format). If the
descriptionstringJob description.
jobTitlestringJob title.
volunteeringExperiencesarray of objectsVolunteering experiences.
Show item properties (8)
namestringOrganization name.
locationstringOrganization location.
lidstringLinkedIn ID of the company.
urnstringURN of the organization entry.
startDatestringStart date (ISO 8601 format).
endDatestringEnd date (ISO 8601 format). If the
descriptionstringJob description.
jobTitlestringJob title.
openProfilebooleanIndicates if the profile is open to connections.
deletedbooleanIndicates if the profile has been deleted.
200Validation errorResponse when there are validation errors.
The request reached Icypeas but some fields are wrong. The response lists every problem in validationErrors. See how to read and fix errors.
{
"validationErrors": [
{
"field": "url",
"message": "wrong_linkedin_url",
"humanReadableMessage": "All URLs in the data array should be a profile URL. Please check URLs at indices: 1",
"type": "WrongLinkedinUrl",
"expected": null,
"actual": [
"https://www.linkedin.com/in/corentin-ribeyre-30085a3b",
"https://linkedin.com/xxx/martin-alejandro-espino-huaman-003a39206"
]
}
],
"success": false
}
| Type | Fields | When it happens |
|---|---|---|
stringEmptyvalidation_string_empty | url | Error sent when the parameter is missing |
urlvalidation_url | url | Error sent when the parameter is not a valid URL |
WrongLinkedinUrlwrong_linkedin_url | url | The URL should be a user profile URL. |
InsufficientCreditsinsufficient_credits | | You need more credits than the ones you have to run this search. |
UnpaidSubscriptionErrorunpaid_subscription_error | | Error sent when you have a pending payment and your subscription is therefore not paid |
401UnauthorizedResponse when we could not authenticate you.
{
"message": "Unauthorized access.",
"error": "UnauthorizedAccessError",
"status": 401,
"code": "unauthorized_access_error"
}
messagestringHuman-readable message.
errorstringError name
statusnumberHTTP error code
codestringError code
429Too many requestsError received when rate limit is exceeded
{
"message": "You have exceeded the max number of requests per minute.",
"error": "RateLimitExceededError",
"status": 429,
"code": "rate_limit_exceeded_error"
}
messagestringHuman-readable message.
errorstringError name
statusnumberHTTP error code
codestringError code