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

# Findymail Integration for AI Agents & Workflows

> Find verified work emails by name, domain, or LinkedIn URL, verify deliverability, reverse-lookup profiles from emails, enrich company data, find employees by job title, look up phone numbers, search technology stacks, and check credit usage.

{/* 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="Findymail logo" width="72" height="72" data-path="logos/placeholder.svg" />

## Overview

Add **Findymail** to any ModuleX agent or workflow. Find and verify B2B emails, phones, employees, and company data against the Findymail REST API (`app.findymail.com`).

<Info>
  **Categories**: Sales · Enrichment · Sales Engagement · **Auth**: API Key · **Actions**: 11
</Info>

## Authentication

### API Key Authentication

Authenticate using your Findymail API key

<Steps>
  <Step title="Step 1">
    Sign in at [https://app.findymail.com](https://app.findymail.com)
  </Step>

  <Step title="Step 2">
    Open the API page in your dashboard
  </Step>

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

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

#### Required Credentials

| Field             | Description                                        | Required | Format |
| ----------------- | -------------------------------------------------- | -------- | ------ |
| Findymail API Key | Your Findymail API key from the dashboard API page | Yes      | `-`    |

## Available Actions

<AccordionGroup>
  <Accordion title="find_email_from_name — Find someone's email from their name and a company domain or company name. Uses one finder credit when a verified email is found.">
    ### Parameters

    <ResponseField name="name" type="string" required>
      Person's full name (e.g., 'John Doe')
    </ResponseField>

    <ResponseField name="domain" type="string" required>
      Company domain (preferred) or company name (e.g., stripe.com)
    </ResponseField>

    ### Response

    ```json theme={null}
    {
      "$defs": {
        "Contact": {
          "additionalProperties": false,
          "description": "A contact discovered by an email-finder action.",
          "properties": {
            "name": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Name"
            },
            "email": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Email"
            },
            "domain": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Domain"
            }
          },
          "title": "Contact",
          "type": "object"
        }
      },
      "additionalProperties": false,
      "properties": {
        "success": {
          "title": "Success",
          "type": "boolean"
        },
        "error": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Error"
        },
        "contact": {
          "anyOf": [
            {
              "$ref": "#/$defs/Contact"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        }
      },
      "required": [
        "success"
      ],
      "title": "FindEmailFromNameOutput",
      "type": "object"
    }
    ```
  </Accordion>

  <Accordion title="find_email_from_linkedin — Find someone's email from a LinkedIn profile URL or username. Uses one finder credit when a verified email is found.">
    ### Parameters

    <ResponseField name="linkedin_url" type="string" required>
      Person's LinkedIn URL or username (e.g., '[https://linkedin.com/in/johndoe](https://linkedin.com/in/johndoe)' or 'johndoe')
    </ResponseField>

    ### Response

    ```json theme={null}
    {
      "$defs": {
        "Contact": {
          "additionalProperties": false,
          "description": "A contact discovered by an email-finder action.",
          "properties": {
            "name": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Name"
            },
            "email": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Email"
            },
            "domain": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Domain"
            }
          },
          "title": "Contact",
          "type": "object"
        }
      },
      "additionalProperties": false,
      "properties": {
        "success": {
          "title": "Success",
          "type": "boolean"
        },
        "error": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Error"
        },
        "contact": {
          "anyOf": [
            {
              "$ref": "#/$defs/Contact"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        }
      },
      "required": [
        "success"
      ],
      "title": "FindEmailFromLinkedinOutput",
      "type": "object"
    }
    ```
  </Accordion>

  <Accordion title="find_emails_by_domain — Find verified contacts at a given domain matching one or more target roles (max 3 roles).">
    ### Parameters

    <ResponseField name="domain" type="string" required>
      Company domain (e.g., stripe.com)
    </ResponseField>

    <ResponseField name="roles" type="array" required>
      Target roles at the company (max 3, e.g., \["CEO", "Founder"])
    </ResponseField>

    ### Response

    ```json theme={null}
    {
      "$defs": {
        "Contact": {
          "additionalProperties": false,
          "description": "A contact discovered by an email-finder action.",
          "properties": {
            "name": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Name"
            },
            "email": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Email"
            },
            "domain": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Domain"
            }
          },
          "title": "Contact",
          "type": "object"
        }
      },
      "additionalProperties": false,
      "properties": {
        "success": {
          "title": "Success",
          "type": "boolean"
        },
        "error": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Error"
        },
        "contacts": {
          "items": {
            "$ref": "#/$defs/Contact"
          },
          "title": "Contacts",
          "type": "array"
        }
      },
      "required": [
        "success"
      ],
      "title": "FindEmailsByDomainOutput",
      "type": "object"
    }
    ```
  </Accordion>

  <Accordion title="verify_email — Verify the deliverability of an email address. Uses one verifier credit.">
    ### Parameters

    <ResponseField name="email" type="string" required>
      Email address to verify (e.g., [john@example.com](mailto:john@example.com))
    </ResponseField>

    ### Response

    ```json theme={null}
    {
      "additionalProperties": false,
      "properties": {
        "success": {
          "title": "Success",
          "type": "boolean"
        },
        "error": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Error"
        },
        "email": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Email"
        },
        "verified": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Verified"
        },
        "provider": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Provider"
        }
      },
      "required": [
        "success"
      ],
      "title": "VerifyEmailOutput",
      "type": "object"
    }
    ```
  </Accordion>

  <Accordion title="reverse_email_lookup — Find a business profile from an email address. Uses 1 finder credit if a profile is found, 2 credits if returning full profile data.">
    ### Parameters

    <ResponseField name="email" type="string" required>
      Work or personal email address to look up
    </ResponseField>

    <ResponseField name="with_profile" type="boolean">
      Whether to return enriched profile metadata (default: false) (Default: `false`)
    </ResponseField>

    ### Response

    ```json theme={null}
    {
      "additionalProperties": false,
      "properties": {
        "success": {
          "title": "Success",
          "type": "boolean"
        },
        "error": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Error"
        },
        "email": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Email"
        },
        "linkedin_url": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Linkedin Url"
        },
        "full_name": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Full Name"
        },
        "username": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Username"
        },
        "headline": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Headline"
        },
        "job_title": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Job Title"
        },
        "summary": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Summary"
        },
        "city": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "City"
        },
        "region": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Region"
        },
        "country": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Country"
        },
        "company_linkedin_url": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Company Linkedin Url"
        },
        "company_name": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Company Name"
        },
        "company_website": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Company Website"
        },
        "is_premium": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Is Premium"
        },
        "is_open_profile": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Is Open Profile"
        },
        "skills": {
          "items": {},
          "title": "Skills",
          "type": "array"
        },
        "jobs": {
          "items": {},
          "title": "Jobs",
          "type": "array"
        },
        "educations": {
          "items": {},
          "title": "Educations",
          "type": "array"
        },
        "certificates": {
          "items": {},
          "title": "Certificates",
          "type": "array"
        }
      },
      "required": [
        "success"
      ],
      "title": "ReverseEmailLookupOutput",
      "type": "object"
    }
    ```
  </Accordion>

  <Accordion title="get_company — Retrieve company information from a LinkedIn URL, domain, or company name (provide at least one). Uses 1 finder credit per successful response.">
    ### Parameters

    <ResponseField name="linkedin_url" type="string">
      Company LinkedIn URL (e.g., [https://www.linkedin.com/company/stripe/](https://www.linkedin.com/company/stripe/))
    </ResponseField>

    <ResponseField name="domain" type="string">
      Company domain (e.g., stripe.com)
    </ResponseField>

    <ResponseField name="name" type="string">
      Company name (e.g., Stripe)
    </ResponseField>

    ### Response

    ```json theme={null}
    {
      "additionalProperties": false,
      "properties": {
        "success": {
          "title": "Success",
          "type": "boolean"
        },
        "error": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Error"
        },
        "name": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Name"
        },
        "domain": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Domain"
        },
        "company_size": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Company Size"
        },
        "industry": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Industry"
        },
        "linkedin_url": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Linkedin Url"
        },
        "description": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Description"
        }
      },
      "required": [
        "success"
      ],
      "title": "GetCompanyOutput",
      "type": "object"
    }
    ```
  </Accordion>

  <Accordion title="find_employees — Find employees at a company by website and target job titles. Uses 1 credit per found contact. Does not return email addresses.">
    ### Parameters

    <ResponseField name="website" type="string" required>
      Company website or domain (e.g., google.com)
    </ResponseField>

    <ResponseField name="job_titles" type="array" required>
      Target job titles to search for (max 10, e.g., \["Software Engineer", "CEO"])
    </ResponseField>

    <ResponseField name="count" type="integer">
      Number of contacts to return (max 5, default 1)
    </ResponseField>

    ### Response

    ```json theme={null}
    {
      "$defs": {
        "Employee": {
          "additionalProperties": false,
          "description": "A person returned by ``find_employees``.",
          "properties": {
            "name": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Name"
            },
            "linkedin_url": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Linkedin Url"
            },
            "company_website": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Company Website"
            },
            "company_name": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Company Name"
            },
            "job_title": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Job Title"
            }
          },
          "title": "Employee",
          "type": "object"
        }
      },
      "additionalProperties": false,
      "properties": {
        "success": {
          "title": "Success",
          "type": "boolean"
        },
        "error": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Error"
        },
        "employees": {
          "items": {
            "$ref": "#/$defs/Employee"
          },
          "title": "Employees",
          "type": "array"
        }
      },
      "required": [
        "success"
      ],
      "title": "FindEmployeesOutput",
      "type": "object"
    }
    ```
  </Accordion>

  <Accordion title="find_phone — Find someone's phone number from a LinkedIn profile URL. Uses 10 finder credits if a phone is found. EU citizens are excluded for legal reasons.">
    ### Parameters

    <ResponseField name="linkedin_url" type="string" required>
      Person's LinkedIn URL or username (e.g., '[https://linkedin.com/in/johndoe](https://linkedin.com/in/johndoe)' or 'johndoe')
    </ResponseField>

    ### Response

    ```json theme={null}
    {
      "additionalProperties": false,
      "properties": {
        "success": {
          "title": "Success",
          "type": "boolean"
        },
        "error": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Error"
        },
        "phone": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Phone"
        },
        "line_type": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Line Type"
        }
      },
      "required": [
        "success"
      ],
      "title": "FindPhoneOutput",
      "type": "object"
    }
    ```
  </Accordion>

  <Accordion title="search_technologies — Search the technology catalog by name. Returns up to 25 technologies. Free endpoint, rate limited to 10 requests per minute.">
    ### Parameters

    <ResponseField name="q" type="string" required>
      Search term (min 2 characters, e.g., "React")
    </ResponseField>

    ### Response

    ```json theme={null}
    {
      "$defs": {
        "Technology": {
          "additionalProperties": false,
          "description": "A technology returned by the technology endpoints.",
          "properties": {
            "name": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Name"
            },
            "category": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Category"
            },
            "subcategory": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Subcategory"
            },
            "last_detected_at": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Last Detected At"
            }
          },
          "title": "Technology",
          "type": "object"
        }
      },
      "additionalProperties": false,
      "properties": {
        "success": {
          "title": "Success",
          "type": "boolean"
        },
        "error": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Error"
        },
        "technologies": {
          "items": {
            "$ref": "#/$defs/Technology"
          },
          "title": "Technologies",
          "type": "array"
        }
      },
      "required": [
        "success"
      ],
      "title": "SearchTechnologiesOutput",
      "type": "object"
    }
    ```
  </Accordion>

  <Accordion title="lookup_technologies — Get the technology stack for a company by domain. Optionally filter by technology names. 1 finder credit if technologies are found, free otherwise.">
    ### Parameters

    <ResponseField name="domain" type="string" required>
      Company domain to look up (e.g., stripe.com)
    </ResponseField>

    <ResponseField name="technologies" type="array">
      Filter by technology names, case-insensitive (e.g., \["React", "TypeScript"])
    </ResponseField>

    ### Response

    ```json theme={null}
    {
      "$defs": {
        "Technology": {
          "additionalProperties": false,
          "description": "A technology returned by the technology endpoints.",
          "properties": {
            "name": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Name"
            },
            "category": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Category"
            },
            "subcategory": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Subcategory"
            },
            "last_detected_at": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Last Detected At"
            }
          },
          "title": "Technology",
          "type": "object"
        }
      },
      "additionalProperties": false,
      "properties": {
        "success": {
          "title": "Success",
          "type": "boolean"
        },
        "error": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Error"
        },
        "domain": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Domain"
        },
        "technologies": {
          "items": {
            "$ref": "#/$defs/Technology"
          },
          "title": "Technologies",
          "type": "array"
        }
      },
      "required": [
        "success"
      ],
      "title": "LookupTechnologiesOutput",
      "type": "object"
    }
    ```
  </Accordion>

  <Accordion title="get_credits — Retrieve the remaining finder and verifier credits for the authenticated account.">
    ### Response

    ```json theme={null}
    {
      "additionalProperties": false,
      "properties": {
        "success": {
          "title": "Success",
          "type": "boolean"
        },
        "error": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Error"
        },
        "credits": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Credits"
        },
        "verifier_credits": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Verifier Credits"
        }
      },
      "required": [
        "success"
      ],
      "title": "GetCreditsOutput",
      "type": "object"
    }
    ```
  </Accordion>
</AccordionGroup>

## Limits & Quotas

* **Credits**: finder and verifier credits are consumed per successful
  lookup (e.g. verify = 1 verifier credit, find email = 1 finder credit on a
  match, find phone = 10 finder credits on a match). Use `get_credits` to
  check the remaining balance.
* **Rate limits**: `find_emails_by_domain` is limited to 5 concurrent
  synchronous requests; `search_technologies` is limited to \~10 requests per
  minute.
* **Error model**: non-2xx responses and timeouts 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="Enrow" href="/integrations/tools/enrow" />

  <Card title="Icypeas" href="/integrations/tools/icypeas" />

  <Card title="NeverBounce" href="/integrations/tools/neverbounce" />
</CardGroup>

## Links

* [Findymail](https://www.findymail.com)
