---
canonical_url: "https://docs.composio.dev/toolkits/ai_ark"
markdown_url: "https://docs.composio.dev/toolkits/ai_ark.md"
product: "platform"
version: null
last_updated: null
---

# AI Ark

AI Ark provides people and company search, contact enrichment, and recruiting intelligence APIs.

- **Category:** hr talent & recruitment
- **Auth:** API_KEY
- **Composio-managed OAuth available?** N/A
- **Tools:** 19
- **Triggers:** 0
- **Slug:** `AI_ARK`
- **Version:** 00000000_00

## Tools

### Analyze Personality

**Slug:** `AI_ARK_ANALYZE_PERSONALITY`

Infer DISC and OCEAN personality assessments plus selling and hiring outreach guidance from one person's LinkedIn profile. This costs 4 AI Ark credits per request and returns sensitive algorithmic inferences, not verified or objective facts.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `linkedin_url` | string | Yes | Full HTTPS LinkedIn person-profile URL with an /in/<profile> path. |

#### 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 |

### Create or Update List

**Slug:** `AI_ARK_CREATE_OR_UPDATE_LIST`

Create or mutate a temporary people/company exclusion list for free. Lists expire after 24 hours, hold at most 10,000 values, and are limited to 50 new lists per day. APPEND merges values; REPLACE irreversibly overwrites the complete prior list. Omitting list_id creates a list, and an unknown list_id can also create new state.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `mode` | string ("APPEND" | "REPLACE") | No | APPEND merges values into the list. REPLACE irreversibly overwrites all prior values. |
| `values` | array | Yes | Person or company IDs to store. At most 10,000 values; the provider allows an empty array. |
| `list_id` | string | No | Existing temporary list ID to update. Omit to create a list. An unknown ID creates new list state instead of failing. |
| `list_type` | string ("people_id" | "company_id") | No | Provider ID kind stored by the list. Required when list_id is omitted; allowed but not required when updating an existing ID. |

#### 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 |

### Enrich Person with Email

**Slug:** `AI_ARK_ENRICH_PERSON_WITH_EMAIL`

Enrich one person by AI Ark person ID or LinkedIn URL with a full profile and provider email-verification metadata. This returns sensitive personal profile and email data and is an enrichment action, not a standalone email verifier. It costs 1 credit only when a valid email is found and 0 credits otherwise.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `person_id` | string | No | AI Ark person ID from a people search or preview result. When both identifiers are supplied, AI Ark tries this ID first. |
| `linkedin_url` | string | No | Full HTTPS LinkedIn person-profile URL used when person_id is absent or does not resolve. |

#### 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 Mobile Phone

**Slug:** `AI_ARK_FIND_MOBILE_PHONE`

Find candidate mobile phone numbers for one person from a LinkedIn URL or from a company domain plus full name. A found result costs 5 AI Ark credits; a no-result response costs 0 credits. The response contains sensitive personal phone numbers ordered by provider confidence, and AI Ark does not document them as verified.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `full_name` | string | No | Person's full name. Supply it together with company_domain and without linkedin_url. |
| `linkedin_url` | string | No | Full HTTPS LinkedIn person-profile URL. Use this alone, or omit it and provide both company_domain and full_name. |
| `company_domain` | string | No | Company domain. Supply it together with full_name and without linkedin_url. |

#### 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 |

### Get Credit Balance

**Slug:** `AI_ARK_GET_CREDITS`

Return the connected AI Ark account's remaining credit balance for free; this is the only action safe to use for credential validation.

#### 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 |

### Get Email Finder Status

**Slug:** `AI_ARK_GET_EMAIL_FINDER_STATUS`

Make one free status request for an email-finder job and return its state and total/found counts. This action does not poll internally or start another billable lookup; call it again only when another status check is needed.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `track_id` | string | Yes | Email-finder job track ID returned by START_EMAIL_FINDER. |

#### 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 |

### Get People Export Status

**Slug:** `AI_ARK_GET_PEOPLE_EXPORT_STATUS`

Make one free status request for a bulk people-export job and return its state, total/found/success/failed counts, and webhook metadata. This action does not poll internally; call it again only when another status snapshot is needed.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `track_id` | string | Yes | People-export job track ID returned by START_PEOPLE_EXPORT. |

