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

# Leadsforge

Leadsforge provides lead search, company discovery, and contact enrichment APIs for sales prospecting workflows.

- **Category:** ai sales tools
- **Auth:** API_KEY
- **Composio-managed OAuth available?** N/A
- **Tools:** 32
- **Triggers:** 0
- **Slug:** `LEADSFORGE`
- **Version:** 00000000_00

## Tools

### Count Leads

**Slug:** `LEADSFORGE_COUNT_LEADS`

Count people matching Leadsforge person and company filters without returning lead records. Charge behavior is undocumented; do not assume this action is free. Authenticated behavior has not been live-verified.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `lead_ids` | object | No | Leadsforge person IDs to include or exclude. |
| `company_ids` | object | No | Leadsforge company IDs to include or exclude. |
| `lead_tenure` | object | No | Lead tenure bounds. |
| `company_names` | object | No | Company name terms to include or exclude. |
| `company_types` | object | No | Exact company-type values to include or exclude. |
| `company_niches` | object | No | Company niche terms to include or exclude. |
| `exclude_emails` | array | No | Email addresses to exclude from the count. |
| `lead_languages` | object | No | Languages to include or exclude and whether to match only the primary language. |
| `lead_locations` | object | No | Canonical lead-location tokens to include or exclude. |
| `company_domains` | object | No | Company domains to include or exclude. |
| `exclude_domains` | array | No | Company domains to exclude from the count. |
| `lead_job_titles` | object | No | Job-title terms to include or exclude, with optional exact matching. |
| `company_keywords` | object | No | Company keywords with optional all-values matching. |
| `company_required` | boolean | No | Whether every matching lead must have a company. |
| `lead_departments` | object | No | Exact lead department values to include or exclude. |
| `lead_seniorities` | object | No | Exact seniority values to include or exclude. |
| `company_locations` | object | No | Company location terms to include or exclude. |
| `company_industries` | object | No | Exact case-sensitive industry values to include or exclude. |
| `company_technologies` | object | No | Technologies where any and/or all listed values should match. |
| `exclude_linkedin_urls` | array | No | LinkedIn profile URLs to exclude from the count. |
| `company_funding_rounds` | object | No | Funding-round values to include or exclude. |
| `company_revenue_ranges` | array | No | Exact provider revenue-category values to match. |
| `company_business_models` | object | No | Business-model values to include or exclude. |
| `max_contacts_per_company` | integer | No | Maximum contacts counted per company (0-100). |
| `company_founded_year_range` | object | No | Company founding-year bounds. |
| `company_employee_number_range` | object | No | Company employee-count bounds. |
| `company_years_in_business_range` | object | No | Company age-in-years bounds. |

#### 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:** `LEADSFORGE_FIND_MOBILE_PHONE`

Find one person's mobile phone number synchronously using a Leadsforge person ID, LinkedIn URL, or name plus a company signal. The result contains sensitive personal contact data and is discovery, not phone verification. A successful hit costs 10 credits; a miss is documented free. Retries may repeat a charged lookup because provider deduplication is undocumented.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `company` | string | No | Company name for a name-based lookup when a domain is unavailable. |
| `last_name` | string | No | Person's last name; use with first_name and a company signal. |
| `person_id` | string | No | Leadsforge person ID returned by Search Leads. |
| `first_name` | string | No | Person's first name; use with last_name and a company signal. |
| `external_id` | string | No | Caller correlation value echoed in the response; maximum 128 characters. |
| `linkedin_url` | string | No | Person's LinkedIn profile URL. |
| `company_domain` | string | No | Preferred company identity signal for a name-based lookup. |

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

**Slug:** `LEADSFORGE_FIND_WORK_EMAIL`

Find one person's work email synchronously from a Leadsforge person ID, LinkedIn URL, or full name plus a company signal. The result contains sensitive personal data. Leadsforge documents a cost of 1 credit when an email is found and no charge on a miss. This performs discovery, not email verification. Retry charging or deduplication is undocumented, so avoid automatic retries.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `company` | string | No | Company name for a name-based lookup when a domain is unavailable. |
| `last_name` | string | No | Person's last name; use with first_name and a company signal. |
| `person_id` | string | No | Leadsforge person ID returned by Search Leads. |
| `first_name` | string | No | Person's first name; use with last_name and a company signal. |
| `external_id` | string | No | Caller correlation value, up to 128 characters, echoed in the response. |
| `linkedin_url` | string | No | Person's LinkedIn profile URL. |
| `company_domain` | string | No | Preferred company identity signal for a name-based lookup. |

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

**Slug:** `LEADSFORGE_GET_BALANCE`

Return available and reserved credits plus current enrichment and company-discovery prices. Use this non-mutating read as a safe credential check. Leadsforge does not document a per-call charge for this endpoint, but that does not establish that it is free.

#### 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 Company Follower Filter Values

**Slug:** `LEADSFORGE_GET_COMPANY_FOLLOWER_FILTER_VALUES`

Return supported countries, departments, seniority levels, or states accepted by START_COMPANY_FOLLOWER_SEARCH. These static reads are not documented as charged. Select one filter family per call.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `filter` | string ("countries" | "departments" | "levels" | "states") | Yes | Static company-follower filter family to retrieve. |

#### 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 Company Follower Job

**Slug:** `LEADSFORGE_GET_COMPANY_FOLLOWER_JOB`

Get one company-follower job's status, progress, company context, credit accounting, result path, and webhook metadata. This reads one snapshot and does not poll; call it again later while status is in_progress, then use List Company Follower Results. This read is not documented as charged, but is not represented as free.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `job_id` | string | Yes | Company-follower job ID returned by Start Company Follower Search or List Company Follower Jobs. |

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

**Slug:** `LEADSFORGE_GET_ENRICHMENT_JOB`

Get the current status, progress, credit accounting, result URL, and webhook metadata for one asynchronous enrichment job. This reads one snapshot and does not poll; call it again later while the job remains in progress, then use List Enrichment Results when it completes.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `job_id` | string | Yes | Enrichment job ID returned by a bulk discovery action or List Enrichment Jobs. |

#### 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 Lookalike Filter Values

**Slug:** `LEADSFORGE_GET_LOOKALIKE_FILTER_VALUES`

Return controlled departments, employee ranges, locations, or seniorities accepted by Leadsforge company lookalike preview and search.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `filter` | string ("departments" | "employee_ranges" | "locations" | "seniorities") | Yes | Lookalike filter-value family to retrieve. |

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

**Slug:** `LEADSFORGE_GET_MAPS_CATEGORIES`

Return Leadsforge's curated Google Maps business categories recommended for Start Maps Business Search. The start action also accepts free-text categories. This read is not documented as charged, but is not represented as free.

#### 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 Maps Owner Job

**Slug:** `LEADSFORGE_GET_MAPS_OWNER_JOB`

Get one snapshot of a Maps owner-enrichment job's lifecycle status, business progress, owner count, credit accounting, acceptance outcomes, result and status URLs, and webhook metadata. This does not poll. Keep checking while status is in_progress, then use List Maps Owner Results. A completed job can still contain an error when contact backfill stopped early because credits ran out. Status reads are not documented as charged, but are not represented as free.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `job_id` | string | Yes | Maps owner job ID returned by Start Maps Owner Enrichment or recovery. |

#### 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 Maps Search Job

**Slug:** `LEADSFORGE_GET_MAPS_SEARCH_JOB`

Get one local-business Maps search job's current status, search inputs, found count, credit accounting, result and status URLs, and webhook metadata. This reads one snapshot and does not poll automatically.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `job_id` | string | Yes | Maps search job ID returned by start or recovery. |

#### 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 Search Filter Values

**Slug:** `LEADSFORGE_GET_SEARCH_FILTER_VALUES`

Return the exact controlled values accepted by SEARCH_LEADS for company types, departments, funding types, revenue ranges, or seniorities. Industries use the separate searchable and paginated industry-values action.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `filter` | string ("company_types" | "departments" | "funding_types" | "revenue_ranges" | "seniorities") | Yes | Controlled-value family to retrieve. |

#### 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 Company Follower Jobs

