# Icypeas

Icypeas is an email discovery and verification tool that allows users to find and verify professional email addresses using first name, last name, and company domain.

- **Category:** email
- **Auth:** API_KEY
- **Composio Managed App Available?** N/A
- **Tools:** 22
- **Triggers:** 0
- **Slug:** `ICYPEAS`
- **Version:** 20260312_00

## Tools

### Bulk Email Search

**Slug:** `ICYPEAS_BULK_EMAIL_SEARCH`

Initiate a bulk email search job to find professional email addresses for multiple people at once. Use this tool when you need to find emails for more than one person. Provide names (first and/or last) along with company domains or names. The API queues the job and returns a file identifier that can be used with 'Fetch Bulk Search Info' and 'Retrieve Search Results' to check progress and get results. Rate limit: 1 request per second. Maximum 5000 rows per bulk request.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | array | Yes | List of rows to search. Each row is a 3-element array: [firstname, lastname, domainOrCompany]. At least one of firstname or lastname must be provided (the other can be null). domainOrCompany can be either a domain (e.g., 'google.com') or company name (e.g., 'Google Inc'). Maximum 5000 rows per request. |
| `name` | string | Yes | A descriptive name for this bulk search job. Used to identify the job in the Icypeas dashboard and API responses. |
| `task` | string | No | Task type. Must be 'email-search' for bulk email lookups. |
| `custom` | object | No | Extra options for webhook callbacks and tracking per row. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Find Profile URLs Bulk

**Slug:** `ICYPEAS_BULK_FIND_PROFILE_URLS`

Tool to perform bulk search for profile URLs based on firstname, lastname, and company/domain or job title. Use when you need to find LinkedIn or other social profile URLs for multiple prospects at once (up to 50 per request). This endpoint returns immediate results with profile URLs. Each result includes the found URL (or empty string if not found), a search ID, and a status indicator.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | array | Yes | List of profiles to search. Maximum 50 items per request. |
| `type` | string | No | Type of bulk URL search. Must be 'profile' for profile URL search. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Bulk Reverse Email Lookup

**Slug:** `ICYPEAS_BULK_REVERSE_EMAIL_LOOKUP`

Tool to find LinkedIn profile URLs for multiple professional email addresses in a single request. Use when you need to reverse lookup 2-50 email addresses to find their associated LinkedIn profiles. Each lookup costs 10 credits per found profile. Returns results immediately (not async like other bulk operations).

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | array | Yes | Array of professional email addresses to look up. Minimum 2 addresses, maximum 50 addresses per request. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Scrape Bulk

**Slug:** `ICYPEAS_BULK_SCRAPE`