#### 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 |

### List Email Finder Results

**Slug:** `AI_ARK_LIST_EMAIL_FINDER_RESULTS`

Return one free page of an email-finder job's results without waiting for completion. Entries still in PROCESSING state are preserved alongside completed entries. The response can contain sensitive personal email addresses, lookup inputs, and full provider verification and MX metadata.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Zero-based result page to return. |
| `size` | integer | No | Maximum result entries to return on this page. |
| `track_id` | string | Yes | Email-finder job track ID returned by START_EMAIL_FINDER. |

#### 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 |

### List Email Finder Submissions

**Slug:** `AI_ARK_LIST_EMAIL_FINDER_SUBMISSIONS`

Return one free page of the connected AI Ark customer's email-finder submission history, including job states and refund details. The provider automatically scopes results to the authenticated API key; callers control filters, repeated sort criteria, and pagination, and this action makes one request without polling or automatic pagination.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Zero-based submission-history page to return. |
| `size` | integer | No | Number of submission summaries to return on this page. |
| `sort` | array | No | Provider property names to sort by, for example created. Each item is sent as a repeated sort query parameter. The live API rejects the documented direction suffix form such as created,desc. |
| `state` | string ("PENDING" | "SETTLED") | No | Filter submissions by lifecycle state. |
| `fully_refunded` | boolean | No | Filter by whether the submission was fully refunded. |

#### 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 |

### List People Export Results

**Slug:** `AI_ARK_LIST_PEOPLE_EXPORT_RESULTS`

Return one free page of a completed bulk people export. The response contains sensitive full person and company profiles and personal emails with provider verification metadata. This action does not poll internally; a still-processing export returns 409, so check GET_PEOPLE_EXPORT_STATUS until its state is DONE before trying again.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Zero-based result page to return. |
| `size` | integer | No | Number of people to return on this page. |
| `track_id` | string | Yes | Track ID returned by START_PEOPLE_EXPORT. |

#### 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 |

### List People Export Submissions

**Slug:** `AI_ARK_LIST_PEOPLE_EXPORT_SUBMISSIONS`

List the authenticated API token's own people-export submission and refund history for free. Results are automatically scoped to the caller's customer account and this action returns one explicitly selected page without polling.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Zero-based submission-history page to return. |
| `size` | integer | No | Number of submission-history items to return on this page. |
| `sort` | array | No | Provider property names to sort by, for example created. Each list item is sent as a separate sort query parameter. The live API rejects the documented direction suffix form such as created,desc. |
| `state` | string ("PENDING" | "SETTLED") | No | Filter submissions by lifecycle state. |
| `fully_refunded` | boolean | No | Filter by whether AI Ark fully refunded the submission. |

#### 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 |

### Look Up Person by Email

**Slug:** `AI_ARK_LOOK_UP_PERSON_BY_EMAIL`

Identify and return a sensitive, detailed personal and employment profile from an email address. AI Ark charges 0.5 credits per request, including when no profile is found. This action does not verify the input email and does not return a mobile number.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `email` | string | Yes | Email address used to identify the person. AI Ark does not verify this email, and this action does not accept phone numbers. |

#### 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 |

### Preview People

**Slug:** `AI_ARK_PREVIEW_PEOPLE`

Return one page of masked people and full company matches for 1 credit per page. The preview contains no email or phone data and its trackId is null, so it cannot start email finding.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | Yes | Required zero-based result page to return. |
| `size` | integer | Yes | Required records requested on this page. Each page costs 1 credit regardless of size. |
| `lists` | object | No | Temporary people-list IDs whose members should be excluded. |
| `account` | object | No | Typed company filters to combine with person filters. |
| `contact` | object | No | Typed person filters for the preview. |

#### 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 |

### Resend Email Finder Webhook

**Slug:** `AI_ARK_RESEND_EMAIL_FINDER_WEBHOOK`