**Slug:** `LEADSFORGE_LIST_COMPANY_FOLLOWER_JOBS`

List and recover company-follower jobs, newest first, with optional lifecycle status, client request ID, and RFC3339 time filters. Use this when a Start Company Follower Search job ID is unknown. Returns one native offset page; advance offset explicitly. This read is not documented as charged, but is not represented as free.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `limit` | integer | Yes | Number of jobs to return. The documented maximum is 100; no minimum is documented. |
| `offset` | integer | No | Native job offset. Leadsforge documents no minimum value. |
| `status` | string ("in_progress" | "completed" | "failed" | "no_results") | No | Filter by company-follower job lifecycle status. |
| `to_time` | string | No | Created-at upper bound in RFC3339 format. |
| `from_time` | string | No | Inclusive created-at lower bound in RFC3339 format. |
| `client_request_id` | string | No | Filter by the caller-supplied correlation 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 |

### List Company Follower Results

**Slug:** `LEADSFORGE_LIST_COMPANY_FOLLOWER_RESULTS`

Return one native offset-controlled page of sensitive LinkedIn follower profiles for a company-follower job. Handle and disclose personal profile data appropriately. Advance offset explicitly using the returned page; no cursor, page-size bound, or default is invented. This read is not documented as charged, but is not represented as free.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `limit` | integer | No | Native page size. Leadsforge documents no default or numeric bound for this endpoint. |
| `job_id` | string | Yes | Company-follower job ID. |
| `offset` | integer | No | Native result offset. Leadsforge documents no minimum value. |

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

**Slug:** `LEADSFORGE_LIST_ENRICHMENT_JOBS`

List and recover enrichment jobs, newest first, with optional lifecycle status, channel, client request ID, and RFC3339 time filters. Use this when a bulk email, phone, or LinkedIn job ID is unknown. Pagination uses the provider's native offset and required limit parameters.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `limit` | integer | Yes | Number of jobs to return. The documented maximum is 100; no minimum is documented. |
| `offset` | integer | No | Native job offset. Leadsforge documents no minimum value. |
| `status` | string ("in_progress" | "completed" | "failed") | No | Filter jobs by lifecycle status. |
| `channel` | string ("email" | "phone" | "linkedin") | No | Filter by email, phone, or LinkedIn enrichment channel. |
| `to_time` | string | No | Created-at upper bound in RFC3339 format. |
| `from_time` | string | No | Inclusive created-at lower bound in RFC3339 format. |
| `client_request_id` | string | No | Filter by the caller-supplied clientRequestID. |

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

**Slug:** `LEADSFORGE_LIST_ENRICHMENT_RESULTS`

Return one native offset-controlled page of results for an enrichment job. The response can contain sensitive personal and contact data, including channel-specific fields in payload; handle and disclose it appropriately. Supply the returned offset plus the number of results as the next offset when more results remain. Reading results is not documented as charged, but is not represented as free.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `limit` | integer | Yes | Number of results to return. The provider requires this value but documents no numeric bound. |
| `job_id` | string | Yes | Completed or in-progress enrichment job ID. |
| `offset` | integer | No | Native result offset. The provider documents no minimum. |

#### 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 Maps Owner Jobs

**Slug:** `LEADSFORGE_LIST_MAPS_OWNER_JOBS`

List and recover Maps owner-enrichment jobs, newest first, using optional status, client request ID, and RFC3339 time filters. This returns one native offset page and does not poll or fetch additional pages. Recovery reads are not documented as charged, but are not represented as free.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `limit` | integer | Yes | Number of owner jobs to return. The documented maximum is 100. |
| `offset` | integer | No | Native job offset. Leadsforge documents no minimum. |
| `status` | string ("in_progress" | "completed" | "failed" | "no_results") | No | Filter owner jobs by lifecycle status. |
| `to_time` | string | No | Created-at upper bound in RFC3339 format. |
| `from_time` | string | No | Inclusive created-at lower bound in RFC3339 format. |
| `client_request_id` | string | No | Filter by the caller-supplied correlation 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 |

### List Maps Owner Results

**Slug:** `LEADSFORGE_LIST_MAPS_OWNER_RESULTS`

Return one native offset page of sensitive owner and contact records for a Maps owner-enrichment job. Results can be read while processing continues; email and phone statuses settle only after the job completes. Handle and disclose returned personal data appropriately. Reading results is not documented as charged, but is not represented as free. This action does not automatically fetch additional pages.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `limit` | integer | No | Owner leads to return. Leadsforge defaults to 50 and allows at most 200. |
| `job_id` | string | Yes | Maps owner job ID. |
| `offset` | integer | No | Native result offset. Leadsforge documents no bounds. |

#### 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 Maps Search Jobs

**Slug:** `LEADSFORGE_LIST_MAPS_SEARCH_JOBS`

List and recover local-business Maps search jobs, newest first, using status, client request ID, and RFC3339 time filters. Returns one native offset/limit page; use offset and total to request later pages.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `limit` | integer | Yes | Number of jobs to return, maximum 100. No minimum is documented. |
| `offset` | integer | No | Native job offset. Leadsforge documents no minimum. |
| `status` | string ("in_progress" | "completed" | "failed" | "no_results") | No | Filter by Maps search-job status. |
| `to_time` | string | No | Created-at upper bound in RFC3339 format. |
| `from_time` | string | No | Inclusive created-at lower bound in RFC3339 format. |
| `client_request_id` | string | No | Filter by the caller-supplied correlation 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 |

### List Maps Search Results

**Slug:** `LEADSFORGE_LIST_MAPS_SEARCH_RESULTS`

Return one native offset/limit page of public business records found by a Maps search, including business addresses, domains, and public business phone numbers. The provider classifies this business-discovery response as not sensitive personal data. Pages are readable while the job runs and are complete only after job completion; do not assume an in-progress total is final or auto-fetch all pages.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `limit` | integer | No | Businesses per page. Provider default 50 and maximum 200; no minimum is documented. |
| `job_id` | string | Yes | Maps search job ID. |
| `offset` | integer | No | Native result offset, maximum 5000. No minimum is documented. |

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

**Slug:** `LEADSFORGE_PREVIEW_LOOKALIKE_COMPANIES`

Return a documented free, uncharged preview of companies similar to 1-10 source domains, optionally filtered by categories, employee ranges, funding stages, and typed locations. Returns companies only, not people.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `domains` | array | Yes | Source company domains (1-10). |
| `locations` | array | No | Typed location IDs from GET_LOOKALIKE_FILTER_VALUES. |
| `categories` | array | No | Optional category filters. |
| `funding_stages` | array | No | Optional funding-stage filters. |
| `employee_ranges` | array | No | Employee-range values from GET_LOOKALIKE_FILTER_VALUES. |

#### 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 Company Follower Job Titles

**Slug:** `LEADSFORGE_SEARCH_COMPANY_FOLLOWER_JOB_TITLES`

Search one native page of supported job-title values accepted by START_COMPANY_FOLLOWER_SEARCH. Supply page and page_size to fetch another page; this action does not automatically fetch additional pages.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Native page number, starting at 1. |
| `search` | string | No | Optional job-title search text. |
| `page_size` | integer | No | Job-title values to return per page (1-20). |

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

**Slug:** `LEADSFORGE_SEARCH_INDUSTRY_VALUES`

Search and page the exact case-sensitive industry values accepted by SEARCH_LEADS.company_industries. Use the native offset and limit fields to request additional pages.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `limit` | integer | Yes | Number of industry values to return (1-100). |
| `offset` | integer | No | Native result offset. The provider documents no minimum. |
| `search` | string | No | Optional text used to search industry values. |

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

**Slug:** `LEADSFORGE_SEARCH_LEADS`