Tool to scrape multiple LinkedIn profiles or companies in bulk (up to 50 per request). Use when you need to scrape multiple LinkedIn URLs at once. Returns a job ID that can be used with check_progress to fetch results.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | array | Yes | Array of LinkedIn URLs to scrape. Maximum 50 URLs per request. For profiles: use LinkedIn profile URLs (e.g., https://www.linkedin.com/in/username). For companies: use LinkedIn company URLs (e.g., https://www.linkedin.com/company/companyname). |
| `type` | string ("profile" | "company") | Yes | The type of data to scrape. Use 'profile' for LinkedIn profiles or 'company' for LinkedIn companies. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Check Search Progress

**Slug:** `ICYPEAS_CHECK_PROGRESS`

Check the processing progress of a search by its ID. Use this tool after initiating a single or bulk search to monitor its status. For mode='single': Checks progress of individual search items via /bulk-single-searchs/read endpoint. For mode='bulk': Checks progress of bulk search files via /search-files/read endpoint. Poll this endpoint periodically until 'finished' is True or item status is 'DEBITED'. Note: ICYPEAS recommends using webhooks instead of polling for production use.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | The ID to check: for mode='single', the search item ID (_id); for mode='bulk', the bulk file ID. |
| `mode` | string ("single" | "bulk") | Yes | Mode of progress check: 'single' for individual search items, 'bulk' for bulk file progress. |
| `next` | boolean | No | Pagination direction: true to fetch the next page, false to fetch the previous page. |
| `type` | string ("email-search" | "domain-scan" | "email-verification") | No | (mode='single' only) Filter results by task type. |
| `limit` | integer | No | Maximum number of records to fetch per page. For single mode: max 100, default 10. For bulk mode: max 50, default 10. |
| `sorts` | array | No | Pagination cursor from a previous response. Required when navigating to next/previous pages. |
| `status` | string ("in_progress" | "done") | No | (mode='bulk' only) Filter bulk files by processing status. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Count Companies

**Slug:** `ICYPEAS_COUNT_COMPANIES`

Tool to count companies in Icypeas database matching specified filters without returning data or being charged. Use when you need to know how many companies match specific criteria like industry, location, or headcount.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `query` | object | Yes | Search filters object containing various field filters. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Count People

**Slug:** `ICYPEAS_COUNT_PEOPLE`

Tool to count people matching specified filters without retrieving data or consuming credits. Use when you need to assess the size of a people search result set before running the actual query.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `query` | object | Yes | Search filters: include/exclude lists per field. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Domain Scan

**Slug:** `ICYPEAS_DOMAIN_SCAN`

Tool to scan a domain for role-based email addresses. Use when you need to discover all role-based emails for a specific domain.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `custom` | object | No | Optional customization parameters for the scan |
| `domainOrCompany` | string | Yes | The domain or company name to scan for role-based email addresses |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Fetch Bulk Search Info

**Slug:** `ICYPEAS_FETCH_BULK_SEARCH_INFO`

Retrieve bulk search files with their status and progress. Lists all bulk searches (email, profile, company searches) with pagination support. Use to monitor bulk operation progress, check completion status, or retrieve file IDs for further operations.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `file` | string | No | Filter results to a specific bulk search file by its unique ID. If provided, only that file's details are returned. |
| `next` | boolean | No | Pagination direction when using 'sorts' cursor. Set to true to get the next page, false for previous page. Requires 'sorts' to be provided. |
| `limit` | integer | No | Maximum number of bulk search files to return per page. Default is 10, maximum is 50. |
| `sorts` | array | No | Pagination cursor obtained from the 'sorts' field of a previous response. Use with 'next_page' to navigate through results. |
| `status` | string ("in_progress" | "done") | No | Filter by search status. Use 'in_progress' for running searches or 'done' for completed searches. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Fetch Subscription Information

**Slug:** `ICYPEAS_FETCH_SUBSCRIPTION_INFO`

Retrieves subscription details and remaining credits for an Icypeas account. Use this to check credit balances, subscription status, and user ID before performing searches. The email parameter must match the account owner's email associated with the API key.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `email` | string | Yes | The email address of the Icypeas account owner. This must be the same email associated with the API key being used for authentication. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Find Companies

**Slug:** `ICYPEAS_FIND_COMPANIES`

Tool to search companies in Icypeas database. Use when you need to find companies matching filters like industry, location, or headcount.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `query` | object | Yes | Search filters object containing various field filters. |
| `pagination` | object | No | Pagination parameters for retrieving additional pages of results. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Find Company URL

**Slug:** `ICYPEAS_FIND_COMPANY_URL`

Tool to find a single company profile URL using a company name or domain. Use when you need to initiate a profile-URL search for a given company identifier.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `companyOrDomain` | string | Yes | Either the full company name or its website domain. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Reverse Email Lookup

**Slug:** `ICYPEAS_FIND_LINKEDIN_PROFILE_BY_EMAIL`

Find the LinkedIn profile URL behind a single professional email address. Use when you need to identify the person associated with an email address. Costs 10 credits per found profile.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `email` | string | Yes | A professional email address to look up (e.g., 'john.doe@company.com') |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Find People

**Slug:** `ICYPEAS_FIND_PEOPLE`

Search for people/leads in the Icypeas database. Supports filtering by name, job title, company, location, skills, languages, school, and keywords. Each filter supports include/exclude lists. Returns matching leads with pagination support for large result sets. Requires credits to execute.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `query` | object | Yes | Search filters: include/exclude lists per field. |
| `pagination` | object | No | Pagination settings for multi-page results. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Find Profile URL

**Slug:** `ICYPEAS_FIND_PROFILE_URL`

Finds a person's LinkedIn profile URL using their name and company or job title. Use this tool when you need to find someone's LinkedIn profile URL. Provide the person's first name, last name, and either their company/domain OR job title. Tips for best results: - For company/domain, use the website domain (e.g., 'icypeas.com') or company name - Keep inputs simple - avoid over-specifying details - Costs 1 credit per successful search Example: Find LinkedIn URL for Pierre Landoin at icypeas.com

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `jobTitle` | string | No | Job title of the person to help identify the correct profile (e.g., 'CEO', 'Software Engineer'). Required if companyOrDomain is not provided. |
| `lastname` | string | Yes | Last name of the person to search for (e.g., 'Landoin') |
| `firstname` | string | Yes | First name of the person to search for (e.g., 'Pierre') |
| `companyOrDomain` | string | No | Company name or website domain to narrow the search (e.g., 'icypeas.com' or 'Icypeas'). Required if jobTitle is not provided. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Find Single Email

**Slug:** `ICYPEAS_FIND_SINGLE_EMAIL`

Initiates an asynchronous email search to find a prospect's email address using their name and company. Returns a search item ID that can be used with ICYPEAS_RETRIEVE_SEARCH_RESULTS to get the actual email. Use for individual lookups; for bulk operations, use ICYPEAS_BULK_EMAIL_SEARCH instead.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `custom` | object | No | Optional container for webhook and external tracking data. |
| `lastname` | string | No | Prospect’s last name; required if firstname is omitted |
| `firstname` | string | No | Prospect’s first name; required if lastname is omitted |
| `domainOrCompany` | string | Yes | The person’s company domain or company name |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Statistics Bulk Search

**Slug:** `ICYPEAS_PARSE_BULK_SEARCH_STATISTICS`

Tool to parse bulk search statistics webhook. Use when processing the completion notification of a bulk search.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | Yes | Bulk search summary and details |
| `signature` | string | Yes | HMAC-SHA1 signature of the payload |
| `timestamp` | string | Yes | ISO 8601 timestamp used to compute signature |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Retrieve Search Results

**Slug:** `ICYPEAS_RETRIEVE_SEARCH_RESULTS`

Tool to retrieve the results of a search by ID or to paginate through bulk search results. Use after initiating a search to fetch individual or multiple search results.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | No | _id of the single result (required if mode='single') |
| `file` | string | No | Bulk-file identifier (required if mode='bulk') |
| `mode` | string ("single" | "bulk") | Yes | Choose 'single' for one item or 'bulk' for bulk-file search |
| `next` | boolean | No | Pagination direction: true for next page, false for previous |
| `type` | string ("email-search" | "domain-scan" | "email-verification") | No | Task filter for single-mode only (not allowed when mode='bulk') |
| `limit` | integer | No | Number of results per page (default 10, max 100) |
| `sorts` | array | No | Pagination cursor from previous response |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Scrape Company

**Slug:** `ICYPEAS_SCRAPE_COMPANY`

Tool to initiate scraping of a LinkedIn company page. Use when you have a LinkedIn company URL and need to retrieve company profile data. Returns a job ID that can be used with check_progress to fetch the full results.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `url` | string | Yes | LinkedIn company profile URL to scrape. Must be a valid LinkedIn company URL (e.g., https://www.linkedin.com/company/microsoft). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Scrape Profile

**Slug:** `ICYPEAS_SCRAPE_PROFILE`

Tool to initiate scraping of a LinkedIn profile. Use when you have a public LinkedIn profile URL and need a job ID and status to later fetch full details.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `url` | string | Yes | LinkedIn profile URL to scrape. Must be a valid LinkedIn profile URL (e.g., https://www.linkedin.com/in/username). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Setup Notifications

**Slug:** `ICYPEAS_SETUP_NOTIFICATIONS`

Provides instructions for setting up Icypeas push notifications/webhooks. Use this tool when you need to configure real-time notifications for bulk searches or single search updates. Note: Webhooks must be configured via the Icypeas dashboard; there is no API endpoint for programmatic setup.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Verify Email Address

**Slug:** `ICYPEAS_VERIFY_EMAIL`

Tool to verify if a specific email address exists and is valid. Use when you need to check email deliverability. Returns a verification item ID that can be used with ICYPEAS_RETRIEVE_SEARCH_RESULTS to get the verification result.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `email` | string | Yes | The email address to verify |
| `custom` | object | No | Optional container for webhook and external tracking data. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |
