> ## Documentation Index
> Fetch the complete documentation index at: https://docs.modulex.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Dropcontact Integration for AI Agents & Workflows

> Verify and enrich B2B contacts. Submit a contact with their name, company, website, or LinkedIn URL and receive a verified professional email, phone number, company firmographics, and LinkedIn profile. Enrichment is asynchronous: the request is submitted and polled until the result is ready. Credits are only charged when a verified email is returned.

{/* Self-hosted logo — build-time vendored from modulex.json / Iconify (see scripts/lib/logo.js). */}

<img src="https://mintcdn.com/modulexaillc/df8MOr-hXotYLTh5/logos/placeholder.svg?fit=max&auto=format&n=df8MOr-hXotYLTh5&q=85&s=a4046f9cd6d738c81259050e9833913c" alt="Dropcontact logo" width="72" height="72" data-path="logos/placeholder.svg" />

## Overview

Add **Dropcontact** to any ModuleX agent or workflow. GDPR-compliant B2B contact enrichment against the Dropcontact REST API (`api.dropcontact.com`). Submit a partial contact and receive a verified professional email, phone number, company firmographics, and LinkedIn profile.

<Info>
  **Categories**: Sales · CRM · Enrichment · **Auth**: API Key · **Actions**: 1
</Info>

## Authentication

### API Key Authentication

Authenticate using your Dropcontact API key

<Steps>
  <Step title="Step 1">
    Sign in to your Dropcontact account at [https://app.dropcontact.com](https://app.dropcontact.com)
  </Step>

  <Step title="Step 2">
    Open the 'API & Integrations' settings
  </Step>

  <Step title="Step 3">
    Copy your personal API key
  </Step>

  <Step title="Step 4">
    Paste the API key below
  </Step>
</Steps>

#### Required Credentials

| Field               | Description                                                  | Required | Format |
| ------------------- | ------------------------------------------------------------ | -------- | ------ |
| Dropcontact API Key | Your Dropcontact API key (sent as the X-Access-Token header) | Yes      | `-`    |

## Available Actions

<AccordionGroup>
  <Accordion title="enrich_contact — Enrich a contact with verified B2B email, phone, company data, and LinkedIn info via Dropcontact. Submits an async enrichment request, then polls until the result is ready (up to 2 minutes). Charges 1 credit only when a verified email is returned. Provide at least one of: email, first_name + last_name + company, full_name + company, or a LinkedIn URL.">
    ### Parameters

    <ResponseField name="email" type="string">
      Email address of the contact to enrich
    </ResponseField>

    <ResponseField name="first_name" type="string">
      First name of the contact
    </ResponseField>

    <ResponseField name="last_name" type="string">
      Last name of the contact
    </ResponseField>

    <ResponseField name="full_name" type="string">
      Full name (alternative to first\_name + last\_name)
    </ResponseField>

    <ResponseField name="company" type="string">
      Company name
    </ResponseField>

    <ResponseField name="website" type="string">
      Company website (e.g. acme.com)
    </ResponseField>

    <ResponseField name="num_siren" type="string">
      French company SIREN number
    </ResponseField>

    <ResponseField name="phone" type="string">
      Phone number
    </ResponseField>

    <ResponseField name="linkedin" type="string">
      LinkedIn profile URL
    </ResponseField>

    <ResponseField name="country" type="string">
      Country code (ISO 3166-1 alpha-2, e.g. "US", "FR")
    </ResponseField>

    <ResponseField name="siren" type="boolean">
      Include SIREN/SIRET enrichment (France only) (Default: `false`)
    </ResponseField>

    <ResponseField name="language" type="string">
      Language for returned data (e.g. "en", "fr")
    </ResponseField>

    ### Response

    ```json theme={null}
    {
      "$defs": {
        "EmailEntry": {
          "additionalProperties": false,
          "description": "A single email address with its deliverability qualification.",
          "properties": {
            "email": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Email"
            },
            "qualification": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Qualification"
            }
          },
          "title": "EmailEntry",
          "type": "object"
        }
      },
      "additionalProperties": false,
      "description": "Flat enriched-contact result returned by ``enrich_contact``.",
      "properties": {
        "success": {
          "title": "Success",
          "type": "boolean"
        },
        "error": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Error"
        },
        "request_id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Request Id"
        },
        "email_found": {
          "default": false,
          "title": "Email Found",
          "type": "boolean"
        },
        "email": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Email"
        },
        "emails": {
          "items": {
            "$ref": "#/$defs/EmailEntry"
          },
          "title": "Emails",
          "type": "array"
        },
        "qualification": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Qualification"
        },
        "first_name": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "First Name"
        },
        "last_name": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Last Name"
        },
        "full_name": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Full Name"
        },
        "civility": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Civility"
        },
        "phone": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Phone"
        },
        "mobile_phone": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Mobile Phone"
        },
        "company": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Company"
        },
        "website": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Website"
        },
        "company_linkedin": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Company Linkedin"
        },
        "linkedin": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Linkedin"
        },
        "country": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Country"
        },
        "siren": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Siren"
        },
        "siret": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Siret"
        },
        "siret_address": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Siret Address"
        },
        "siret_zip": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Siret Zip"
        },
        "siret_city": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Siret City"
        },
        "vat": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Vat"
        },
        "nb_employees": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Nb Employees"
        },
        "employee_count": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Employee Count"
        },
        "naf5_code": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Naf5 Code"
        },
        "naf5_des": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Naf5 Des"
        },
        "industry": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Industry"
        },
        "job": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Job"
        },
        "job_level": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Job Level"
        },
        "job_function": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Job Function"
        },
        "company_turnover": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Company Turnover"
        },
        "company_results": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Company Results"
        }
      },
      "required": [
        "success"
      ],
      "title": "EnrichContactOutput",
      "type": "object"
    }
    ```
  </Accordion>
</AccordionGroup>

## Limits & Quotas

* **Rate limit**: \~60 requests/second per the vendor docs.
* **Async enrichment**: requests are processed asynchronously; the tool
  polls every 5 seconds for up to 2 minutes before giving up.
* **Pay on success**: a credit is consumed only when a verified email
  is returned — no charge when no email is found.
* **Error model**: non-2xx responses, an API error flag, timeouts, and
  an expired polling window are caught and returned as `success=False`
  * `error` rather than raising. Plan retries on the agent side based on
    the error string.

## Related integrations

<CardGroup cols={3}>
  <Card title="Clay" href="/integrations/tools/clay" />

  <Card title="Brandfetch" href="/integrations/tools/brandfetch" />

  <Card title="Enrow" href="/integrations/tools/enrow" />
</CardGroup>

## Links

* [Dropcontact](https://www.dropcontact.com)