Search people with Leadsforge person and company filters and return one cursor-controlled page of lead identities, roles, LinkedIn URLs, locations, company data, and filter warnings. Results contain sensitive personal data. Charge behavior is undocumented and authenticated behavior is unverified.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `limit` | integer | No | Maximum leads in this page (1-2000). |
| `cursor` | string | No | Provider cursor returned by a previous Search Leads call. Pass it unchanged; omit it for the first page. A 410 means the cursor expired, is invalid, or the maximum result count was reached. |
| `lead_ids` | object | No | Leadsforge person IDs to include or exclude. |
| `company_ids` | object | No | Leadsforge company IDs to include or exclude. |
| `lead_tenure` | object | No | Lead tenure bounds. |
| `company_names` | object | No | Company name terms to include or exclude. |
| `company_types` | object | No | Exact company-type values to include or exclude. |
| `company_niches` | object | No | Company niche terms to include or exclude. |
| `exclude_emails` | array | No | Email addresses to exclude from the search results. |
| `lead_languages` | object | No | Languages to include or exclude and whether to match only the primary language. |
| `lead_locations` | object | No | Canonical lead-location tokens to include or exclude; normalize uncertain input first. |
| `company_domains` | object | No | Company domains to include or exclude; returned lookalike domains can be used here. |
| `exclude_domains` | array | No | Company domains to exclude from the search results. |
| `lead_job_titles` | object | No | Job-title terms to include or exclude, with optional exact matching. |
| `company_keywords` | object | No | Company keywords with optional all-values matching. |
| `company_required` | boolean | No | Whether every returned lead must have a company. |
| `lead_departments` | object | No | Exact lead department values to include or exclude. |
| `lead_seniorities` | object | No | Exact seniority values to include or exclude. |
| `company_locations` | object | No | Company location terms to include or exclude. |
| `company_industries` | object | No | Exact case-sensitive industry values to include or exclude. |
| `company_technologies` | object | No | Technologies where any and/or all listed values should match. |
| `exclude_linkedin_urls` | array | No | LinkedIn profile URLs to exclude from the search results. |
| `company_funding_rounds` | object | No | Funding types to include or exclude; discover exact values first. |
| `company_revenue_ranges` | array | No | Exact provider revenue categories from Get Search Filter Values. |
| `company_business_models` | object | No | Business-model values to include or exclude. |
| `max_contacts_per_company` | integer | No | Maximum contacts returned per company (0-100). |
| `company_founded_year_range` | object | No | Company founding-year bounds. |
| `company_employee_number_range` | object | No | Company employee-count bounds. |
| `company_years_in_business_range` | object | No | Company age-in-years bounds. |

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

**Slug:** `LEADSFORGE_SEARCH_LOOKALIKE_COMPANIES`

Run a billable paged search for companies similar to 1-10 source domains. This costs 1 credit per company returned; credits are reserved before the search and settled against actual results. Use Preview Lookalike Companies first. Supply page and page_size to fetch one native page; this action does not automatically fetch additional pages.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Native result page (1-100). |
| `domains` | array | Yes | Source company domains (1-10). |
| `locations` | array | No | Typed location IDs from Get Lookalike Filter Values. |
| `page_size` | integer | No | Companies to return per page (1-100). |
| `categories` | array | No | Optional company category filters. |
| `funding_stages` | array | No | Optional company funding-stage filters. |
| `employee_ranges` | array | No | Employee-range values from Get Lookalike Filter Values. |
| `idempotency_key` | string | No | Stable key for a true retry. Reusing it returns the original result without charging again; use a new key for a new 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 |

### Start Bulk Email Discovery

**Slug:** `LEADSFORGE_START_BULK_EMAIL_DISCOVERY`

Start a billable asynchronous work-email discovery job for 1-500 unique people or Leadsforge person IDs. The job handles sensitive personal data and may reserve or consume credits. It returns a job ID; follow it with Get Enrichment Job and List Enrichment Results, or recover a lost job with List Enrichment Jobs. Setting save_to_list persists results to a Leadsforge list. An optional webhook receives completion or failure events and may be redelivered for up to 24 hours with a stable delivery ID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `people` | array | No | Unique person identity objects (1-500). Mutually exclusive with person_ids. Duplicate identities can cause external IDs to be discarded. |
| `person_ids` | array | No | Unique Leadsforge person IDs from Search Leads (1-500). Mutually exclusive with people. |
| `webhook_url` | string | No | Optional completion or failure webhook URL. Leadsforge may retry failed delivery for up to 24 hours. |
| `save_to_list` | boolean | No | Whether Leadsforge should save the discovered email results to a list. |
| `idempotency_key` | string | No | Stable key for retrying the same billable job request without intentionally creating another job. Use a new key for a new job. |
| `client_request_id` | string | No | Caller job-correlation ID that can be used to recover the job later. |

