Skip to main content

Reverse email lookup

Start from a professional email address and find the profile of the person behind it. Costs 10 credits per profile found.

The bulk endpoint takes up to 50 emails per call. See the rate limits.

Look up one email​

POSThttps://app.icypeas.com/api/reverse-email-lookup
Headers
  • Authorizationstringrequired

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

  • Content-Typestringrequired

    Always application/json.

Body parameters
  • emailstringrequired

    A professional email address

Request example
curl -X POST "https://app.icypeas.com/api/reverse-email-lookup" \
-H "Content-Type: application/json" \
-H "Authorization: YOUR_API_KEY" \
-d '{
"email": "pierre.landoin@icypeas.com"
}'
Responses
200SuccessResponse when your input is compliant and a profile URL has been found
Example response · 200
{
"success": true,
"results": "https://www.linkedin.com/in/pierre-baptiste-landoin-icypeas",
"searchId": "RUiDo5sBptEgZPBRAC7O",
"status": "FOUND"
}
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 URL was found

  • resultstring

    The profile URL

200SuccessResponse when your input is compliant but the profile URL cannot be found
Example response · 200
{
"success": true,
"results": "",
"searchId": "RUiDo5sBptEgZPBRAC8O",
"status": "NOT_FOUND"
}
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 nothing was found

  • resultstring

    An empty string, because nothing was 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": [
{
"expected": "email",
"type": "required",
"field": "email",
"message": "validation_required"
}
],
"success": false
}
TypeFieldsWhen it happens
required
validation_required
emailError sent when the field is missing
stringEmpty
validation_string_empty
emailError sent when the field is empty
email
validation_email
emailError sent when the field is not an email address
UnpaidSubscriptionError
unpaid_subscription_error
userError sent when you have a pending payment and your subscription is therefore not paid
InsufficientCredits
insufficient_credits
userError sent when you do not have enough credits to run the search
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

Look up to 50 emails​

POSThttps://app.icypeas.com/api/reverse-email-lookups
Headers
  • Authorizationstringrequired

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

  • Content-Typestringrequired

    Always application/json.

Body parameters
  • dataarrayrequired

    An array of professional email addresses. Minimum of 2 addresses, maximum of 50 addresses

    Rule: should be valid email addresses

Request example
curl -X POST "https://app.icypeas.com/api/reverse-email-lookups" \
-H "Content-Type: application/json" \
-H "Authorization: YOUR_API_KEY" \
-d '{
"data": [
"pierre.landoin@icypeas.com",
"magnus@icypeas.com"
]
}'
Responses
200SuccessResponse when your input is compliant
Example response · 200
{
"success": true,
"data": [
{
"searchId": "RUiDo5sBptEgZPBRAC7O",
"status": "FOUND",
"result": "https://www.linkedin.com/in/pierre-baptiste-landoin-icypeas"
},
{
"searchId": "RDiDo5sBptEgZPBRAC81",
"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 the search item (if you need to fetch the result later using the dedicated route)

    • statusstring

      FOUND if the profile URL was found. NOT_FOUND otherwise

    • resultstring

      The profile URL (if FOUND). An empty string otherwise

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": [
{
"expected": "email",
"type": "required",
"field": "email",
"message": "validation_required"
}
],
"success": false
}
TypeFieldsWhen it happens
arrayEmpty
The 'data' field must not be an empty array.
dataError sent when the data array is empty
arrayLength
The 'data' field must contain 2 >= value <= 50 items.
dataError sent when the data does not contain at least 2 emails and at most 50 emails
EmailArray
email_array
dataError sent when the data array does not contain valid email addresses
UnpaidSubscriptionError
unpaid_subscription_error
Error sent when you have a pending payment and your subscription is therefore not paid
InsufficientCredits
insufficient_credits
Error sent when you do not have enough credits to run the search
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