Skip to main content
Version: Next

Bulk search

Icypeas provides you a route to launch your bulk search without going to the app!
When using the API, you have to provide:

  • the name of your bulk search so that you can find it later on;
  • the task to execute on the data;
  • the data you want to analyze;
caution

We put limits on the data that we can handle.
Each bulk search launched from the API can not contain more than 5000 items!

The data array should contain rows with three elements:

  1. The firstname
  2. The lastname
  3. The domain or company name

Firstname and/or lastname are optional. You need to put at least one of them, e.g.:
["John", "", "icypeas.com"]

Here is a request for an email-search:

{
"task": "email-search",
"name": "My cool email discovery",
"data": [
["John", "Doe", "icypeas.com"],
["Charline", "Lestelle", "Google"],
["", "Avocado", "yelp.fr"],
["Jeanine", "", "Comodoro LLC"]
]
}

Email-Verification (task email-verification):

The data array should contain rows with one element: The email address.

Here is a request for an email-verification:

{
"task": "email-verification",
"name": "My cool email verification",
"data": [
["john.doe@icypeas.com"],
["charline.lestelle@google.com"],
["jeanine@comodoro.com"],
]
}

The data array should contain rows with one element: The domain or company name.

Here is a request for an domain-search:

{
"task": "domain-search",
"name": "My cool domain scan",
"data": [
["icypeas.com"],
["google.com"],
["yelp.fr"],
["Comodoro LLC"],
]
}

Using my own ids

Sometimes it is easier to pass your own ids for each item you want to analyze. To do that, you need to use the custom object:

{
"task": "domain-search",
"name": "My cool domain scan",
"data": [
["icypeas.com"],
["google.com"],
["yelp.fr"],
["Comodoro LLC"],
],
"custom": {
"externalIds": ["my-row-1", "my-row-2", "my-row-3", "my-row-4"]
}
}

You externalIds array should have the same length as your data array. We do not check your IDs to see if they are uniq, you need to take care of that.

POSThttps://app.icypeas.com/api/bulk-search
Start a new bulk search from the API.
BODY PARAMS
user*string(has to be a userId)

Your account's unique ID.

name*string

Name of the bulk search you are creating.

task*string(has to be either 'domain-search', 'email-search' or 'email-verification')

The type of bulk search you want to do.

data*array

Emails, prospects or domains you want to analyze.

row*array

Each row you want to be analyzed. If you are doing an 'email-search' you should have 3 items in each row.In other modes it's only 1 item.

customobject

Custom object for passing custom webhooks and/or custom ids that will be added to each row

webhookUrlItemurl

Custom webhook to be called each time a row is processed. It will be give you the result for this row. Please see the related section on the 'Push notifications' to see what the request will look like.

webhookUrlBulkDoneurl

Custom webhook to be called when the whole bulk search is processed. It will give statistics about your bulk search, not the results. Please see the related section on the 'Push notifications' to see what the request will look like.

externalIdsarray

Array of strings. Each id should correspond to each row in your data array. So, if provided, the length of externalIds should match the length of your data array. We do not check for the uniqueness of your IDs, you are responsible of that.

includeResultsInWebhookboolean

If provided, we add the results of your search directly in the webhook called at the end of the bulk. Please if your bulk search has more than 1000 items, make sure you have properly configured your webhook and server to accept large POST requests. If not, do not use this option.

/bulk-search
{
"user": "#USERID#",
"name": "Icypeas Prospects to analyze",
"task": "email-search",
"data": [
[
"John",
"Doe",
"icypeas.com"
],
[
"John",
"Doe",
"Icypeas"
]
]
}
RESPONSES