Skip to main content

Profile URL finder

Find the profile URL of a person from what you know about them: first name, last name, company, job title… Costs 1 credit per URL found. Pair it with the profile scraper to get their full data.

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.

Find one profile URL​

POSThttps://app.icypeas.com/api/url-search/profile
Headers
  • Authorizationstringrequired

    Your API key, as is (no Bearer prefix).

  • Content-Typestringrequired

    Always application/json.

Body parameters
  • firstnamestringrequired

    First name of your prospect

  • lastnamestringrequired

    Last name of your prospect

  • companyOrDomainstringoptional

    It should contain either the company name or its domain name (or website)

    Rule: Can be empty if jobTitle is given

  • jobTitlestringoptional

    It should contain the job title of your prospect

    Rule: Can be empty if companyOrDomain is given

Request example
curl -X POST "https://app.icypeas.com/api/url-search/profile" \
-H "Content-Type: application/json" \
-H "Authorization: YOUR_API_KEY" \
-d '{
"firstname": "Marc",
"lastname": "Lachabody",
"companyOrDomain": "nec technologies"
}'
Responses
200SuccessResponse when the URL is found
Example response · 200
{
"success": true,
"searchId": "#YOUR_SEARCH_ID#",
"status": "FOUND",
"result": "https://www.linkedin.com/in/my-profile"
}
Response fields
  • successboolean

    true means that your search succeeded (no error was raised on our side)

  • searchIdstring

    The id of the search item (if you need to fetch the result later using the dedicated route)

  • statusstring

    FOUND because the profile has been found

  • resultstring

    The profile URL

200SuccessResponse when the URL is not found
Example response · 200
{
"success": true,
"searchId": "#YOUR_SEARCH_ID#",
"status": "NOT_FOUND",
"result": ""
}
Response fields
  • successboolean

    true means that your search succeeded (no error was raised on our side)

  • searchIdstring

    The id of the search item (if you need to fetch the result later using the dedicated route)

  • statusstring

    NOT_FOUND because the profile was not found

  • resultstring

    The field is an empty string

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.

Example response · 200
{
"validationErrors": [
{
"field": "companyOrDomain",
"message": "validation_string_empty",
"humanReadableMessage": "The string is empty",
"actual": ""
}
],
"success": false
}
TypeFieldsWhen it happens
required
validation_required
firstnamelastnamecompanyOrDomainjobTitleError sent when the parameter is null or undefined
stringEmpty
validation_string_empty
firstnamelastnamecompanyOrDomainjobTitleError sent when the parameter is missing
InsufficientCredits
insufficient_credits
You need more credits than the ones you have to run this search.
UnpaidSubscriptionError
unpaid_subscription_error
Error sent when you have a pending payment and your subscription is therefore not paid
401UnauthorizedResponse when we could not authenticate you.
Example response · 401
{
"message": "Unauthorized access.",
"error": "UnauthorizedAccessError",
"status": 401,
"code": "unauthorized_access_error"
}
Response fields
  • messagestring

    Human-readable message.

  • errorstring

    Error name

  • statusnumber

    HTTP error code

  • codestring

    Error code

429Too many requestsError received when rate limit is exceeded
Example response · 429
{
"message": "You have exceeded the max number of requests per minute.",
"error": "RateLimitExceededError",
"status": 429,
"code": "rate_limit_exceeded_error"
}
Response fields
  • messagestring

    Human-readable message.

  • errorstring

    Error name

  • statusnumber

    HTTP error code

  • codestring

    Error code

Find up to 50 profile URLs​

POSThttps://app.icypeas.com/api/url-search
Headers
  • Authorizationstringrequired

    Your API key, as is (no Bearer prefix).

  • Content-Typestringrequired

    Always application/json.

Body parameters
  • typestringrequired

    The type of data

    Rule: should always be 'profile'

  • dataarray of objectsrequired

    An array containing the profiles' information. Max number of profiles per request is 50

    Show item properties (4)
    • firstnamestringrequired

      First name of your prospect

    • lastnamestringrequired

      Last name of your prospect

    • companyOrDomainstringoptional

      It should contain either the company name or its domain name (or website)

      Rule: Can be empty if jobTitle is given

    • jobTitlestringoptional

      It should contain the job title of your prospect

      Rule: Can be empty if companyOrDomain is given

Request example
curl -X POST "https://app.icypeas.com/api/url-search" \
-H "Content-Type: application/json" \
-H "Authorization: YOUR_API_KEY" \
-d '{
"type": "profile",
"data": [
{
"firstname": "Marc",
"lastname": "Lachabody",
"companyOrDomain": "nec technologies"
},
{
"firstname": "Katrina",
"lastname": "Larenkova",
"companyOrDomain": "apple"
}
]
}'
Responses
200SuccessResponse when your input does not contain any validation errors
Example response · 200
{
"success": true,
"data": [
{
"searchId": "#YOUR_SEARCH_ID_1#",
"status": "FOUND",
"result": "https://www.linkedin.com/in/my-profile"
},
{
"searchId": "#YOUR_SEARCH_ID_2#",
"status": "NOT_FOUND",
"result": ""
}
]
}
Response fields
  • successboolean

    true means that your search succeeded (no error was raised on our side)

  • dataarray of objects
    Show item properties (3)
    • searchIdstring

      The id of each search item (if you need to fetch the result later using the dedicated route)

    • statusstring

      FOUND when the profile was found & NOT_FOUND when not

    • resultstring

      The profile URL or an empty string if the profile is not found

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.

Example response · 200
{
"validationErrors": [
{
"field": "companyOrDomain",
"message": "validation_string_empty",
"humanReadableMessage": "The string is empty",
"actual": ""
}
],
"success": false
}
TypeFieldsWhen it happens
required
validation_required
firstnamelastnamecompanyOrDomainjobTitleError sent when the parameter is null or undefined
stringEmpty
validation_string_empty
firstnamelastnamecompanyOrDomainjobTitleError sent when the parameter is missing
InsufficientCredits
insufficient_credits
You need more credits than the ones you have to run this search.
UnpaidSubscriptionError
unpaid_subscription_error
Error sent when you have a pending payment and your subscription is therefore not paid
401UnauthorizedResponse when we could not authenticate you.
Example response · 401
{
"message": "Unauthorized access.",
"error": "UnauthorizedAccessError",
"status": 401,
"code": "unauthorized_access_error"
}
Response fields
  • messagestring

    Human-readable message.

  • errorstring

    Error name

  • statusnumber

    HTTP error code

  • codestring

    Error code

429Too many requestsError received when rate limit is exceeded
Example response · 429
{
"message": "You have exceeded the max number of requests per minute.",
"error": "RateLimitExceededError",
"status": 429,
"code": "rate_limit_exceeded_error"
}
Response fields
  • messagestring

    Human-readable message.

  • errorstring

    Error name

  • statusnumber

    HTTP error code

  • codestring

    Error code