#### 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 Bulk LinkedIn Discovery

**Slug:** `LEADSFORGE_START_BULK_LINKEDIN_DISCOVERY`

Start a billable asynchronous LinkedIn-profile discovery job for 1-500 unique people or Leadsforge person IDs. The job handles sensitive personal data and may reserve or consume credits. It returns a job ID; follow it with Get Enrichment Job and List Enrichment Results, or recover a lost job with List Enrichment Jobs. Setting save_to_list persists discovered profiles to a Leadsforge list. An optional webhook receives completion or failure events and may be redelivered for up to 24 hours with a stable delivery ID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `people` | array | No | Unique person identity objects (1-500). Mutually exclusive with person_ids. Duplicate identities can cause external IDs to be discarded. |
| `person_ids` | array | No | Unique Leadsforge person IDs from Search Leads (1-500). Mutually exclusive with people. |
| `webhook_url` | string | No | Optional completion or failure webhook URL. Leadsforge may retry failed delivery for up to 24 hours. |
| `save_to_list` | boolean | No | Whether Leadsforge should save the discovered LinkedIn profiles to a list. |
| `idempotency_key` | string | No | Stable key for retrying the same billable job request without intentionally creating another job. Use a new key for a new job. |
| `client_request_id` | string | No | Caller job-correlation ID that can be used to recover the job later. |

#### 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 Bulk Phone Discovery

**Slug:** `LEADSFORGE_START_BULK_PHONE_DISCOVERY`

Start a billable asynchronous phone-number discovery job for 1-500 unique people or Leadsforge person IDs. The job handles sensitive personal data and may reserve or consume credits. It returns a job ID; follow it with Get Enrichment Job and List Enrichment Results, or recover a lost job with List Enrichment Jobs. Setting save_to_list persists results to a Leadsforge list. An optional webhook receives completion or failure events and may be redelivered for up to 24 hours with a stable delivery ID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `people` | array | No | Unique person identity objects (1-500). Mutually exclusive with person_ids. Duplicate identities can cause external IDs to be discarded. |
| `person_ids` | array | No | Unique Leadsforge person IDs from Search Leads (1-500). Mutually exclusive with people. |
| `webhook_url` | string | No | Optional completion or failure webhook URL. Leadsforge may retry failed delivery for up to 24 hours. |
| `save_to_list` | boolean | No | Whether Leadsforge should save the discovered phone results to a list. |
| `idempotency_key` | string | No | Stable key for retrying the same billable job request without intentionally creating another job. Use a new key for a new job. |
| `client_request_id` | string | No | Caller job-correlation ID that can be used to recover the job later. |

#### 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 Company Follower Search

**Slug:** `LEADSFORGE_START_COMPANY_FOLLOWER_SEARCH`

Start a billable asynchronous search of followers of one LinkedIn company page, optionally filtered by supported geography, department, title, and seniority values. The job handles sensitive personal data and reserves or may consume company-follower credits; Get Balance reports the current unit price. It returns a job snapshot; follow with Get Company Follower Job and List Company Follower Results, or recover a lost ID with List Company Follower Jobs. An optional webhook receives completion or failure events and may be redelivered for up to 24 hours with a stable delivery ID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `limit` | integer | Yes | Maximum number of followers to process (1-50000). |
| `levels` | array | No | Supported seniority levels from Get Company Follower Filter Values. |
| `states` | array | No | Supported state or region values from Get Company Follower Filter Values. |
| `countries` | array | No | Supported country values from Get Company Follower Filter Values. |
| `job_titles` | array | No | Supported titles from Search Company Follower Job Titles. |
| `departments` | array | No | Supported department values from Get Company Follower Filter Values. |
| `webhook_url` | string | No | Completion or failure webhook URL. Leadsforge POSTs JSON, treats 2xx as success, retries a failed delivery immediately, and may redeliver for up to 24 hours with the same X-Webhook-Delivery-Id. Deduplicate deliveries using that header. The payload omits companyLogoUrl; fetch it with Get Company Follower Job. |
| `linkedin_url` | string | Yes | LinkedIn company-page URL whose followers should be searched. |
| `idempotency_key` | string | No | Stable key for safely retrying the same billable job request. Reusing it returns the existing account job; use a new key to start a new search. |
| `client_request_id` | string | No | Caller correlation ID that can be used to recover the job later. |

