{
  "id": "hunterio.email-finder",
  "object": "tool",
  "name": "Find Person's Email",
  "summary": "Find the most likely email address from a person's name and their company.",
  "description": "Resolve a person (first/last or full name, or a LinkedIn handle) at a company (domain or name) into their most likely email address. Returns the address with a 0-100 confidence score, job title, company, LinkedIn/Twitter handles, phone number when known, public source URLs (up to 20), and an automatic deliverability verification (valid / accept_all / unknown). Supports a max_duration knob (3-20s) to trade latency for accuracy. A no-find returns email: null and costs nothing. Suited for contact discovery, outreach list building, and completing a known person into a reachable address. To list every address on the company's domain, pass the domain to /domain-search.\n\nRaw hunterio#email-finder endpoint: input is { body, queryParams, pathParams } as the provider documents them (https://hunter.io/api-documentation/v2#email-finder).",
  "category": "lookup",
  "hosted_by": "Hunter",
  "runtime": "partner",
  "side_effects": false,
  "status": "live",
  "credits": 0,
  "price": null,
  "providers": [
    {
      "id": "hunterio",
      "name": "Hunter",
      "price": null,
      "own_key_only": true
    }
  ],
  "mcp_name": "hunterio_email-finder",
  "input_schema": {
    "type": "object",
    "properties": {
      "queryParams": {
        "anyOf": [
          {
            "type": "object",
            "properties": {
              "domain": {
                "type": "string",
                "minLength": 1,
                "description": "Domain name, e.g. 'stripe.com'. Preferred over company — it skips the name-to-domain conversion."
              },
              "company": {
                "type": "string",
                "minLength": 3,
                "description": "Company name, e.g. 'Stripe'. When both company and domain are given, domain wins."
              },
              "linkedin_handle": {
                "type": "string",
                "minLength": 1,
                "description": "LinkedIn profile handle of the person. When given, the name fields are optional."
              },
              "first_name": {
                "type": "string",
                "minLength": 1,
                "description": "The person's first name."
              },
              "last_name": {
                "type": "string",
                "minLength": 1,
                "description": "The person's last name."
              },
              "full_name": {
                "type": "string",
                "minLength": 1,
                "description": "The person's full name. first_name + last_name gives better results when available."
              },
              "max_duration": {
                "type": "integer",
                "minimum": 3,
                "maximum": 20,
                "description": "Max seconds upstream may spend refining the result (3-20, default 10). Longer is more accurate."
              }
            },
            "required": [
              "linkedin_handle"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "domain": {
                "type": "string",
                "minLength": 1,
                "description": "Domain name, e.g. 'stripe.com'. Preferred over company — it skips the name-to-domain conversion."
              },
              "company": {
                "type": "string",
                "minLength": 3,
                "description": "Company name, e.g. 'Stripe'. When both company and domain are given, domain wins."
              },
              "linkedin_handle": {
                "type": "string",
                "minLength": 1,
                "description": "LinkedIn profile handle of the person. When given, the name fields are optional."
              },
              "first_name": {
                "type": "string",
                "minLength": 1,
                "description": "The person's first name."
              },
              "last_name": {
                "type": "string",
                "minLength": 1,
                "description": "The person's last name."
              },
              "full_name": {
                "type": "string",
                "minLength": 1,
                "description": "The person's full name. first_name + last_name gives better results when available."
              },
              "max_duration": {
                "type": "integer",
                "minimum": 3,
                "maximum": 20,
                "description": "Max seconds upstream may spend refining the result (3-20, default 10). Longer is more accurate."
              }
            },
            "required": [
              "domain",
              "first_name",
              "last_name"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "domain": {
                "type": "string",
                "minLength": 1,
                "description": "Domain name, e.g. 'stripe.com'. Preferred over company — it skips the name-to-domain conversion."
              },
              "company": {
                "type": "string",
                "minLength": 3,
                "description": "Company name, e.g. 'Stripe'. When both company and domain are given, domain wins."
              },
              "linkedin_handle": {
                "type": "string",
                "minLength": 1,
                "description": "LinkedIn profile handle of the person. When given, the name fields are optional."
              },
              "first_name": {
                "type": "string",
                "minLength": 1,
                "description": "The person's first name."
              },
              "last_name": {
                "type": "string",
                "minLength": 1,
                "description": "The person's last name."
              },
              "full_name": {
                "type": "string",
                "minLength": 1,
                "description": "The person's full name. first_name + last_name gives better results when available."
              },
              "max_duration": {
                "type": "integer",
                "minimum": 3,
                "maximum": 20,
                "description": "Max seconds upstream may spend refining the result (3-20, default 10). Longer is more accurate."
              }
            },
            "required": [
              "domain",
              "full_name"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "domain": {
                "type": "string",
                "minLength": 1,
                "description": "Domain name, e.g. 'stripe.com'. Preferred over company — it skips the name-to-domain conversion."
              },
              "company": {
                "type": "string",
                "minLength": 3,
                "description": "Company name, e.g. 'Stripe'. When both company and domain are given, domain wins."
              },
              "linkedin_handle": {
                "type": "string",
                "minLength": 1,
                "description": "LinkedIn profile handle of the person. When given, the name fields are optional."
              },
              "first_name": {
                "type": "string",
                "minLength": 1,
                "description": "The person's first name."
              },
              "last_name": {
                "type": "string",
                "minLength": 1,
                "description": "The person's last name."
              },
              "full_name": {
                "type": "string",
                "minLength": 1,
                "description": "The person's full name. first_name + last_name gives better results when available."
              },
              "max_duration": {
                "type": "integer",
                "minimum": 3,
                "maximum": 20,
                "description": "Max seconds upstream may spend refining the result (3-20, default 10). Longer is more accurate."
              }
            },
            "required": [
              "company",
              "first_name",
              "last_name"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "domain": {
                "type": "string",
                "minLength": 1,
                "description": "Domain name, e.g. 'stripe.com'. Preferred over company — it skips the name-to-domain conversion."
              },
              "company": {
                "type": "string",
                "minLength": 3,
                "description": "Company name, e.g. 'Stripe'. When both company and domain are given, domain wins."
              },
              "linkedin_handle": {
                "type": "string",
                "minLength": 1,
                "description": "LinkedIn profile handle of the person. When given, the name fields are optional."
              },
              "first_name": {
                "type": "string",
                "minLength": 1,
                "description": "The person's first name."
              },
              "last_name": {
                "type": "string",
                "minLength": 1,
                "description": "The person's last name."
              },
              "full_name": {
                "type": "string",
                "minLength": 1,
                "description": "The person's full name. first_name + last_name gives better results when available."
              },
              "max_duration": {
                "type": "integer",
                "minimum": 3,
                "maximum": 20,
                "description": "Max seconds upstream may spend refining the result (3-20, default 10). Longer is more accurate."
              }
            },
            "required": [
              "company",
              "full_name"
            ],
            "additionalProperties": false
          }
        ],
        "description": "Identify the company (domain, company, or linkedin_handle) and the person (first_name + last_name, or full_name — optional with linkedin_handle)."
      }
    },
    "required": [],
    "additionalProperties": false
  },
  "kind": "endpoint"
}