Irreversibly resend one email-finder completion payload to a caller-selected public HTTPS webhook. This free action externally discloses sensitive verified personal emails, may target a different URL from the original submission, and must not be retried after an ambiguous outcome. Success is reported only when AI Ark explicitly confirms delivery.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `track_id` | string | Yes | Track ID of the completed AI Ark job whose webhook should be resent. |
| `webhook_url` | string | Yes | Public HTTPS URL that will receive the job's sensitive completion payload. This may differ from the original webhook URL. |

#### 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 |

### Resend People Export Webhook

**Slug:** `AI_ARK_RESEND_PEOPLE_EXPORT_WEBHOOK`

Irreversibly resend one completed bulk people export to a caller-selected public HTTPS webhook. This free action externally discloses sensitive full profiles and verified personal emails, may target a different URL from the original submission, and must not be retried after an ambiguous outcome. Success is reported only when AI Ark explicitly confirms delivery.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `track_id` | string | Yes | Track ID of the completed AI Ark job whose webhook should be resent. |
| `webhook_url` | string | Yes | Public HTTPS URL that will receive the job's sensitive completion payload. This may differ from the original webhook URL. |

#### 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 |

### Search Companies

**Slug:** `AI_ARK_SEARCH_COMPANIES`

Return one zero-based page of companies using typed company, employee, list, and lookalike filters. Each returned company costs 0.1 AI Ark credits. Lookalike search accepts 1-5 domains or LinkedIn company URLs, page must be 0 or greater, size must be 1-100, and the result set is capped at 10,000 matches.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | Yes | Required zero-based result page. Results are limited to the first 10,000 matches. |
| `size` | integer | Yes | Required companies requested on this page (1-100); each returned company costs 0.1 credits. |
| `lists` | object | No | Temporary company-list IDs whose companies should be excluded. |
| `account` | object | No | Company filters, including employee title, seniority, and department criteria. |
| `lookalike_domains` | array | No | One to five company domains or LinkedIn company URLs used to find similar 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 |

### Search People

**Slug:** `AI_ARK_SEARCH_PEOPLE`

Return one page of full people and company profiles. This search costs 0.5 credits per returned person and does not return email addresses or phone numbers, but its personal and employment profile data is sensitive. The returned provider trackId (exposed as track_id) can be used once to start email finding and expires 6 hours after this search.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | Yes | Required zero-based result page to return. |
| `size` | integer | Yes | Required maximum people to return on this page. Each returned person costs 0.5 credits. |
| `lists` | object | No | Temporary people-list IDs whose members should be excluded. |
| `account` | object | No | Company filters for matching people. |
| `contact` | object | No | Person profile and employment 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 |

### Start Email Finder

**Slug:** `AI_ARK_START_EMAIL_FINDER`

Consume a People Search track ID exactly once, within 6 hours of the search, to start email finding. A required external HTTPS webhook receives sensitive personal email results. This costs 1 credit per valid email found and 0 credits for people without a valid email. Use GET_EMAIL_FINDER_STATUS to monitor the job and LIST_EMAIL_FINDER_RESULTS to retrieve partial or completed results.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `track_id` | string | Yes | Single-use track ID returned by SEARCH_PEOPLE. Submit it exactly once within 6 hours of the search; this action consumes it. |
| `webhook_url` | string | Yes | Public HTTPS URL that receives the completed email-finder results, which contain sensitive personal email 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 |

### Start People Export

**Slug:** `AI_ARK_START_PEOPLE_EXPORT`

Irreversibly start one paid asynchronous export of up to 10,000 matching people and deliver full personal profiles with real-time verified emails to a required external HTTPS webhook. AI Ark charges 0.5 credits per exported person plus 0.5 credits per valid email found, so the explicit maximum charge is size credits. Do not retry an ambiguous outcome because a duplicate submission can incur another charge and external delivery.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | Yes | Required zero-based starting search page for the export. |
| `size` | integer | Yes | Required total people to export. The maximum possible charge for this invocation is exactly size credits. |
| `lists` | object | No | Temporary people-list IDs whose members should be excluded. |
| `account` | object | No | Company filters for matching people. |
| `contact` | object | No | Person profile and employment filters. |
| `webhook_url` | string | Yes | Public HTTPS URL that receives the completed bulk export containing sensitive personal profiles and verified emails. |

#### 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 |