#### 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 Maps Business Search

**Slug:** `LEADSFORGE_START_MAPS_BUSINESS_SEARCH`

Start a billable asynchronous Google Maps business search. Leadsforge reserves credits for the requested limit and settles them for businesses found. Every search creates a Leadsforge list named 'Public API: Local Businesses'. It returns a job ID for Get Maps Search Job, List Maps Search Results, or recovery with List Maps Search Jobs. An optional webhook receives completion or failure events and is retried up to 10 times with exponential backoff until a 2xx response.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `lat` | number | No | Search-center latitude (-90 to 90). Coordinates are not required by Swagger. |
| `lng` | number | No | Search-center longitude (-180 to 180). Coordinates are not required by Swagger. |
| `limit` | integer | Yes | Maximum businesses to find (1-5000), used for credit reservation. |
| `language` | string | No | Optional language code, maximum 10 characters. |
| `radius_km` | number | Yes | Search radius in kilometers, maximum 500. No minimum is documented. |
| `categories` | array | Yes | OR-combined business categories (1-100). Curated values from Get Maps Categories and free-text values are accepted. |
| `webhook_url` | string | No | Completion or failure webhook URL. Leadsforge retries delivery up to 10 times with exponential backoff until a 2xx response. |
| `idempotency_key` | string | No | Stable key for a true retry; reuse returns the existing job. Use a new key for a logically new search. |
| `client_request_id` | string | No | Caller correlation ID that can be used to recover the search job. |

#### 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 Maps Owner Enrichment

**Slug:** `LEADSFORGE_START_MAPS_OWNER_ENRICHMENT`

Start billable asynchronous owner discovery for 1-200 businesses from one Maps search job, requesting up to 1-8 owners per business and optional email or phone enrichment. Credits are reserved from the requested upper bound and settled per contact found; no-owner and recently cached businesses are documented as uncharged. This handles sensitive owner contact data, may use the standard contact waterfall, and may POST lifecycle events to webhook_url. Only one owner job per search can be in progress. Follow the returned job with Get Maps Owner Job and List Maps Owner Results, or recover it with List Maps Owner Jobs.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `want_email` | boolean | No | Whether to enrich owner email contacts. The provider makes this optional. |
| `want_phone` | boolean | No | Whether to enrich owner phone contacts. The provider makes this optional. |
| `max_results` | integer | Yes | Maximum owners to seek per business (1-8). Leadsforge uses this value when reserving the job's credit upper bound. |
| `webhook_url` | string | No | Optional URL that receives a completion, failure, or no-results webhook. The provider documents the payload but not a retry count for this operation. |
| `business_ids` | array | Yes | Business IDs from List Maps Search Results (1-200). Missing or unowned businesses are reported as skipped instead of failing the job. |
| `search_job_id` | string | Yes | Maps search job that owns the selected businesses. |
| `idempotency_key` | string | No | Stable key for retrying the same owner job. Reusing the key returns the existing account job; use a new key for a logically new job. |
| `client_request_id` | string | No | Caller correlation ID that can be used to recover the owner job. |

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

### Suggest Lead Locations

**Slug:** `LEADSFORGE_SUGGEST_LEAD_LOCATIONS`

Resolve a location string to canonical region-level tokens that match people and can be passed to SEARCH_LEADS.lead_locations.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `limit` | integer | No | Maximum number of suggestions to return. The provider default is 5. |
| `search` | string | Yes | Location name or misspelled or foreign region text to normalize. |

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